微机原理8255及其应用课件

上传人:m**** 文档编号:569365657 上传时间:2024-07-29 格式:PPT 页数:56 大小:908.50KB
返回 下载 相关 举报
微机原理8255及其应用课件_第1页
第1页 / 共56页
微机原理8255及其应用课件_第2页
第2页 / 共56页
微机原理8255及其应用课件_第3页
第3页 / 共56页
微机原理8255及其应用课件_第4页
第4页 / 共56页
微机原理8255及其应用课件_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《微机原理8255及其应用课件》由会员分享,可在线阅读,更多相关《微机原理8255及其应用课件(56页珍藏版)》请在金锄头文库上搜索。

1、第九章第九章 可编程外围可编程外围接口芯片接口芯片8255A及其应用及其应用8255A 是是INTEL系系列列的的并并行行接接口口芯芯片片,由由于于它它是是一一种种可可编编程程的的外外部部接接口口部部件件,通通常常作作为为微微机机系系统统总总线线与与外外部部设设备备的的接接口口控控制制部部件件,可可通通过过软软件件来来设设置置芯芯片片的的工工作作方方式式,用用8255A连连接接外外部部设设备备时时,通通常常不不需需要要附加外部电路,给使用带来很大的方便。附加外部电路,给使用带来很大的方便。8255A内部结构内部结构8255A引脚说明引脚说明8255A控制字控制字 8255A工作方式工作方式82

2、55A在在PC机中的应用机中的应用8255A接口实例接口实例9.1 8255的工作原理的工作原理一、一、8255A8255A的结构和功能(的结构和功能(P325P325)8255的工作原理的工作原理一、一、8255A8255A的结构和功能的结构和功能1. 1. 数据端口数据端口A、B、C8255有有3个个8位的位的I/O端口,设计人员可以用软件使端口,设计人员可以用软件使它们分别作为输入端口或输出端口。它们分别作为输入端口或输出端口。端口端口A:对应了对应了1个个8位的数据位的数据输入锁存器输入锁存器和和1个个8位的数位的数据输出锁存据输出锁存/缓冲器缓冲器。所以口。所以口A作为输入或输作为输

3、入或输出时,数据均受到锁存。出时,数据均受到锁存。(PA0PA7)端口端口B:对应了对应了1个个8位的数据位的数据输入缓冲器输入缓冲器和和1个个8位的数位的数据输出锁存器据输出锁存器/缓冲器。缓冲器。所以口所以口B作为输入端口作为输入端口时,不会对数据进行锁存,而作为输出端口时,时,不会对数据进行锁存,而作为输出端口时,数据会受到锁存。数据会受到锁存。(PB0PB7)端口端口C:与与B口一致,口一致,对应了一个对应了一个8位数据位数据输入缓冲器输入缓冲器和和1个个8位的数据输出锁存位的数据输出锁存/缓冲器缓冲器。所以。所以C口作为口作为输入端口时,对数据不作锁存,而作为输出端输入端口时,对数据

4、不作锁存,而作为输出端口时,对数据进行锁存口时,对数据进行锁存(PC0PC7)8255的工作原理的工作原理一、一、8255A8255A的结构和功能的结构和功能2. 2. A A组和组和B B组控制逻辑组控制逻辑8255在使用时,常用在使用时,常用端口端口A与端口与端口C的高的高4位位组成组成一个带控制信号的端口,称为一个带控制信号的端口,称为A组组。由。由A组控制逻辑管组控制逻辑管理;理;用用端口端口B与端口与端口C的低的低4位位也可以组成一个带控制信也可以组成一个带控制信号的端口,称为号的端口,称为B组组。由。由B组控制逻辑管理。组控制逻辑管理。其中其中,A组由端口组由端口A作为与外设交换数

5、据的输入作为与外设交换数据的输入/输输出接口,出接口,C口的高口的高4位作为外设连接的控制信号线和状位作为外设连接的控制信号线和状态信号线,以配合态信号线,以配合A口工作。口工作。同理同理,B组由端口组由端口B作为与外设交换数据的输入作为与外设交换数据的输入/输输出接口,出接口,C口的低口的低4位作为外设连接的控制信号线和状位作为外设连接的控制信号线和状态信号线,以配合态信号线,以配合B口工作。口工作。8255的工作原理的工作原理一、一、8255A8255A的结构和功能的结构和功能3. 3. 数据总线缓冲器数据总线缓冲器8255的数据总线缓冲器是双向三态的的数据总线缓冲器是双向三态的8位数据缓

6、冲位数据缓冲器,通过它直接与系统的数据总线器,通过它直接与系统的数据总线(D0D7)相连。输入相连。输入/输出数据、输出数据、CPU发给发给8255的控制字都是通过这个缓冲的控制字都是通过这个缓冲器传送的。器传送的。4. 4. 读读/ /写控制逻辑电路(写控制逻辑电路(P326P326)读读/写写控控制制逻逻辑辑电电路路负负责责管管理理8255的的数数据据传传输输过过程程。它它接接收收CS及及来来自自系系统统地地址址总总线线A1,A0(8086系系统统中中为为A2,A1)和和控控制制总总线线的的输输入入信信号号RESET,WR,RD,将将这这些些信信号号组组合合后后,得得到到对对A组组控控制制

7、部部件件和和B组组控控制制部部件件的的控控制制命命令令,并并将将命命令令发发送送给给这这两两个个部部件件,以以完完成成对对数数据据、状状态态信信息息和和控控制制信信息息的的传传输输。(见见P327页页)8255的工作原理的工作原理一、一、8255A的结构和功能的结构和功能说明:说明:(2)端口)端口C又可以分成又可以分成“上上C口口”和和“下下C口口”2个部个部分,可以用作分,可以用作A口和口和B口的控制信号线,所以把口的控制信号线,所以把A口口+上上C口称为口称为A组,组,B口口+下下C口称为口称为B组。组。(1)内部引脚内部引脚A1A0 端口端口口线口线00端口端口APA7PA001端口端

8、口BPB7PB0 10端口端口CPC7PC011 对控制端口写控制字对控制端口写控制字(3) A口口:输入有锁存器,输出有锁存器和缓冲器,:输入有锁存器,输出有锁存器和缓冲器, B和和C口:口:输入有缓冲器,输出有锁存器和缓冲器。输入有缓冲器,输出有锁存器和缓冲器。微机原理与接口微机原理与接口8255的工作原理的工作原理一、一、8255A8255A的结构和功能的结构和功能RESETWRRDCSGNDA1A093231302928272625140239338437536635734833242322211718192013141516101112PB7PB3PB0PB2PC0PC3PC7PC4

9、PA0PA3D0D7PA4PA78255AVCC8255的工作原理的工作原理二、二、8255A8255A的控制字(的控制字(P327P327)8255A8255A可通过指令在控制端口中设置控制字来决定可通过指令在控制端口中设置控制字来决定它的工作。其控制字可分为两类(个),都写入它的工作。其控制字可分为两类(个),都写入控制字控制字寄存器寄存器(A1A0=11)(A1A0=11) 芯片各端口的工作芯片各端口的工作方式控制字方式控制字 端口端口C按位置按位置1/置置0控制字控制字1.方式选择控制字方式选择控制字8255A8255A具有具有3 3种基本的工作方式:种基本的工作方式: 方式方式0 0

10、:基本输入输出方式(:基本输入输出方式( A A、B B、C C口)口) 方式方式1 1:选通输入输出方式(:选通输入输出方式( A A、B B口)口) 方式方式2 2:双向总线:双向总线I/OI/O方式(仅方式(仅A A口)口)(类比(类比8253的地址)的地址)8255的工作原理的工作原理二、二、8255A8255A的控制字的控制字1.1.方式选择控制字方式选择控制字P328D7=1D7=18255的工作原理的工作原理二、二、8255A8255A的控制字的控制字2. 2. 端口端口C按位置按位置1/置置0控制字控制字(P328P328)它可使端口它可使端口C中的任何一位进行置位中的任何一位

11、进行置位(1)或复位或复位(0)。D7=08255的工作原理的工作原理二、二、8255A8255A的控制字的控制字3.3.编程举例(只要设定方式控制字即可)编程举例(只要设定方式控制字即可)设设: : A A、B B、C C数数据据口口地地址址分分别别为为80H80H、 82H82H、84H84H、控控制口端口地址制口端口地址 86H 86H1) 1) A A口口方方式式0 0,输输出出、B B口口方方式式0 0,输输入入,C C口口高高4 4位位输输出,出,C C口低口低4 4位输入位输入 MOV ALMOV AL,1 10000000 00 01 11 1B BOUT 86HOUT 86H

12、,ALAL 2) 2) PC7置置1,PC3置置0 MOV DXMOV DX,86H86HMOV ALMOV AL,0 00000001111111 1B B;PC7PC7置置1 1OUT DXOUT DX,ALALMOV ALMOV AL,0 00000000110110 0B B;PC3PC3置置0 0OUT DXOUT DX,ALAL8255的工作原理的工作原理三、三、8255A8255A的工作方式的工作方式1. 工作方式工作方式0:基本的输入基本的输入/输出方式输出方式。A口口、B口口、上上C口口、下下C口口都都可可以以独独立立设设置置作作为为输入或输出使用。输入或输出使用。 适合用于

13、无条件或查询式传送。适合用于无条件或查询式传送。方式方式0的输入不能锁存。的输入不能锁存。2. 工作方式工作方式1:应答式:应答式输入输入或或输出输出方式。(方式。(P330)A口口、B口口可可以以分分别别作作为为数数据据口口工工作作在在方方式式1。需需要要使使用用C口口中中特特定定的的引引脚脚作作为为选选通通和和应应答答使使用用。 C口口中中其其余的引脚仍可工作在方式余的引脚仍可工作在方式0,定义为输入或输出。,定义为输入或输出。适合用于适合用于中断式传送和程序查询方式中断式传送和程序查询方式I/O传送。传送。C口中特定的引脚作为选通和应答使用时,视口中特定的引脚作为选通和应答使用时,视A口

14、口(或或B口口)为输入还是输出的不同,有两个引脚的含为输入还是输出的不同,有两个引脚的含义有所不同义有所不同。8255的工作原理的工作原理三、三、8255A8255A的工作方式的工作方式2. 工作方式工作方式1:输入缓冲器满信号输入缓冲器满信号表示表示A口已经接收数据口已经接收数据( (可通过读可通过读C C口获得该信号口获得该信号) )中断请求信号中断请求信号请求请求CPU接收数据接收数据PC4PC5PC3PA7PA0INTEAIBFAINTRASTBAA口选通口选通输入输入方式方式RDD7D0选通信号,表示外设选通信号,表示外设将数据送到输入缓冲器中将数据送到输入缓冲器中中断允许触发器中断

15、允许触发器8255的工作原理的工作原理三、三、8255A8255A的工作方式的工作方式2. 工作方式工作方式1:同样同样B B口作为选通输入接口时道理是一样的口作为选通输入接口时道理是一样的, ,只不只不过是这些信号使用的是过是这些信号使用的是C C口的口的PC2,PC1PC2,PC1和和PC0PC0。当外设数据准备好以后,发出一个负脉冲选通信号当外设数据准备好以后,发出一个负脉冲选通信号STBSTBA A ,使,使A A口打开输入锁存器接收数据。口打开输入锁存器接收数据。 A A口接收口接收到数据以后,发出到数据以后,发出IBFIBFA A数据写完后,数据写完后, STBSTBA A撤销即变

16、为无效撤销即变为无效STBSTBA A和和IBFIBFA A都变为高电平以后,都变为高电平以后,如果如果INTEINTEA A允许允许,则,则8255A8255A发出中断请求信号,希望发出中断请求信号,希望CPUCPU接收数据。接收数据。CPUCPU读数据的读数据的RDRD信号的下降沿使信号的下降沿使INTRINTRA A 和和IBFIBFA A恢复低电恢复低电平。平。PS: PS: 只可以只可以通过对通过对PCPC4 4的置位和复位来设置的置位和复位来设置INTEINTEA A。A口选通输入方式过程口选通输入方式过程微机原理与接口微机原理与接口在方式在方式1输入下,可以用查询的方式让输入下,

17、可以用查询的方式让CPU读数据,读数据,也可以用中断的方式。以也可以用中断的方式。以A口为例口为例查询:通过读取查询:通过读取IBF判断是否有数据可读,如果判断是否有数据可读,如果IBF为高为高则表示有数据可读,就用则表示有数据可读,就用in读取。大体步骤:读取。大体步骤:AG: IN AL,C口口 TEST AL,00100000B ;判断;判断IBF所在的所在的D5 JZ AG ;如果没有数据即;如果没有数据即IBF为低则继续读取判断为低则继续读取判断 IN AL,A口口 ;如已经有数据则读;如已经有数据则读A口数据口数据微机原理与接口微机原理与接口在方式在方式1输入下,可以用查询的方式让

18、输入下,可以用查询的方式让CPU读读数据,也可以用中断的方式。以数据,也可以用中断的方式。以A口为例口为例中断:通过设置中断:通过设置PC4为为1使得使得INTEA有效,当有效,当IBF也有效时也有效时INTR就会有效,该信号送给就会有效,该信号送给CPU的的INTR,表示发生中,表示发生中断,由中断服务程序来读取数据断,由中断服务程序来读取数据 ;设置中断向量,指定设置中断向量,指定N号中断的服务程序为号中断的服务程序为INTRADMOV AL,00001001BOUT C口口,AL ;设置设置PC4为为1,即,即INTEA有效有效INTRAD PROC IN AL,A口口 ;一旦有了数据,

19、则发生中断,;一旦有了数据,则发生中断, ;就调用服务程序里去读取;就调用服务程序里去读取RETINTRAD ENDP8255的工作原理的工作原理三、三、8255A8255A的工作方式的工作方式2. 工作方式工作方式1:输出缓冲器满信号输出缓冲器满信号表示表示CPU已经将数据输已经将数据输出到出到8255A指定端口,指定端口,作为外设的选通信号作为外设的选通信号中断请求信号中断请求信号请求请求CPU再次输出数据再次输出数据外设响应信号,表示外设外设响应信号,表示外设取走数据取走数据PC7PC6PC3PA7PA0INTEAOBFAINTRAACKAA口选通输出方式口选通输出方式WRD7D0中断允

20、许触发器中断允许触发器8255的工作原理的工作原理三、三、8255A8255A的工作方式的工作方式2. 工作方式工作方式1 :B B口这些信号使用的是口这些信号使用的是C C口的口的PC2,PC1PC2,PC1和和PC0PC0。输出缓冲器为空时,发出输出缓冲器为空时,发出INTRINTR信号要求信号要求CPUCPU输出数据当输出数据当CPUCPU向端口向端口A A输出数据以后,在输出数据以后,在WRWR的后沿使的后沿使OBFOBFA A变低,告知变低,告知外设输出缓冲器有数据,同时也使得外设输出缓冲器有数据,同时也使得INTRINTRA A变低变低外设收到外设收到OBFOBFA A后,发出一个

21、负脉冲后,发出一个负脉冲ACKACKA A送给送给8255A8255A,开启,开启82558255的输出锁存器,的输出锁存器, ACKACKA A使使OBFOBFA A变为高电平。取走数据后,变为高电平。取走数据后,ACKACK变高变高ACKACKA A和和OBFOBFA A都变为高电平以后,如果都变为高电平以后,如果INTEINTEA A允许,则允许,则8255A8255A发出中断请求信号,以便使发出中断请求信号,以便使CPUCPU再次输出数据。再次输出数据。A口选通输出方式过程口选通输出方式过程PS:PS:可以通过对可以通过对PC6PC6的置位和复位来设置的置位和复位来设置INTEINTE

22、A A。方式方式1 1的输出同样可以用查询或中断来实现的输出同样可以用查询或中断来实现8255的工作原理的工作原理三、三、8255A8255A的工作方式的工作方式3. 工作方式工作方式2:双向总线输入输出方式双向总线输入输出方式(P335P335)用用PC6设置设置INTE1,用用PC4设置设置INTE2。PC6PC7PC3PA7PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2D7D0WRRD输出输出应答应答信号信号输入输入应答应答信号信号输入和输出中断通过输入和输出中断通过或门输出或门输出INTRA信号。信号。应答输入的状态信号可通过读应答输入的状态信号可通过

23、读C口的相应数据位获得。口的相应数据位获得。微机原理与接口微机原理与接口工作在方式下的控制字工作在方式下的控制字D7:方式字的标志:方式字的标志D6,D5:组工作方式:组工作方式D4:口是输入还是输出:口是输入还是输出D3:口高四位输入还是输出:口高四位输入还是输出D2:口工作方式,:口工作方式,D1:口输入还是输出:口输入还是输出D0:输入还是输出:输入还是输出D7D6D5D4D3D2D1D0XX01X08255的工作原理的工作原理三、三、8255A8255A的工作方式的工作方式注意:注意:端口地址及片选信号的产生选择端口地址及片选信号的产生选择8255A8255A的的A A1 1、A A0

24、 0: 与与8086CPU8086CPU的的A A2 2、A A1 1相连;相连;与与8088CPU8088CPU的的A A1 1、A A0 0相连。相连。A1A1A0A08位位80888255端口地址端口地址:A1 A00 00 11 01 1X0HX1HX2HX3H80868255低低8位位A2A1A1A0A2 A1A00 00 11 01 10000端口地址端口地址:X0HX2HX4HX6H9.2 8255的应用的应用 (P337)例例1:电电路路如如图图示示。由由8个个LED实实时时显显示示8个个开开关关的的状状态态,开关断开,相应的开关断开,相应的LED亮,开关闭合,相应的亮,开关闭

25、合,相应的LED熄灭。熄灭。PA7K0 K6K75K 8+5VLED 8PA6PA0PB7PB6PB0A2A1A0A1A3A0A4A5A6ABCG2BG2AG1Y4CSA7M/IOWRRDRESETRESETRDWRD7D0D7D074LS13880868255A8255的应用的应用由由图图知知,A口口输输入入,8个个开开关关K7K0分分别别接接PA7PA0 。 B口输出,口输出,8个个LED7LED0分别接分别接PB7PB0(1) 8255A各端口地址:各端口地址:A7 A6 A5 A4 A3 A2 A1 A01 1 1 1 0 0 0 00F0H 端口端口A1 1 1 1 0 0 1 00

26、F2H 端口端口B1 1 1 1 0 1 0 00F4H 端口端口C1 1 1 1 0 1 1 00F6H 控制口控制口(2) 方式控制字:方式控制字:只用端口只用端口A、B。端口端口A、B均工作在方式均工作在方式0。A口输入,口输入,B口输出。口输出。10011000方式控制字:方式控制字:9.2 8255的应用的应用(3) 编程:编程:CCODESEGMENTASSUME CS:CCODESTART:MOV DX, 0F6HMOV AL, 98HOUT DX, ALTEST_IT: MOV DX, 0F0HINAL, DXMOV DX, 0F2HOUT DX, ALJMP TEST_ITC

27、CODEENDSEND START+5V10kPA38255APA4PA7PA610kPB7PB6PB4PB5PB3PB2PB0PB1例:例:电路如图电路如图二、二、键盘接口键盘接口PA0PA1PA5PA2例:例:8X8=648X8=64的键盘的键盘A A口做输出口做输出B B口做输入口做输入0567282D2E2F303535379.2 8255的应用的应用扫描扫描键盘步骤:键盘步骤:(P340)(1) 检测所有按键是否全都松开了,直到所有键松开。检测所有按键是否全都松开了,直到所有键松开。(5) 检测确认该键是否释放:检测确认该键是否释放:(2) 检测检测是否有键按下是否有键按下,直到有键

28、按下。,直到有键按下。(3) 检测确认有键按下。检测确认有键按下。(消除键抖动消除键抖动,20ms)(4) 检测确认是否只有一个键按下:检测确认是否只有一个键按下:否:转第(否:转第(1)步)步是:确认是:确认哪个键被按下哪个键被按下否:继续确认否:继续确认是:转第(是:转第(2)步)步(汇编语言程序见教材(汇编语言程序见教材P 340 P 342)微机原理与接口微机原理与接口判断是否有键按下判断是否有键按下对所有行(即对所有行(即A口所有位)都输出口所有位)都输出0(称作(称作“拉低拉低”),),然后读所有列(读然后读所有列(读B口),如果口),如果B口八位数据中有口八位数据中有0出现,则有

29、键按下出现,则有键按下判断哪个键被按下判断哪个键被按下确定行列号便可确定行列号便可依次依次把把PA0PA7拉低,读列值,看是否全为拉低,读列值,看是否全为1(与(与FFH比较),如不全为比较),如不全为1,则该行有,则该行有键按下,记下当前向键按下,记下当前向A口输出的值即为行号,口输出的值即为行号,读取当前读取当前B口的值即为列号口的值即为列号9.2 8255的应用的应用例:例:电路如图示。电路如图示。由由16个按键开关组成的键盘。个按键开关组成的键盘。+5V10kPA08255APA1PA3PA210kPB7PB6PB4PB5PB3PB2PB0PB10123456789ABCDEFA口用作

30、输出口用作输出B口用作输入口用作输入二、二、键盘接口键盘接口(P339)微机原理与接口微机原理与接口二、键盘接口二、键盘接口(P339)此处此处PA0PA3(行号)连接到(行号)连接到PB 4PB7 ,所以读,所以读B口时,所得的低四位为列号,高四位为行号。即口时,所得的低四位为列号,高四位为行号。即一次获取了行列号。一次获取了行列号。对每个键确定其行列号的值,在数据段中先存放键对每个键确定其行列号的值,在数据段中先存放键与行列号的对应表。那么,在读取到所按下键的与行列号的对应表。那么,在读取到所按下键的行列号时,通过查表即可得到所读键的名称。行列号时,通过查表即可得到所读键的名称。程序见书程

31、序见书后面的内容不讲后面的内容不讲微机原理与接口微机原理与接口9.2 8255的应用的应用 打印机并行接口标准打印机并行接口标准打印机并行接口通常采用打印机并行接口通常采用Centronics并行接并行接口标准,共有口标准,共有36个引脚信号。其说明见表个引脚信号。其说明见表1。五、五、打印机并行接口(了解)打印机并行接口(了解)在系统连接时,打印机一端是在系统连接时,打印机一端是36芯芯D型插座,型插座,主机一端是主机一端是25芯芯D型插座。主机与打印电缆之间型插座。主机与打印电缆之间的连线见表的连线见表2。微机原理与接口微机原理与接口表表1 Centronics并行打印接口标准并行打印接口

32、标准引脚引脚 信号名称信号名称方向方向功能说明功能说明1STROBE主机主机 打印机打印机数据选通脉冲(低电平数据选通脉冲(低电平接收数据)接收数据)29D0D7主机主机 打印机打印机8根数据线根数据线10ACKNLG主机主机 打印机打印机打印机应答信号,表示打印机应答信号,表示已接收到数据已接收到数据11BUSY主机主机 打印机打印机打印机忙,不能接收新打印机忙,不能接收新的数据的数据12PE主机主机 打印机打印机缺纸缺纸13SLCT主机主机 打印机打印机表示打印机能工作表示打印机能工作微机原理与接口微机原理与接口表表1 Centronics并行打印接口标准(续并行打印接口标准(续1)引脚引

33、脚信号名称信号名称方向方向功能说明功能说明14AUTO FEEDXT主机主机 打印机打印机打印一行后,自动打印一行后,自动走纸走纸15未用未用16逻辑地逻辑地17机壳地机壳地18未用未用1930GND地地31INIT主机主机 打印机打印机初始化打印机初始化打印机微机原理与接口微机原理与接口表表1 Centronics并行打印接口标准(续并行打印接口标准(续2)引脚引脚 信号名称信号名称方向方向功能说明功能说明32ERROR主机主机 打印机打印机无纸、脱机、出错指示无纸、脱机、出错指示33地地34未用未用35电源电源+5V36SLCT IN主机主机 打印机打印机允许打印机工作允许打印机工作微机原

34、理与接口微机原理与接口表表2 主机与打印机接口信号连线表主机与打印机接口信号连线表信号信号PC机并机并行口行口25芯芯D型型插座引插座引脚脚信号方向信号方向打印机打印机并行并行36芯芯D型插型插座引脚座引脚功能说明功能说明D0D729主机主机 打印机打印机29数数据据线线(低低电电平平接接收数据)收数据)STROBE1主机主机 打印机打印机1数据选通脉冲数据选通脉冲ACKNLG10主机主机 打印机打印机10打打印印机机应应答答信信号号,表示已收到数据表示已收到数据BUSY11主机主机 打印机打印机11打打印印机机忙忙,不不能能接接收新的数据收新的数据PE12主机主机 打印机打印机12缺纸缺纸S

35、LCT13主机主机 打印机打印机13表示打印机能工作表示打印机能工作微机原理与接口微机原理与接口表表2 主机与打印机接口信号连线表(续)主机与打印机接口信号连线表(续)信号信号PC机并机并行口行口25芯芯D型型插座引插座引脚脚信号方向信号方向打印机打印机并行并行36芯芯D型插型插座引脚座引脚功能说明功能说明AUTO FEEDXT14主机主机 打印机打印机14打打印印一一行行后后,自动走纸自动走纸ERROR15主机主机 打印机打印机32无无纸纸、脱脱机机、出错指示出错指示INIT16主机主机 打印机打印机31初始化打印机初始化打印机SLCT IN17主机主机 打印机打印机36允允许许打打印印机机

36、工工作作GND18251930, 33地地微机原理与接口微机原理与接口打印机适配器端口直接编程打印机适配器端口直接编程查询方式查询方式中断方式中断方式BIOS功能调用功能调用在在BIOS系系统统中中提提供供了了打打印印机机管管理理程程序序,用用户可使用户可使用INT 17H功能调用,完成字符打印。功能调用,完成字符打印。DOS功能调用功能调用用用户户可可调调用用INT 21H的的5号号子子功功能能,完完成成字字符打印功能。符打印功能。打印机接口编程实例打印机接口编程实例 微机原理与接口微机原理与接口查询方式查询方式例:例:8255A作为连接打印机的接口,工作在方作为连接打印机的接口,工作在方式

37、式0,输出。,输出。工工作作过过程程:需需要要打打印印时时,查查询询打打印印机机是是否否忙忙?不不忙忙时时通通过过8255A发发送送一一个个字字符符给给打打印印机机。为为使使打打印印机机接接收收数数据据,要要生生成成一一个个选选通通脉脉冲冲(初初始始值值是是1,置置0,再置,再置1 )。)。微机原理与接口微机原理与接口80868255A打印机打印机D7D0PAPC6PC2STBBUSY查询式打印机接口示意图查询式打印机接口示意图解:解: A口口:方式:方式0、输出数据、输出数据下下C口口:方式:方式0、PC2输入状态信号输入状态信号上上C口口:方式:方式0、PC6输出选通信号输出选通信号方式控

38、制字为:方式控制字为:10000001B。为增强驱动能力,为增强驱动能力,可加门电路驱动可加门电路驱动微机原理与接口微机原理与接口设端口地址是:0D0H0D6H,要打印的字符放在BL中。程序如下:Setup:MOV AL,81H ;设置工作方式设置工作方式OUT0D6H,ALMOV AL,0DH; PC6置置1,0DH=0000,1101BOUT0D6H,ALReady:IN AL,0D2H ;读读PC口口TEST AL,04H ;打印机忙否打印机忙否(PC2 =BUSY=?)JNZReady ;PC2=1,打印机忙,等待,打印机忙,等待MOV AL,CL;打印的字符送打印的字符送AL中中OU

39、T0D0H,AL ; BL中的字符送中的字符送PA口口MOV AL,0CH;置置PC6为为0; 00001100=0CHOUT0D6H,AL ; 置置PC6=0,即,即 =0;INC AL;置置PC6为为1; 00001101=0DHOUT0D6H,AL;置置PC6=1,即即 =1, 0.5ms微机原理与接口微机原理与接口中断方式中断方式例:例:8255A作为连接打印机的接口,工作在方作为连接打印机的接口,工作在方式式0,输出。,输出。与与查查询询方方式式不不同同的的是是CPU通通过过8255A发发送送一一个个字字符符给给打打印印机机,打打印印机机取取走走数数据据后后,利利用用中中断断信信号号

40、通通知知CPU已已取取走走刚刚刚刚送送出出的的字字符符,打打印印机机已已准准备备好好接接收收数数下一个数据。下一个数据。微机原理与接口微机原理与接口80868255A打印机D7D0PAPC0PC6STBACK中断式打印机接口示意图中断式打印机接口示意图解:解: A口:方式口:方式1、输出数据、输出数据 PC6输入外设响应信号输入外设响应信号 下下C口:方式口:方式0、PC0输出选通信号输出选通信号PC3IR3INTRINTA8259A方式控制字为:方式控制字为:10100000B。微机原理与接口微机原理与接口设端口地址是:设端口地址是:0C0H0C6H,用,用DI指示字符在缓冲指示字符在缓冲区

41、的位置。区的位置。程序如下:程序如下:1、中断服务程序:(假设开始位置是、中断服务程序:(假设开始位置是2000H:1000H)PRNDRV:MOV AL, DI ;打印的字符送;打印的字符送AL中中OUT0C0H,ALINC DIMOV AL,00;置;置PC0为为0OUT0C6H,ALMOV AL,1;置;置PC0为为1OUT0C6H,ALMOV AL,20H;向;向8259A发发EOI命令命令OUT 20H,ALIRET ;该程序做了简化处理。;该程序做了简化处理。微机原理与接口微机原理与接口2、主程序INIT8259A:MOV AL,13H ;初始化;初始化8259A OUT 20H,

42、AL MOV AL, 8 OUT 21H,AL MOV AL,9 OUT 21H,ALINIT8255A:MOV AL,0A0H ;设置;设置8255A工作方式工作方式 OUT 0C6H,AL MOV AL,01 ;置;置PC2为为1 OUT 0C6H,AL微机原理与接口微机原理与接口INSTDRV:MOV AX,0;安装中断向量;安装中断向量MOV DS,AX;IR3的中断类型是的中断类型是0BHMOV Word Ptr 0BH*4 ,1000HMOV Word Ptr 0BH*4+2 ,2000HSETUPIF:MOV AL,0DH ;设置;设置8255A的的INTEAOUT 0C6H,A

43、LIN AL,21H;设置;设置8259A的的IMR,允许,允许IR3AND AL,0FBHOUT 21H,ALSTI;开中断;开中断123微机原理与接口微机原理与接口3 3、打印驱动程序、打印驱动程序假设字符缓冲区从假设字符缓冲区从3000H3000H:0000H0000H处开始存放,处开始存放,在在3000H3000H:1000H1000H处存放一个字,表示打印字符数。处存放一个字,表示打印字符数。PRINTPRINT:MOV AXMOV AX,3000H3000HMOV DSMOV DS,AXAXMOV DIMOV DI,0000H0000HINT 0BHINT 0BH;第一次中断,可以

44、软件;第一次中断,可以软件;触发;触发LOOP1LOOP1:CMPCMPDIDI,1000H1000HJB LOOP1JB LOOP1MOV ALMOV AL,0CH0CH;关闭;关闭INTEINTEA AOUT 0D3HOUT 0D3H,ALAL说明:打印结束也可以在中断服务程序中进行判断。说明:打印结束也可以在中断服务程序中进行判断。微机原理与接口微机原理与接口例例4 设设计计一一个个PC/XT机机与与打打印印机机的的接接口口电电路路,采采用用中中断断控控制制,画画出出硬硬件件逻逻辑辑图图并并设设计计相相应应的的驱驱动动程程序序。设设8255口地址为口地址为280H286H,选,选A组方式

45、组方式1输出组态。输出组态。 工作过程:工作过程:输出指令产生输出指令产生WRWR输出输出P7P0,产生产生OBFOBF至至8255 STROBE将将P7P0打打入入打打印印机机输输入入寄存器,并产生寄存器,并产生BUSY和外设和外设ACK外设外设ACK至至8255 ACK产生产生INTR并复位并复位OBFINTR使使CPU进进入入中中断断服服务务又又执执行行输输出出指指令令,输出下一个数据输出下一个数据微机原理与接口微机原理与接口微机原理与接口微机原理与接口参考程序:参考程序:LPT_OUT SEGMENTASSUME CS: LPT_OUT, DS: LPT_OUTASSUME ES: L

46、PT_OUT, SS: LPT_OUTORG 100HSTA PROCJMP INITUF_BEG DB 4096 DUP(20)POINTDW ?BUF_LEG EQU 4096微机原理与接口微机原理与接口LPT_INT PROCSTIPUSH AXPUSH BXPUSH CXPUSH DXPUSH DSPUSH ESPUSH CSPOP DS微机原理与接口微机原理与接口MOV BX, POINTMOV AL, BXCMP AL, 1AHJE LPT_INT2MOV DX, 284HOUT DX, ALINC BXMOV POINT, BXCMP BX, OFFSET POINTJNE LP

47、T_INT1移动文件读指针移动文件读指针读文件至缓冲区读文件至缓冲区初始化缓冲区指针初始化缓冲区指针微机原理与接口微机原理与接口LPT_INT1: POP ES POP DS POP DX POP CX POP BX MOV AL, 20H OUT 20H, AL POP AX IRET微机原理与接口微机原理与接口LPT_INT2: MOV DX, 287H MOV AL,0CH OUT DX, AL MOV AL, 00H OUT DX, AL PUSH CS POP ES MOV AH, 49H INT 21H JMP LPT_INT1LPT_INT ENDP微机原理与接口微机原理与接口I

48、NIT: STI IN AL, 21HAND AL, 0F7HOUT 21H, ALMOV DX, OFFSET LPT_INTMOV AX, 250BHINT 21H微机原理与接口微机原理与接口MOV DX, 287HMOV AL, 0A2HOUT DX, ALMOV AL, 0BHOUT DX, ALMOV AL, 0AHOUT DX, ALMOV AL, 01HOUT DX, ALMOV DX, 285HIN AL, DXAND AL, 7JE L1否,打印机出错提示否,打印机出错提示微机原理与接口微机原理与接口L1: 读文件至内存缓冲区,初始化缓冲区指针读文件至内存缓冲区,初始化缓冲区

49、指针MOV DX, 287HMOV AL, 0DHOUT DX, ALMOV DX, 284HMOV BX, POINTMOV AL, BXINC BXMOV POINT, BXOUT DX, ALMOV DX, OFFSET INITINT 27HINT 20HSTA ENDPLPT_OUT ENDS END STA微机原理与接口微机原理与接口习题当8255A工作在方式1和方式2时,哪些引脚是联络线?这些联络信号有效时代表什么物理意义?当CPU用查询方式和8255A交换信息时,应查询哪些信号?用中断方式和8255A交换信息时,利用哪些端口提出中断请求?8255A的方式选择控制字和口C置0/置1控制字都是写入控制端口的,8255A是怎样识别的?

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号