计算机控制系统8255ADC0809即作业
时间:2023-08-10 08:07:00
计算机控制系统8255ADC0809即作业》由会员分享,可在线阅读,更多相关计算机控制系统8255ADC请在人文库网上搜索0809作业(51页珍藏版)。
1、1. 接口电路的外部特性体现在外部引出信号上。,对于面向CPU一侧信号: 需要弄清楚什么样的方向是什么样的CPU 数据宽度(8/16/32位) 地址总线宽度(16/20/24/32位) 控制线是电平有效还是边沿有效,对于面向外设一侧信号: 了解外设的工作原理和工作特点 正确理解信号的意义 外设种类繁多, 信号差异较大,2. 接口电路芯片分类,支持一般输入/输出和控制的接口芯片。例如: 8212、8255并行接口芯片A、Z80PIO以及8250、8251的串行接口芯片Z80SIO等。例如: 8212、8255并行接口芯片A、Z80PIO以及8250、8251的串行接口芯片Z80SIO等,按功能分类:,一般接口芯片:,面向微机系统的专用接口芯片: 例如:中断控制器8259A, DMA控。
2、制器8237/8257, Z80DMA, 8253/8254定时/计数器。,(3) 面向外设的专用接口芯片: 例如:CRT控制器MC6845,8257;软盘控制器PD765、FD8271/FD8272;8279键盘/显示接口芯片。,(4) 可编程接口电路、可编程接口芯片的功能和工作模式。 初始化程序工作模式而编写的程序段称为接口芯片的初始化程序。,3 并行接口和可编程接口芯片8255A,并行接口传输以8位、16位或32位传输数据,一次传输一个字长的数据。,并行接口电路: *不可编程的并行接口电路 (如74LS744/254三态缓冲器LS2。
3.73/373锁定器 *可编程接口电路 (如 Intel8255A),可编程接口电路通常具有以下功能: 1. 有两个或两个以上锁定器或缓冲器的数据端口;2. 每个数据端口都有CPU以响应方式交换信号所需的控制和状态信息,以及与外设交换信息所需的控制和状态信息;3. 通常,每个数据端口都可以中断CPU交换信息所需的电路;,4. 选片控制电路;,5. 可用程序选择数据端口、数据传输方向、选择和CPU交换信息的方法。,一、8255A内部结构和引脚信号,1. 8255A内部结构,8255A可编程外围设备接口(programmable peripheral inte。
4、rface, 简写为PPI) ,其内部结构如图所示。,8255A内部结构框图,8255A它包括四个部分:数据总线缓冲器、读写控制逻辑A组和B组控制电路A、B、C。,(1) 数据端口A、B、C,端口A包含8位数据输出锁存器/缓冲器和8位数据输入锁存器,所有输入输出数据都被锁定。,端口B和C: 所有这些都包个8位数据输入缓冲器和一个8位数据输出锁/缓冲器,可以锁定输出数据,而不锁定输入数据。 端口C:可分为两个四位端口,分别定义为输入或输出端口,也可定义为控制和状态端口,配合端口A和端口B。,A组和B组,A组,B组的控制寄存器,接收来自数据总线的控制字,并根据控制字确定各端口的工作状。
5.态度和工作方式。,(3) (4)数据总线缓冲器 读写控制逻辑,接收来自CPU向两个控制组发出地址总线信号和控制信号的命令 (AB组)。,2. 8255A的引脚,8255A采用40线双列直插包装,引脚图如图所示。,8255A引脚定义,* PA7PA0:A端口数据信号引脚,* PB7PB0:B端口数据信号引脚,* PC7PC0:C端口数据信号引脚,* D7D0: 8255A的8位数据线,* A1A0: 端口选择信号,当A1A0=00时 选择端口A,当A1A0=01时 选择端口B,当A1A0=10时 选择端口C,当A1A0=11时 选择控制端口,2,8255A的控制字,8255A共有两种控制。
6.字:即工作模式控制字和C口位置/复位控制字。,1. 工作模式控制字,控制字,如图所示。,工作模式控制字,2. 端口C的位置/复位控制字,控制字格式如图所示。,位置/复位控制字,控制字要说明几点:(1) 设置控制字时,A口、B口作为整体设置,C口分为上、下两部分。三个端口的工作了三个端口的工作模式。,C根据位置/复位控制字不是送到C口地址,而是送到控制寄存器地址;而控制字只能使C口位置或复位。,(3) 控制字和按位置/复位控制字写入同一控制寄存器地址,两者通过最高位D7来区别。D7=一是控制字的方式,D7=0是位置/复位控制字。,例:设8。
7、255A的地址为04A0H04A3H,825555按以下要求A初始化。要求A口、B口均设置为方式1,均为输入,PC6和PC1为输出。,MOV DX,04A3H ; 控制口地址 MOV AL,B6H ;控制工作控制字 OUT DX,AL ; 控制字送到控制口,例如:设8255A的地址为04A0H04A3H,要求通过8255A芯片C口的PC两位产生方波脉冲。,MOV DX,04A3H ;控制口地址 AA:MOV AL,05H ;对PC2位控制字 OUT DX, AL CALL DELAY ;延时程序 MOV AL,04H ;对PC2复位控制字 OUT DX,AL JMP AA,三、825。
8、5A工作方法,1. 方式0 基本输入/输出模式0是基本输入输出模式,其24条I/O所有线路均用于传输数据,无响应信号线,常用于无条件传输,输出锁定,输入只有缓冲能力,无锁定功能。,方法0控制字:,* 任何端口都可以自由CPU用简单的输入或输出指令来进行读写 * 8255AA口和B口可作为查询接口电路,分别作为数据端口 * C高4位和低4位可分别用于输入或输出控制外设的控制信息和收集外设的状态信息。,数据有效,数据有效,ADC0809芯片为28引脚双列直插式包装,地址状态与通道对应的关系表,通道选择表,ALE:地址锁定允许信号。在对应ALE上跳。
9、沿,ADDA、ADDB、ASSC地址状态发送到地址锁存器。,ADC0809芯片为28引脚双列直插式封装,START:转换启动信号。START上跳边时,所有内部寄存器清除0;START下跳边时,开始进行A/D转换;在A/D转换期间,START保持低电平。,ADC0809芯片为28引脚双列直插式封装,D7D0:数据输出线。三态缓冲输出形式,可与单片机数据线直接连接。,ADC0809芯片为28引脚双列直插式封装,OE:输出允许信号。用于控制三态输出锁存器转换为单片机输出的数据。OE=输出数据线为高电阻;OE=1.输出转换获得的数据。,ADC0809芯片为28引脚双列直插式封装,EO。
10、C:状态信号转换结束。EOC=正在进行转换;EOC=1.转换结束。该状态信号可用作查询状态标志和中断请求信号。,ADC0809芯片为28引脚双列直插式封装,Vref:参考电源。其典型值为 5 V(Vref ( ) = 5 V,Vref(-) =0 V),ADC0809芯片时序图,tws100200ns,图 5,tws100200ns,tws100200ns,ADC0809与界面相关的主要问题 1)进行通道选择; 2)启动信号; 3)取回转换结束信号; 4)读取转换数据; A/D读取0809转换结果的方法: 延时读数 查询EOC=1 。
11、EOC对于一种中断申请、延迟读数的方式,A/D对于转换器来说,转换时间作为技术指标是已知和固定的。 例如,ADC0809转换时间为128 s,相当于6 MHz的MCS-51单片机R 64个机器周期。可以设计延迟子程序,A/D转换启动后,调用此延迟子程序。延迟时间到了,转换必须完成,然后数据传输就可以了。 在这种方式下,EOC引脚悬空。,查询传输方式,启动0809后,延迟10us,检测EOC,若EOC=0则A/D转换尚未结束,继续检测EOC,直到EOC=1。当EOC=1时,A/D转换已经结束,单片机读取A/D转换结果。 这样,EOC必须收到8051条I/O线上。,中断传。
12.发送方式,启动A/D转换后可以做其他工作A/D转换结束时,EOC由0-1 申请中断请求信号的,CPU打开中断,进入中断服务程序,读取中断服务程序A/D转换结果。 这样, EOC必须采用信号变化模式CPU如果不一致,必须增加门电路进行转换。,作业讲解,7-3 利用两片CD4051实现16选一开关,7-9 利用8255实现A/D0809数据采集,方案选择信号,方案1,程序如下: 8255A的地址为02C0H02C3H,MOV DX,02C3H ;控制口地址 MOV AL,1001 1000B;设PC0PC3为输出, PC4PC7输入,PA输入 OUT DX, AL。
13、 MOV DX,02C2H;PC口 MOV AL,00001000;送通道号IN0并启动A/D0809 OUT DX,AL CALL DELAY; 延迟120微妙(转化时间) IN AL,DXWAIT: MOV BL,AL TEST BL,10000000B;判断EOC 是否为高电平,即A/D转换是否结束 JZ WAIT MOV DX,02C3H MOV AL,1001 0000B;设PC0PC3为输出, PC4PC7输出,PA输入 OUT DX, AL MOV DX,02C2H;PC口 MOV AL,10000000B;选同OE,准备阅读数据 OUT DX,AL MOV DX,02C0H。
14、;PA口 IN AL,DX;将A/D通过转换数据PA口读入CPU,方案二,程序如下: 8255A的地址为02C0H02C3H,MOV DX,02C3H ;控制口地址 MOV AL,1001 0000B;设PB0PB7为输出,PA输入 OUT DX, AL MOV DX,02C1H;PB口 MOV AL,00001000;送通道号IN0并启动A/D0809 OUT DX,AL CALL DELAY; 延迟120微妙(转化时间) MOV DX,02C3H ;控制口地址 MOV AL,1001 0010B;设PB0PB7为输入,PA输入 OUT DX, AL MOV DX,02C1H;读PB4的状态 IN AL,DXWAIT: MOV BL,AL TEST BL,00010000B;判断EOC 是否为高电平,即A/D转换是否结束 JZ WAIT MOV DX,84H;A/D端口 IN AL,DX ;选同OE,准备阅读数据 MOV DX,02C0H;PA口 IN AL,DX;将A/D通过转换数据PA口读入CPU。