1、第第8章章 接口技术接口技术一、一、可编程并行输入可编程并行输入/输出接口芯片输出接口芯片8255A 习题习题二、二、可编程定时器可编程定时器/记数器记数器8253 习题习题7/21/2022微机原理及应用微机原理及应用1一、可编程并行输入一、可编程并行输入/输出接口芯片输出接口芯片8255AIntel 8255A是可编程接口芯片,可以用程序设定或是可编程接口芯片,可以用程序设定或改变其工作方式,改变其工作方式,CPU通过它与外设连接。通过它与外设连接。1、8255A的结构与工作方式的结构与工作方式2、8255A的使用及初始化程序的使用及初始化程序例题例题作业作业7/21/2022微机原理及应
2、用微机原理及应用21、8255A的结构与工作方式的结构与工作方式(1)内部结构及引脚内部结构及引脚(2)8255A工作方式工作方式7/21/2022微机原理及应用微机原理及应用38255A的内部结构框图的内部结构框图1 1、并行输入、并行输入/输出端口输出端口 8255A有有3个独立的输个独立的输入入/输出端口输出端口A、B、C,每个端口每个端口8位,位,分别与不同的外设分别与不同的外设进行数据交换。进行数据交换。在与外设数据传送中需在与外设数据传送中需要联络控制线时,要联络控制线时,C端口作控制信号输端口作控制信号输出和状态信号输入,出和状态信号输入,与与A、B口配合。口配合。读/写控制部件
3、数据总线缓冲器RDWRA1A0RESETD7 D0CSA 组端口A(8)B 组端口C下半部(4)B 组端口B(8)A 组端口C上半部(4)A 组控制部件B 组控制部件8位内部数据总线 I/OPB7 PB0 I/OPA7 PA0 I/OPC7 PC4 I/OPC3 PC07/21/2022微机原理及应用微机原理及应用4 8255A的内部结构框图的内部结构框图2、A组和B组控制电路A组:组:A口、口、C口高口高4位;位;B 组:组:B口、口、C口低口低4位;位;各有控制电路,负责接受各有控制电路,负责接受来自读来自读/写控制逻辑的写控制逻辑的各种命令,以及来自各种命令,以及来自数据总线的控制字,数
4、据总线的控制字,从而决定从而决定A组和组和B组的组的工作方式;工作方式;根据根据CPU的命令对的命令对C端口端口的每一位实现的每一位实现“复位复位”或或“置位置位”。读/写控制部件数据总线缓冲器RDWRA1A0RESETD7 D0CSA 组端口A(8)B 组端口C下半部(4)B 组端口B(8)A 组端口C上半部(4)A 组控制部件B 组控制部件8位内部数据总线 I/OPB7 PB0 I/OPA7 PA0 I/OPC7 PC4 I/OPC3 PC07/21/2022微机原理及应用微机原理及应用53、读/写控制部件8255A内部完成读内部完成读/写控写控制功能的部件。制功能的部件。与与6条输入控制
5、线连接,条输入控制线连接,负责接受负责接受CPU输入的输入的控制信号。控制信号。4、数据总线缓冲器是一个是一个8位双向三态缓冲位双向三态缓冲器,是器,是8255A与与CPU交换各类数据的接口。交换各类数据的接口。8255A的内部结构框图的内部结构框图读/写控制部件数据总线缓冲器RDWRA1A0RESETD7 D0CSA 组端口A(8)B 组端口C下半部(4)B 组端口B(8)A 组端口C上半部(4)A 组控制部件B 组控制部件8位内部数据总线 I/OPB7 PB0 I/OPA7 PA0 I/OPC7 PC4 I/OPC3 PC07/21/2022微机原理及应用微机原理及应用68255A的引脚的
6、引脚82558255A A是双列直插式是双列直插式4040引脚芯片引脚芯片。1 1、与外设连接的引脚、与外设连接的引脚 A口、口、B口和口和C口共口共24条;条;2 2、与、与CPUCPU连接的引脚连接的引脚 (1)数据线数据线D0D7;(2)输入控制线:输入控制线:*RESET复位信号复位信号RESET有效时,清除有效时,清除8255A内部寄存器,内部寄存器,包括控制寄存器,包括控制寄存器,A口、口、B口和口和C口设口设置为输入方式。置为输入方式。*RD读信号读信号当当RD低电平时,表示低电平时,表示CPU读出读出8255A的的数据或状态信息。数据或状态信息。1 402 393 384 37
7、5 366 357 348 339 8255A 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21 PA3 PA2 PA1 PA0 RD CSGND A1 A0 PC7 PC6 PC5 PC4 PC0 PC1 PC2 PC3 PB0 PB1 PB2 PA4 PA5 PA6 PA7 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 Vcc PB7 PB6 PB5 PB4 PB37/21/2022微机原理及应用微机原理及应用78255A的引脚的引脚 *WR写信号写信号表示表示CPU将数据或命令写入将数据或命令写入825
8、5A。*CS片选信号。片选信号。*A1A0端口寻址线,直接与端口寻址线,直接与CPU地地址线连接(址线连接(8088的的A1A0),确定),确定CPU要访问的端口地址。要访问的端口地址。8255A内部有内部有3个输入个输入/输出端口和一个输出端口和一个控制寄存器,由控制寄存器,由A1A0组合对应:组合对应:A1A0 00 端口端口AA1A0 01 端口端口BA1A0 10 端口端口CA1A0 11 控制寄存器控制寄存器1 402 393 384 375 366 357 348 339 8255A 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319
9、 2220 21 PA3 PA2 PA1 PA0 RD CSGND A1 A0 PC7 PC6 PC5 PC4 PC0 PC1 PC2 PC3 PB0 PB1 PB2 PA4 PA5 PA6 PA7 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 Vcc PB7 PB6 PB5 PB4 PB3返回7/21/2022微机原理及应用微机原理及应用8(2)8255A工作方式工作方式工作方式0基本输入输出工作方式A、B、C端口都可以作为输入或输出数据端口,以无端口都可以作为输入或输出数据端口,以无条件传送方式进行输入输出操作。条件传送方式进行输入输出操作。工作方式1 应答式单向输入输
10、出工作方式A、B端口作为输入或输出数据端口,端口作为输入或输出数据端口,C口分为两组分口分为两组分别作为别作为A口和口和B口的应答联络线。口的应答联络线。工作方式2 应答式双向输入输出工作方式只有只有A口可以工作于方式口可以工作于方式2,可以双向操作,即可以输,可以双向操作,即可以输入也可以输出数据,入也可以输出数据,C口作为应答信号。口作为应答信号。位操作工作方式只有只有C口可以进行位操作。口可以进行位操作。7/21/2022微机原理及应用微机原理及应用9工作方式0基本输入输出工作方式1)方式方式0下下8255A有两个有两个8位端口:端口位端口:端口A和端口和端口B,两个两个4位端口:端口位
11、端口:端口C的高的高4位和端口位和端口C的低的低4位;位;2)任何一个端口可以作输出或输入,由用户程序设)任何一个端口可以作输出或输入,由用户程序设定;定;3)输出锁存,输入不锁存;)输出锁存,输入不锁存;4)方式)方式0适用于无条件传送方式。适用于无条件传送方式。7/21/2022微机原理及应用微机原理及应用10工作方式1 应答式单向输入输出工作方式1)方式方式1下下8255A可作为一个或两个选通端口,每个选通端口可作为一个或两个选通端口,每个选通端口包含有:包含有:8位数据端口、位数据端口、3位控制线(由端口位控制线(由端口C规定的位提规定的位提供)、中断逻辑;供)、中断逻辑;2)任何一个
12、选通端口都可以作输出或输入,输出、输入均锁)任何一个选通端口都可以作输出或输入,输出、输入均锁存;存;3)若只有一个端口工作于方式)若只有一个端口工作于方式1时,余下的时,余下的13位可工作于方式位可工作于方式0;若两个端口都工作于方式;若两个端口都工作于方式1时,端口时,端口C余下的余下的2位可设定位可设定为输入或输出,且也具有置位为输入或输出,且也具有置位/复位功能。复位功能。在方式在方式1下,端口下,端口C的某些位规定作为联络信号,但这种规定的某些位规定作为联络信号,但这种规定在输入和输出时不相同。在输入和输出时不相同。7/21/2022微机原理及应用微机原理及应用11工作方式1 输入A
13、、B端口工作于方式端口工作于方式1输入时,方式选输入时,方式选择控制字及端口择控制字及端口C对应的控制信号见对应的控制信号见图示;图示;每端口有每端口有3个控制信号:个控制信号:STB选通信号,选通信号,低电平有效,由外低电平有效,由外设产生的输入信号;设产生的输入信号;D7 D6 D5 D4 D3 D2 D1 D01011I/OXXXPC7,PC6作I/O0:输出1:输入STBAIBFAINTRA端口A方式1输入方式控制字PA7PA0PC7,6INTEAPC4PC5&PC3I/ORD2 D7 D6 D5 D4 D3 D2 D1 D01XXXX11X端口B方式1输入方式控制字PB7PB0RDS
14、TBBIBFBINTRBINTEBPC2PC1PC0&IBFIBF输入缓冲器满,是输入缓冲器满,是82558255A A的输出信号,可供的输出信号,可供CPUCPU查询或查询或用于外设联络。用于外设联络。IBFIBF有效时,表明在输入锁存器中已存放有效时,表明在输入锁存器中已存放了一个数据;了一个数据;7/21/2022微机原理及应用微机原理及应用12工作方式1 输入INTR中断请求信中断请求信号,是号,是8255A的输的输出信号,供出信号,供CPU查查询或向询或向CPU发出中发出中断请求;断请求;INTE中断允许标中断允许标志;志;*A口中断允许,口中断允许,PC4置位;置位;*B口中断允许
15、,口中断允许,PC2置位;置位;D7 D6 D5 D4 D3 D2 D1 D01011I/OXXXPC7,PC6作I/O0:输出1:输入STBAIBFAINTRA端口A方式1输入方式控制字PA7PA0PC7,6INTEAPC4PC5&PC3I/ORD2 D7 D6 D5 D4 D3 D2 D1 D01XXXX11X端口B方式1输入方式控制字PB7PB0RDSTBBIBFBINTRBINTEBPC2PC1PC0&方式方式1 1中断输入过程首先必须对端口进行初始化:设置方式选中断输入过程首先必须对端口进行初始化:设置方式选择控制字,设置端口择控制字,设置端口C C置位置位/复位控制字,将端口设置为
16、中复位控制字,将端口设置为中断允许。断允许。方式方式1 1程序查询传送方式,查询程序查询传送方式,查询IBFIBF的状态。的状态。7/21/2022微机原理及应用微机原理及应用13工作方式1 输出A、B端口工作于方端口工作于方式式1输出时,方输出时,方式选择控制字及式选择控制字及端口端口C对应的控对应的控制信号见图示;制信号见图示;每端口有每端口有3个控制信个控制信号:号:OBF输出缓冲输出缓冲器满,器满,8255A给给外设的控制信号;外设的控制信号;D7 D6 D5 D4 D3 D2 D1 D01011I/OXXXPC5,PC4作I/O0:输出1:输入ACKAOBFAINTRA端口A方式1输
17、出方式控制字PA7PA0PC5,4INTEAPC6PC7PC3I/OWR2&D7 D6 D5 D4 D3 D2 D1 D01XXXX11X端口B方式1输出方式控制字PB7PB0WRACKBOBFBINTRBINTEBPC2PC1PC0&ACKACK外设响应信号,外设给外设响应信号,外设给82558255A A的输入信号,表明输出的输入信号,表明输出数据已经接受了;数据已经接受了;INTRINTR中断请求信号,若中断请求信号,若INTEINTE1 1,8255A8255A向向CPUCPU发出中断请发出中断请求信号;求信号;INTEINTE中断允许标志。中断允许标志。7/21/2022微机原理及应
18、用微机原理及应用14工作方式工作方式1 1 输出输出方式方式1输出与输入相输出与输入相同,首先必须对同,首先必须对端口进行初始化:端口进行初始化:设置方式选择控制设置方式选择控制字,设置端口字,设置端口C置位置位/复位控制复位控制字,将端口设置字,将端口设置为中断允许。为中断允许。D7 D6 D5 D4 D3 D2 D1 D01011I/OXXXPC5,PC4作I/O0:输出1:输入ACKAOBFAINTRA端口A方式1输出方式控制字PA7PA0PC5,4INTEAPC6PC7PC3I/OWR2&D7 D6 D5 D4 D3 D2 D1 D01XXXX11X端口B方式1输出方式控制字PB7PB
19、0WRACKBOBFBINTRBINTEBPC2PC1PC0&同样,方式同样,方式1输出可用于程序查询传送方式,输出可用于程序查询传送方式,CPU可通过查询可通过查询输出缓冲器满信号输出缓冲器满信号OBF的状态,确定是否可以送出数据。的状态,确定是否可以送出数据。端口端口A或或B可分别设为输入和输出,不受另一端口影响。可分别设为输入和输出,不受另一端口影响。7/21/2022微机原理及应用微机原理及应用15工作方式工作方式2 2 双向传送方式双向传送方式1)方式方式2只用于端口只用于端口A;2)端口端口A工作于方式工作于方式2下,端口下,端口C的的PC7 PC3作其联络控制;作其联络控制;3)
20、输入、输出均锁存;)输入、输出均锁存;4)方式)方式2的输入的输入/输出过程相当于方式输出过程相当于方式1的输入过程和输出过程的输入过程和输出过程的组合。的组合。D7 D6 D5 D4 D3 D2 D1 D011XXX1/01/0I/OSTBAIBFAINTRA端口A方式2方式控制字PA7 PA0INTE2PC4PC5PC3WRRDINTE1PC6PC7&1ACKAOBFA端口 B&7/21/2022微机原理及应用微机原理及应用162、8255A的使用及初始化程序的使用及初始化程序8255A各端口的工作方式由各端口的工作方式由CPU通过通过I/O指令写入控制指令写入控制寄存器的控制字来决定。寄
21、存器的控制字来决定。8255A有两个控制字:有两个控制字:(1)方式选择控制字方式选择控制字(2)端口端口C置位置位/复位控制字复位控制字 初始化编程初始化编程7/21/2022微机原理及应用微机原理及应用17(1)方式选择控制字方式选择控制字方式选择控制字用于设置各端口的工作方式和数据输方式选择控制字用于设置各端口的工作方式和数据输入入/输出的传送方向。输出的传送方向。例题例题1D6D5D4D3D2D1D 00:端口C PC3PC0输出1:端口C PC3PC0输入0:端口B输出1:端口B输入0 0:端口A方式00 1:端口A方式11 X:端口A方式20:端口B方式01:端口B方式10:端口C
22、 PC7PC4输出1:端口C PC7PC4输入0:端口A输出1:端口A输入方式控制字标志位7/21/2022微机原理及应用微机原理及应用18例题(方式选择控制字)例题(方式选择控制字)设某片设某片8255A的端口地址是的端口地址是60H63H,工作于方式工作于方式0,端口端口A和端口和端口C高高4位输出,端口位输出,端口B和端口和端口C低低4位输位输入,设置该入,设置该8255A的方式选择控制字。的方式选择控制字。解:方式选择控制字解:方式选择控制字=1000 00111D6D5D4D3D2D1D 00:端口C PC3PC0输出1:端口C PC3PC0输入0:端口B输出1:端口B输入0 0:端
23、口A方式00 1:端口A方式11 X:端口A方式20:端口B方式01:端口B方式10:端口C PC7PC4输出1:端口C PC7PC4输入0:端口A输出1:端口A输入方式控制字标志位7/21/2022微机原理及应用微机原理及应用19(2)端口端口C置位置位/复位控制字复位控制字端口端口C C置位置位/复位控制字复位控制字只对端口只对端口C的某一个位进行的某一个位进行操作,其他位不受影响。操作,其他位不受影响。注意:必须写入控制端口。注意:必须写入控制端口。例题例题0XXXD3D2D1D0端口C的位选择:PC0 0 0 0 PC1 0 0 1 PC2 0 1 0 PC3 0 1 1 PC4 1
24、0 0 PC5 1 0 1 PC6 1 1 0 PC7 1 1 10:复位1:置位标志位不用7/21/2022微机原理及应用微机原理及应用20例题例题(位操作控制字)(位操作控制字)已知已知8255A的端口地址为的端口地址为02E0H02E3H,请实现对端口请实现对端口C的的PC2置位和置位和PC4复位。复位。解:解:MOV DX,02E3H;大于大于8位的端口地址送位的端口地址送DXMOV AL,05H;位操作控制字位操作控制字0000 0101OUTDX,AL;置位置位PC2MOV AL,08H;位操作控制字位操作控制字0000 1000 OUTDX,AL;复位复位PC4 0XXXD3D2
25、D1D0端口C的位选择:PC0 0 0 0 PC1 0 0 1 PC2 0 1 0 PC3 0 1 1 PC4 1 0 0 PC5 1 0 1 PC6 1 1 0 PC7 1 1 10:复位1:置位标志位不用7/21/2022微机原理及应用微机原理及应用21例题例题(位操作控制字)(位操作控制字)(2)请在请在8255A的的C端口的端口的PC7位输出一个正脉冲(设原来位输出一个正脉冲(设原来PC7=0)。)。解:程序段如下解:程序段如下MOV AL,0FH;置位置位PC7,操作控制字操作控制字00001111OUT CTRL_PORT,AL;写入控制端口写入控制端口MOV AL,0EH ;复位
26、复位PC7,操作控制字操作控制字 00001110OUT CTRL_PORT,AL;写入控制端口写入控制端口0XXXD3D2D1D0端口C的位选择:PC0 0 0 0 PC1 0 0 1 PC2 0 1 0 PC3 0 1 1 PC4 1 0 0 PC5 1 0 1 PC6 1 1 0 PC7 1 1 10:复位1:置位标志位不用7/21/2022微机原理及应用微机原理及应用22初始化编程初始化编程初始化就是初始化就是CPU通过程序来设定通过程序来设定8255A的工作方式。的工作方式。设某片设某片8255A的端口地址是的端口地址是60H63H,工作于方式工作于方式0,端口端口A和端口和端口C高
27、高4位输出,端口位输出,端口B和端口和端口C低低4位输位输入,设置该入,设置该8255A的方式选择控制字。的方式选择控制字。解:方式选择控制字解:方式选择控制字=10000011初始化编程:初始化编程:MOV AL,83HOUT CNTL_PORT,AL;将方式选择控制字由控制将方式选择控制字由控制端口写入端口写入7/21/2022微机原理及应用微机原理及应用23例题例题1、已知、已知A,B,C端口均作为输入或输出端口端口均作为输入或输出端口,有有12个开个开关和关和12个发光二极管个发光二极管,每一个开关对应每一个发光每一个开关对应每一个发光二极管二极管,当某一开关接通时当某一开关接通时,对
28、应的发光二极管就对应的发光二极管就亮亮,否则就暗。试编写程序段实现此功能。否则就暗。试编写程序段实现此功能。(8255A的端口地址是的端口地址是0218H021BH)8255A+5VK0(CPU数据总线)D0D7(8088A1)A1RESET(CPU)WR(CPU)RD(8088A0)A0CSPB0PB7PC0PC3K7K8K11.PA0PC7PC4PA7发光二级管驱动器.L0L11L8L7.+5V7/21/2022微机原理及应用微机原理及应用24例题例题(续上页续上页)解解:程序段流程图程序段流程图8255A初始化B口读入开关状态数据处理处理结果输出到A口C口低四位读入开关状态数据处理处理结
29、果输出到C口高三位8255A+5VK0(CPU数据总线)D0D7(8088A1)A1RESET(CPU)WR(CPU)RD(8088A0)A0CSPB0PB7PC0PC3K7K8K11.PA0PC7PC4PA7发光二级管驱动器.L0L11L8L7.+5V7/21/2022微机原理及应用微机原理及应用25例题例题(续上页续上页)解解:程序段清单程序段清单MOV AL,83H;B口和口和C口低口低4位输入位输入,A口和口和C高高4位输出位输出MOV DX,021BH;控制端口地址送控制端口地址送DXOUT DX,AL;从控制端口写入方式控制字从控制端口写入方式控制字LL:MOV DX,0219H;
30、读读B口口IN AL,DXDEC DX;A口口OUT DX,AL;将将B口读入的开关状态从口读入的开关状态从A口输出口输出MOV DX,021AH;C口口IN AL,DX;C口读入数据口读入数据MOVCL,4SHL AL,CL;将低将低4位左移到高位左移到高4位位OUT DX,AL;将低将低4位读入的从高位读入的从高4位输出位输出JMP LLHLT7/21/2022微机原理及应用微机原理及应用26例题例题2.一个微机系统中采用一个微机系统中采用8255A作为作为I/O接口,初始化时接口,初始化时CPU访问其访问其8BH端口,将它设置为方式端口,将它设置为方式0,A、B口口输入,输入,C口输出,
31、请问口输出,请问A口的端口地址是多少口的端口地址是多少?解:解:A口为口为88H7/21/2022微机原理及应用微机原理及应用27作业作业 P2682、4、67/21/2022微机原理及应用微机原理及应用288255A哪种工作方式具有中断请求的功能?该中断请哪种工作方式具有中断请求的功能?该中断请求能否屏蔽?如何设置?求能否屏蔽?如何设置?解:解:8255A的方式的方式1、方式、方式2具有中断请求功能,均可具有中断请求功能,均可屏蔽。屏蔽。A口:方式口:方式1输入时,输入时,PC4置位允许中断、置位允许中断、PC4复位禁复位禁止中断;止中断;方式方式1输出时,输出时,PC6置位允许中断、置位允
32、许中断、PC6复位禁复位禁止中断;止中断;方式方式2时,即为方式时,即为方式1输入、输出的组合。输入、输出的组合。B口:工作于方式口:工作于方式1时,时,PC2置位允许中断、置位允许中断、PC2复位复位禁止中断。禁止中断。7/21/2022微机原理及应用微机原理及应用29习题习题(2)设设8255A的端口地址为的端口地址为0260H0263H,试编写下列各试编写下列各种情况的初始化程序:种情况的初始化程序:(1)A口、口、B口设置为方式口设置为方式0,端口,端口A和和C作为输入口,作为输入口,允许中断。允许中断。解:初始化程序段:解:初始化程序段:MOV AL,99H;方式选择控制字方式选择控
33、制字10011001MOV DX,0263H;端口地址大于端口地址大于8位送位送DXOUT DX,AL1D6D5D4D3D2D1D 00:端口C PC3PC0输出1:端口C PC3PC0输入0:端口B输出1:端口B输入0 0:端口A方式00 1:端口A方式11 X:端口A方式20:端口B方式01:端口B方式10:端口C PC7PC4输出1:端口C PC7PC4输入0:端口A输出1:端口A输入方式控制字标志位7/21/2022微机原理及应用微机原理及应用30习题习题(3)(2)A口设置为方式口设置为方式2,禁止中断,禁止中断,B口设置为方式口设置为方式1输出,允许中输出,允许中断。断。解:初始化
34、程序段:解:初始化程序段:MOV AL,0C4H ;方式选择控制字方式选择控制字11xx x10 xMOV DX,0263HOUT DX,AL ;初始化完成初始化完成MOV AL,0CH ;位操作控制字位操作控制字0000 1100,PC6复位,输复位,输出中断禁止出中断禁止OUT DX,ALMOV AL,08H ;位操作控制字位操作控制字0000 1000,PC4复位,复位,输入中断禁止输入中断禁止OUT DX,AL ;A口方式口方式2,禁止中断,禁止中断MOV AL,05H ;位操作控制字位操作控制字0000 0101,PC2置位,置位,B口中断允许口中断允许OUT DX,AL7/21/2
35、022微机原理及应用微机原理及应用31习题习题(4)(3)A口设置为方式口设置为方式1输入,输入,PC7和和PC6作为输出,作为输出,B口方式口方式1输入,输入,A口和口和B口允许中断。口允许中断。解:初始化程序段:解:初始化程序段:MOV AL,0B6H;方式选择控制字方式选择控制字1011 011xMOV DX,0263HOUT DX,AL;初始化完成初始化完成MOV AL,09H;位操作控制字位操作控制字0000 1001,PC4置位置位OUT DX,AL;A口允许中断口允许中断MOV AL,05H;位操作控制字位操作控制字0000 0101,PC2置位置位 OUT DX,AL;B口允许
36、中断口允许中断7/21/2022微机原理及应用微机原理及应用32二、可编程定时器二、可编程定时器/记数器记数器8253在微型计算机系统中常常需要定时器或计数器,用来在微型计算机系统中常常需要定时器或计数器,用来产生实时时钟信号,如定时对动态存储器刷新,控产生实时时钟信号,如定时对动态存储器刷新,控制系统的定时检测等等。同时,计算机控制系统也制系统的定时检测等等。同时,计算机控制系统也常常需要计数功能,实现对外部事件的计数。常常需要计数功能,实现对外部事件的计数。1、8253的内部结构及引脚的内部结构及引脚2、8253的控制字的控制字3、8253的的工作方式的的工作方式作业作业7/21/2022
37、微机原理及应用微机原理及应用331、8253的内部结构及引脚的内部结构及引脚8253的内部结构的内部结构(1)3个计数器个计数器计数器计数器0、1、2,每个,每个计数器的结计数器的结构构相同,而且操作是互相同,而且操作是互相独立的。相独立的。(2)控制字寄存器控制字寄存器是一是一个个8 8位寄存器,每个计数位寄存器,每个计数器有一个器有一个,只能写入,只能写入,不能读出,用来保存计不能读出,用来保存计数器的工作方式、计数数器的工作方式、计数进位制方式以及读进位制方式以及读/写计写计数器方式。数器方式。数据总线缓冲器读/写控制电路控制寄存器计数器0计数器1计数器2A0A1RDWRCSD7D0CL
38、K 0GATE 0OUT 0CLK 1GATE 1OUT 1CLK 2GATE 2OUT 2内部数据(3)数据总线缓冲器数据总线缓冲器与与CPU数据总线直接相连。数据总线直接相连。(4)读写控制电路读写控制电路8253的控制电路,接受来自的控制电路,接受来自CPU的地址信的地址信号和控制信号,完成对号和控制信号,完成对8253内部各功能的控制和操作。内部各功能的控制和操作。7/21/2022微机原理及应用微机原理及应用341、8253的内部结构及引脚的内部结构及引脚A1A0 00 端口端口AA1A0 01 端口端口BA1A0 10 端口端口CA1A0 11 控制寄存器控制寄存器数据总线缓冲器读
39、/写控制电路控制寄存器计数器0计数器1计数器2A0A1RDWRCSD7D0CLK 0GATE 0OUT 0CLK 1GATE 1OUT 1CLK 2GATE 2OUT 2内部数据7/21/2022微机原理及应用微机原理及应用351、8253的内部结构及引脚的内部结构及引脚(2)8253是是24引脚的双列直插式芯片。引脚的双列直插式芯片。(1)与)与CPU连接的引脚连接的引脚数据线数据线D0D7这是与这是与CPU数数据线连接的引脚,用于与据线连接的引脚,用于与CPU传递信息。传递信息。控制线控制线RD、WR、CS、A1和和A0 与与8255A比较,除没比较,除没有复位信号有复位信号RESET外,
40、其余外,其余都相同。都相同。(2)与外部连接的引脚)与外部连接的引脚三个计数器的三组线三个计数器的三组线CLK、GATE和和OUT。1 242 233 224 215 206 197 8253 188 179 1610 1511 1412 13D7D6D5D4D3D2D1D0CLK0OUT0GATE0GND+5VWRRDCSA1A0CLK2GATE2OUT2CLK1GATE1OUT17/21/2022微机原理及应用微机原理及应用36计数器的结构计数器的结构8253的每个计数器包括:的每个计数器包括:(1)16位的计数初值寄存器位的计数初值寄存器CR存放由存放由CPU编程设定的计数初值;编程设定
41、的计数初值;(2)16位计数执行部件位计数执行部件CE是一是一个减个减1计数器,初值是计数器,初值是CR的内容。的内容。CE只对只对CLK脉冲计数,一旦计数脉冲计数,一旦计数器被启动后,每出现一个器被启动后,每出现一个CLK脉冲,脉冲,CE减减1。当减为。当减为0时,通过时,通过OUT输输出指示信号,表明出指示信号,表明CE为为0;计数执行单元CE输出锁存器OL计数值寄存器CR内部总线CLKGATEOUT*当当CLK是一个非周期性信号时,起计数功能;是一个非周期性信号时,起计数功能;*当当CLK是周期性时钟信号时,起定时功能。作定时器用时,是周期性时钟信号时,起定时功能。作定时器用时,定时系数
42、要求的定时时间定时系数要求的定时时间/输入的时钟脉冲周期,作为计数输入的时钟脉冲周期,作为计数初值预置入初值预置入CR,7/21/2022微机原理及应用微机原理及应用37计数器的结构计数器的结构计数执行单元CE输出锁存器OL计数值寄存器CR内部总线CLKGATEOUT(3)16位输出锁存器位输出锁存器OL跟随跟随CE的内容变化,当接受到的内容变化,当接受到CPU发发来的锁存命令时,就锁定当前的来的锁存命令时,就锁定当前的计数值,而不跟随计数值,而不跟随CE变化,直到变化,直到CPU从中读取锁存值后,才恢复从中读取锁存值后,才恢复跟随跟随CE。(4)GATE门控脉冲输入。门控脉冲输入。*高电平时
43、高电平时,允许计数器工作;允许计数器工作;*低电平时,禁止计数器工作。低电平时,禁止计数器工作。7/21/2022微机原理及应用微机原理及应用382、8253的控制字的控制字(1)控制字)控制字在在8253的初始化编程中,第一个写的初始化编程中,第一个写入的一定是方式控制字,规定入的一定是方式控制字,规定8253的工作方式。的工作方式。工作方式SC1SC0RL1RL0M2M1M0BCD0:二进制计数1:BCD计数0 0:选计数器00 1:选计数器11 0:选计数器21:无效 0 0 0:方式0 0 0 1:方式1 1 0:方式2 1 1:方式3 1 0 0:方式4 1 0 1:方式50 0:计
44、数器锁存0 1:只读/写计数器低字节1 0:只读/写计数器高字节1 1:先读/写计数器低字节,后读/写计数器高字节计数器选择读/写格式数制选择7/21/2022微机原理及应用微机原理及应用392、8253的控制字的控制字(2)(2)8253的读的读/写操作写操作*写入操作写入操作设置控制字,设置计数初值和设置锁存命令;设置控制字,设置计数初值和设置锁存命令;使用前,首先初始化:先写入方式控制字,随后写入计数使用前,首先初始化:先写入方式控制字,随后写入计数初值(注意格式)。初值(注意格式)。控制字写入控制寄存器端口,计数初值写入计数器端口。控制字写入控制寄存器端口,计数初值写入计数器端口。锁存
45、命令锁存命令D7D6指定要锁存的计数器,指定要锁存的计数器,D5D4 00。*读出操作读出操作CPU读取计数器当前的计数值。读取计数器当前的计数值。在计数过程中,输出锁存器在计数过程中,输出锁存器OL跟随计数执行部件跟随计数执行部件CE变化,在变化,在接到接到CPU发来的锁存命令时,当前计数值锁存于发来的锁存命令时,当前计数值锁存于OL中,中,OL不再变化,保持至不再变化,保持至CPU用输入指令读取该计数器端口的用输入指令读取该计数器端口的OL值后,输出锁存器自动解除锁存状态,再次跟随值后,输出锁存器自动解除锁存状态,再次跟随CE7/21/2022微机原理及应用微机原理及应用403、8253的
46、的工作方式的的工作方式8253提供提供6种工作方式,遵循以下基本原则:种工作方式,遵循以下基本原则:(1)控制字写入计数器,所有的控制逻辑电路复位,输出端)控制字写入计数器,所有的控制逻辑电路复位,输出端进入初始状态;进入初始状态;(2)初始计数值写入后,经过一个)初始计数值写入后,经过一个CLK脉冲后,才由计数脉冲后,才由计数初值寄存器初值寄存器CR送入计数执行部件送入计数执行部件CE开始计数。在输入脉开始计数。在输入脉冲的冲的CLK的下降沿,计数器作减的下降沿,计数器作减1计数;计数;(3)通常,在输入脉冲)通常,在输入脉冲CLK的上升沿,门控信号的上升沿,门控信号GATE被采被采样。不同
47、的工作方式,样。不同的工作方式,GATE信号的触发方式有不同的规信号的触发方式有不同的规定,电平触发、边沿触发或两者都允许;定,电平触发、边沿触发或两者都允许;(4)8253内部没有中断控制电路,也没有专用的中断请求线,内部没有中断控制电路,也没有专用的中断请求线,若需中断,可将若需中断,可将OUT端作为中断请求信号,通过外部电端作为中断请求信号,通过外部电路实现对该中断管理(比如接到路实现对该中断管理(比如接到8259A的的IRi)。7/21/2022微机原理及应用微机原理及应用413、8253的的工作方式的的工作方式(2)(1)方式方式0 0计数结束中断方式计数结束中断方式方式方式0 0是
48、典型的事件计数用法是典型的事件计数用法,CLK作为事件计数输入信号,作为事件计数输入信号,当计数执行部件当计数执行部件CE为为0时,时,OUT端变为高电平,可以作为端变为高电平,可以作为中断请求信号。中断请求信号。工作原理工作原理:当写入控制字后,:当写入控制字后,OUT变为低电平,变为低电平,CPU将计数将计数初值写入计数初值寄存器初值写入计数初值寄存器CR后,利用下一个后,利用下一个CLK脉冲的脉冲的下降沿将下降沿将CR的内容装入的内容装入CE中;中;再从下一个再从下一个CLK脉冲的下降沿开始,脉冲的下降沿开始,CE执行减执行减1计数,减到计数,减到0时,时,OUT变为高电平,并保持。除非
49、重新装入计数初值或变为高电平,并保持。除非重新装入计数初值或复位。复位。GATE是门控信号,高电平开放计数,低电平禁止计数。是门控信号,高电平开放计数,低电平禁止计数。7/21/2022微机原理及应用微机原理及应用423、8253的的工作方式的的工作方式(3)方式方式0 0的特点和应用的特点和应用(1)计数过程由软件启动,每写入一次计数初值,计数过程由软件启动,每写入一次计数初值,就启动一次计数过程,即可以利用写入计数初值的就启动一次计数过程,即可以利用写入计数初值的时刻来控制启动计数器的时刻;时刻来控制启动计数器的时刻;(2)GATE的作用是开放和禁止计数;的作用是开放和禁止计数;(3)OU
50、T由低变高表示计数过程结束,若计数初值由低变高表示计数过程结束,若计数初值为为N,表示已经出现了表示已经出现了N1个个CLK脉冲信号,或脉冲信号,或者说已经发生了者说已经发生了N1次事件;次事件;(4)方式)方式0主要用于事件计数,主要用于事件计数,OUT信号可作为中断信号可作为中断请求信号。请求信号。7/21/2022微机原理及应用微机原理及应用433、8253的的工作方式的的工作方式(4)例:设例:设8253的端口地址是的端口地址是70H73H,若计数器若计数器1工作在方式工作在方式0,计数次数为计数次数为130次,试编写初始化程序。次,试编写初始化程序。解:初始化程序段解:初始化程序段M