微机原理与接口技术 第8章 可编程接口芯片及应用.ppt_第1页
微机原理与接口技术 第8章 可编程接口芯片及应用.ppt_第2页
微机原理与接口技术 第8章 可编程接口芯片及应用.ppt_第3页
微机原理与接口技术 第8章 可编程接口芯片及应用.ppt_第4页
微机原理与接口技术 第8章 可编程接口芯片及应用.ppt_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西安邮电学院计算机系 系统结构教研室 2007.3,微机原理与接口技术,教材及参考书 微型计算机原理王忠民 王钰 王晓婕 编著 微型计算机原理学习与实验指导 王钰 王劲松 邢高峰 编著,第8章 可编程接口芯片及应用,主要内容: 可编程定时器计数器芯片82538254 可编程并行接口芯片8255A 串行通信及可编程串行接口芯片8251A 模数与数模转换技术及接口,8.1 可编程定时器/计数器芯片8253/8254,定时信号的产生 1.软件定时 方法:根据所需时间常数设计一个延迟子程序。 优点:节省硬件 缺点:执行延时程序期间CPU一直被占用,降低了CPU效率,不易提供多作业环境。 适用:延时时间

2、较短、重复次数有限的情况。,2.硬件定时 方法:利用专门的定时/计数器作为主要硬件,在简单软件控制下,产生准确时间延迟。 优点:定时/计数器与CPU并行工作,不占CPU时间,利用定时/计数器产生中断信号,可以建立多作业环境,大大提高了CPU利用率。 适用:广泛应用。,82538254是Intel公司生产的一种通用的计数定时器CTC,也称为可编程序间隔定时器PIT,它是采用NMOS工艺由单一+5V电源供电的双列直插式封装24引脚芯片。82538254芯片两者的外形引脚及功能都是兼容的,仅是工作的最高频率有所不同,以满足不同的接口要求。例如: 8253 (2MHz)、 8253-5 (5MHz )

3、, 8254 (8MHz)、 8254-5 (5MHz )、 8254-2 (10MHz)。,8.1.1 8253的结构及功能 1. 8253的引脚,图8.1 8253引脚及功能结构,8253,1,24,2,23,3,22,4,21,5,20,6,19,7,18,8,17,9,16,10,15,11,14,12,13,D,7,CLK,0,OUT,0,GATE,0,GND,OUT,1,V,CC,A,1,CLK,2,OUT,2,GATE,2,CLK,1,GATE,1,D,6,D,5,D,4,D,3,D,2,D,1,D,0,A,0,0,#,8253,D,7,D,0,A,0,CLK,0,GATE,0,

4、OUT,0,CLK,1,GATE,1,OUT,1,CLK,2,GATE,2,OUT,2,A,1,1,#,2,#,2. 8253内部结构,(1) 数据总线缓冲器 是8253用于和CPU数据总线连接的8位、双向、三态缓冲器,CPU读写8253的所有数据都经过该缓冲器。 CPU用输出指令向8253写入方式控制字至控制寄存器、写入计数值至某个计数器,都是经数据总线缓冲器和8253内部总线传送的。 CPU用输入指令读某个计数器值时,该计数器的现行计数值经8253内部总线和数据总线缓冲器传送到系统数据总线上,读入CPU。,(2) 读/写逻辑 是8253内部操作的控制部件 接收系统总线输入信号,转换成825

5、3内部操作的各种控制信号 选择读写操作的对象(某计数器或控制寄存器由A0、A1决定) 决定内部总线上数据的传送方向(输入还是输出由WR、RD决定),8253端口地址及内部操作,(3) 控制寄存器 8253初始化时接收CPU写入的控制字 控制字指定计数器的工作方式,选择以二进制或二十进制计数等 该寄存器为只写寄存器,(4) 计数器0、计数器1、计数器2 三个计数器结构完全相同、操作完全独立 每个计数器内部包含:一个16位计数初值寄存器(CR)、计数执行部件(CE)、一个16位输出锁存器 (OL)和一个控制寄存器 每个计数器外部有两个输入端(CLK、GATE)和一个输出端(OUT),3. 计数器的

6、内部结构,计数器,0,控制寄存器,计数初值寄存器(CR),减1计数器(CE),输出锁存寄存器(OL),CRH,CEH,OLH,CRL,CEL,OLL,4. 8253的工作过程 (1) 由CPU向控制寄存器写入控制字,以确定工作方式; (2) 由CPU向计数器寄存器写入计数初值或定时常数; (3) 计数单元从计数器寄存器中获得初值,在CLK端输入的计数脉冲控制下进行减1计数(CLK决定计数速率);,(4) 减到0时,该状态由OUT输出或由状态寄存器的某一位表示,以作为中断请求信号或供查询方式使用,也可将OUT 连到一个I/O设备上,去启动一个I/O操作; (5) 任何时候都可以将计数单元的当前值

7、送到输出锁存器被CPU读取而不干扰计数器继续计数; (6) 门脉冲GATE是由设备送来的,作为对时钟脉冲的控制信号,门脉冲对时钟的控制方法有多种,以形成多种工作方式。,8.1.2 8253的编程 8253在工作之前,用户首先要为某一计数器(计数器02)写入控制字以确定其工作方式;写入定时/计数初值;在定时/计数工作过程中,有时还需要读取某计数器当前的计数值。 1. 8253的控制字格式 8253的控制字格式如下图所示。,0 二进制计数,1 十进制计数,00 将减1计数器CE中的数据,锁存到OL中(锁存功能),000 方式0,D,7,D,6,计数器选择,读写格式,工作方式,数制,00 选择计数器

8、0,01 选择计数器1,10 选择计数器2,11 非法,01 对计数器的低8位读或写,10 对计数器的高8位读或写,11 计数器16位操作(先低8,位,后高8位读或写),001 方式1,10 方式2,11 方式3,100 方式4,101 方式5,D,5,D,4,D,3,D,1,D,2,D,0,D7D6D5D4D3D2D1D0,SC1,RL1,M1,M0,M2,BCD,SC0,RL0,2. 8253的读/写操作 对8253的读/写操作不仅要用到RD和WR控制信号,还要根据计数/定时工作的要求利用门控信号GATE和锁存功能来控制8253的读/写操作。 读操作。所谓读操作是指读出计数器的计数值至CP

9、U中。有两种读数方法: 直接读出(停读)。直接用输入指令读取所选择的端口计数器值。 锁存读出(飞读)。锁存计数值以供读取,是专为在计数过程中读数据而设计的。, 写操作 所谓写操作是指CPU对8253写入控制字或计数初值。 3. 初始化编程 8253投入工作之前,CPU要对它进行初始化编程。初始化编程的步骤为: 写入计数器的控制字,规定其工作方式及相应功能; 写入计数初值。,例如,若选择0计数器,工作在方式3,计数初值为2354H,十进制计数方式;或选择l计数器,工作在方式2,计数初值为18H,二进制计数方式。并设8253端口地址为4043H。 则根据上述各计数器的功能,其初始化编程如下: 0计

10、数器的控制字为:37H 1计数器的控制字为:54H,00110111,SC1,RL1,M1,M0,M2,BCD,SC0,RL0,01010100,对0计数器初始化编程 MOV AL,37H ;对0计数器送控制字。 OUT 43H,AL MOV AL,54H ;送初值的低8位。 OUT 40H,AL MOV AL,23H ;送初值的高8位。 OUT 40H,AL 对1计数器初始化编程。 MOV AL,01010100B ;对1计数器送控制字。 OUT 43H,AL MOV AL,18H ;计数初值送低8位。 OUT 41H,AL,当采用“飞读”的方法读取1计数器的计数值时,可采用如下程序片段:

11、MOV AL,01000100B ;对1计数器送锁存控制字。 OUT 43H,AL IN AL,41H ;读低8位。 MOV CL,AL ;读取的计数值存于CL中。 当计数值为16位时,则“飞读”时还应读取高8位锁存器中的计数值。即: IN AL,41H ;读低8位。 MOV CL,AL IN AL,41H ;读高8位。 MOV CH,AL,8.1.3 8253的工作方式及时序图 8253定时器计数器的每个计数器都有六种可编程选择的工作方式。对于每一种工作方式,由时钟输入信号CLK确定计数器递减的速率。门控信号GATE用于允许或禁止CLK信号进入计数器,或者根据工作方式用作计数器的启动信号。计

12、数结束时,在输出线OUT上产生一个标志信号,该信号可编程定义为脉冲、恒定电位或周期信号。,区分六种工作方式的主要标志有三点: 一是输出波形不同; 二是启动的触发方式不同; 三是计数过程中门控信号CATE对计数操作的影响不同。 现在分别讨论不同工作方式的特点。,1.方式0 计数结束产生中断方式,CLK,GATE,5,4,3,2,0,1,OUT,CW,N5,3,2,2,2,0,1,CLK,GATE,OUT,CW,N3,2方式1可编程单次脉冲,1,2,1,2,0,CLK,GATE,OUT,CW,N2,图8.7 方式1的波形,3方式2分频工作方式,CLK,GATE,OUT,CW,N3,T,OUT,N*

13、T,CLK,1,3,2,1,2,3,3,图8.8 方式2的波形,2,1,4,3,3,4,2,CLK,GATE,OUT,CW,N4,T,OUT,N*T,CLK,图8.9 方式3的波形,4方式3方波发生器,5方式4软件触发选通,2,1,0,3,4,CLK,GATE,OUT,CW,N4,6方式5硬件触发选通,0,4,3,1,2,CLK,GATE,OUT,CW,N4,8.1.4 8254与8253的区别 8254是8253的改进型,它们的引脚定义与排列、硬件组成等基本上是相同的。因此8254的编程方式与8253是兼容的,凡是使用8253的地方均可用8254代替。 允许最高计数脉冲(CLK)的频率不同。

14、8253的最高频率为2 MHz,而8254允许的最高计数脉冲频率可达10 MHz(8254为8 MHz,82542为10 MHz)。, 8254每个计数器内部都有一个状态寄存器和状态锁存器,而8253没有。 8254有一个读回命令字,用于读出当前减1计数器CE的内容和状态寄存器的内容,而8253没有此读回命令字。,8.1.5 8253应用举例 例8.2 使用8253计数器2产生频率为40 kHz的方波,设8253的端口地址为0040H0043H,已知时钟端CLK2输入信号的频率为2 MHz。试设计8253与8088总线的接口电路,并编写产生方波的程序。 8253与8088总线的接口电路如下图所

15、示。,&,74LS138,A,B,C,8253,D,0,A,0,CLK,0,GATE,0,OUT,0,CLK,1,GATE,1,OUT,1,CLK,2,GATE,2,OUT,2,D,7,D,7,D,0,A,1,0,Y,1,&,A,0,A,1,A,2,A,3,A,4,A,5,A,6,A,7,A,8,A,9,A,15,WR,RD,IOM,2MHz,20kHz,1.工作方式控制字 2. 计数初值 计数初值=输入频率/输出频率 =2000000Hz /40000Hz =50 =0032H,D7D6D5D4D3D2D1D0,SC1,RL1,M1,M0,M2,BCD,SC0,RL0,1,1,1,1,0,1

16、,1,0,根据上述要求2计数器应设置成方式3工作状态,按双字节传送的50分频计数值应为0032H。此时,2计数器的初始化程序如下: MOV AL,11110110B ;对2计数器送控制字。 OUT 43H,AL MOV AL,32H ;送低8位计数值32H。 OUT 42H,AL XOR AL,AL ;送高8位计数值00H。 OUT 42H,AL,8.2 可编程并行接口芯片8255A,8.2.1 8255A的引脚与结构 18255A的引脚 8255A是可编程的并行输入输出接口芯片,它具有三个8位并行端口(A口、B口和C口),具有40个引脚,双列直插式封装,由+5V供电,其引脚与功能示意图如图8

17、.14所示。,8255A,1,2,3,4,5,6,7,8,9,PA,3,GND,PA,4,V,CC,PA,1,PA,0,A,1,A,0,PC,7,PC,6,PC,5,PC,4,PC,0,PC,1,PC,2,PC,3,PB,0,PB,1,PB,2,PA,2,10,11,12,13,14,15,16,17,18,19,20,25,24,23,22,21,26,27,28,29,30,31,32,33,34,35,37,38,39,40,36,PA,5,PA,6,PA,7,RESET,D,0,D,1,D,2,D,3,D,4,D,5,D,6,PB,7,PB,6,PB,5,PB,4,PB,3,D,7,(

18、,a,),A组,8255A,A口,A,0,RESET,8,4,8,C口,C口,B口,(,b,),PA,7,P,A,0,D,7,D,0,PC,7,P,C,4,PC,3,P,C,0,4,PB,7,P,B,0,B组,A,1,图8.14 8255A引脚及功能示意图 (a) 引脚;(b) 功能示意图,A口、 B口、 C口:8位数据输入锁存器和8位数据输出锁存器缓冲器。 D0D7: 数据线,三态双向8位缓冲器。 RESET:复位信号,高电平有效。8255A复位后,所有IO均处于输入状态。 CS:片选端,低电平有效。 A0A1:地址线,用于选择端口。 RD:读控制线,低电平有效。 WR:写控制线,低电平有效

19、。,28255A的内部结构 8255A的内部结构框图如图8.15所示,其内部由以下四部分组成。 1) 端口A、端口B和端口C 端口A、端口B和端口C都是8位端口,可以选择作为输入或输出。还可以将端口C的高4位和低4位分开使用,分别作为输入或输出。当端口A和端口B作为选通输入或输出的数据端口时,端口C的指定位与端口A和端口B配合使用,用做控制信号或状态信号。,2) A组控制和B组控制部件 这两组控制部件有两个功能:一是接收来自芯片内部数据总线上的控制字;二是接收来自读写控制逻辑电路的读写命令,以此来决定两组端口的工作方式和读写操作。 3)数据总线缓冲器 它是一个双向三态的8位数据缓冲器,8255

20、A正是通过它与系统数据总线相连。输入数据、输出数据、CPU发给8255A的控制字都是通过该部件传递的。,4) 读写控制逻辑电路 读/写控制逻辑电路的功能是负责管理8255A的数据传输过程。它接收CS及来自地址总线的信号A1、A0(在8086总线中为A2、A1)和控制总线的信号RESET、WR、RD,将它们组合后,得到对A组控制部件和B组控制部件的控制命令,并将命令送给这两个部件,再由它们完成对数据信息,状态信息和控制信息的传输。,3、8255A寻址方式 8255A内部有3个IO端口和一个控制字端口,通过地址线A0、A1,读写控制线RD、WR与片选端CS进行寻址并实现相应的操作。表 8.1是82

21、55A的寻址与相应操作。,表8.1 8255A各端口读/写操作时的信号关系,8.2.2 8255A的工作方式与控制字 18255A的工作方式 8255A在使用前要先写入一个工作方式控制字,以指定A、B、C三个端口各自的工作方式。 8255A共有三种工作方式: 方式0基本输入输出方式,即无须联络就可以直接进行8255A与外设之间的数据输入或输出操作。A口、B口、C口的高4位和低4位均可设置为方式0。,方式O适用于无条件数据传送,也可以把C口的某一位作为状态位,实现查询方式的数据传送。,选通,8255A,A口,PC,1,输出设备,准备好,准备好,清除,PC,7,PC,6,PC,0,B口,输入设备,

22、方式1选通输入输出方式,此时8255A的A口和B口与外设之间进行输入或输出操作时,需要C口的部分I/O线提供联络信号。只有A口和B口可工作于方式1。 方式2选通双向输入输出方式,即同一端口的I/O线既可以输入也可以输出,只有A口可工作于方式2。此种方式下需要C口的部分I/O线提供联络信号。,STB(Strobe):选通信号, 输入,低电平有效。 IBF(Input Buffer Full):输入缓冲器满信号, 输出,高电平有效。,OBF(Output Buffer Full):输出缓冲器满信号, 输出,低电平有效。 ACK(Acknowledge):外设应答信号, 输入,低电平有效。,INTR

23、(Interrupt Request):中断请求信号,输出,高电平有效。 INTE(Interrupt Enable):中断允许信号, 高电平有效。,28255A的控制字 1) 工作方式选择控制字 它可以使8255A的三个端口工作于不同的工作方式。,方式控制字的,特征位,D,7,A口工作方式,0 0 方式0,0 1 方式1,1 方式2,1,D,6,D,5,D,4,D,3,D,2,D,1,D,0,A口,输入/输出,1 输入,0 输出,PC,7,PC,4,输入/输出,1 输入,0 输出,B口,工作方式,0 方式0,1 方式1,B口,输入/输出,1 输入,0 输出,PC,3,PC,0,输入/输出,1

24、 输入,0 输出,2) C口按位置位/复位控制字 8255A的C口具有位控功能,即端口C的8位中的任一位都可通过CPU向8255A的控制寄存器写入一个按位置位/复位控制字来置1或清0,而C口中其他位的状态不变。 其格式如图8.17所示,注意8255A的C口按位置位/复位控制字的最高位D7(特征位)应为0。,无关,D,7,0,D,6,D,5,D,4,D,3,D,2,D,1,D,0,C口按位置位/,复位控制字的,特征位,选择位,置位/复位,1置位,0复位,8.2.3 8255A的应用举例 例 利用8255A作为输出设备打印机的接口。其连接方法如图8.4(a)所示。,为此,8255A端口A的8条并行数据线PA0PA7作为数据传送通路,A口应工作于方式0,输出,B口不用。C口也工作于方式0,PC2作为Busy信号输入端,所以C口PC3PC0应设定为输入方式;PC6作为STB选通信号输出端,故PC7PC4应设定为输出方式。 现根据图8.4中8255A的寻址信号,8255A的端口

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论