版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第9 9章章 并行接口芯片并行接口芯片8255A8255A教学重点n 8255A8255A的工作方式和编程的工作方式和编程n 8255A 8255A的应用的应用并行数据传输方式并行数据传输方式n以计算机的字长,通常是以计算机的字长,通常是8 8位、位、1616位或位或3232位为传输位为传输单位,一次传送一个字长的数据单位,一次传送一个字长的数据n适合于外部设备与微机之间进行近距离、大量和适合于外部设备与微机之间进行近距离、大量和快速的信息交换快速的信息交换n例如:微机与并行接口打印机、磁盘驱动器例如:微机与并行接口打印机、磁盘驱动器n微机系统中最基本的信息交换方法微机系统中最基本的信息交换
2、方法n例如:系统板上各部件之间,接口电路板上各例如:系统板上各部件之间,接口电路板上各部件之间部件之间9.1 9.1 并行接口电路并行接口电路8255A8255An具有多种功能的可编程并行接口电路芯片具有多种功能的可编程并行接口电路芯片n最基本的接口电路:三态缓冲器和锁存器最基本的接口电路:三态缓冲器和锁存器n与与CPUCPU间、与外设间的接口电路:状态寄存器间、与外设间的接口电路:状态寄存器和控制寄存器和控制寄存器n还有端口的译码和控制电路、中断控制电路还有端口的译码和控制电路、中断控制电路n有有3 3个个8 8位位I/OI/O数据端口数据端口n共三种输入输出工作方式共三种输入输出工作方式8
3、255A的内部结构和引脚的内部结构和引脚数据数据总线总线缓冲器缓冲器内部控制线内部控制线内部数据线内部数据线D0D7A组组控制控制A组组端口端口AA组组端口端口C上部上部B组组控制控制B组组端口端口BB组组端口端口C下部下部读写读写控制控制逻辑逻辑PC0PC3PB0PB7PC4PC7PA0PA7RDWRA0A1CSRESET1. 外设数据端口外设数据端口n端口端口A:PA0PA7nA组,支持工作方式组,支持工作方式0、1、2n端口端口B:PB0PB7nB组,支持工作方式组,支持工作方式0、1n端口端口C:PC0PC7n仅支持工作方式仅支持工作方式0nA组控制高组控制高4位位PC4PC7nB组控
4、制低组控制低4位位PC0PC3n端口端口A:PA0PA7n常作数据端口,功能最强大常作数据端口,功能最强大n输入输出数据都锁存输入输出数据都锁存n端口端口B:PB0PB7n常作数据端口常作数据端口n输入不锁存,输出锁存输入不锁存,输出锁存n端口端口C:PC0PC7n可作数据、状态和控制端口可作数据、状态和控制端口n分两个分两个4位,每位可独立操作位,每位可独立操作n输入不锁存,输出锁存输入不锁存,输出锁存n控制最灵活,最难掌握控制最灵活,最难掌握2. 基本操作 A A1 1 A A0 0 RD WR CS RD WR CS操作操作 0 0 0 1 00 0 0 1 00 1 0 1 00 1
5、0 1 01 0 0 1 01 0 0 1 0端口端口A A 数据总线数据总线端口端口B B 数据总线数据总线端口端口C C 数据总线数据总线 0 0 1 0 00 0 1 0 00 1 1 0 00 1 1 0 01 0 1 0 01 0 1 0 01 1 1 0 01 1 1 0 0数据总线数据总线 端口端口A A数据总线数据总线 端口端口B B数据总线数据总线 端口端口C C数据总线数据总线 控制字寄存器控制字寄存器 1 11 1 0 1 01 1 0 1 0 1 1 0 1 1 0数据总线三态数据总线三态非法状态非法状态数据总线三态数据总线三态 76543210控制C口低4位1 输入0
6、 输出控制B口8位1 输入0 输出方式选择0 方式01 方式1控制C口高4位1 输入0 输出控制A口8位1 输入0 输出方式选择00 方式001 方式11 方式2功能控制0:位操作1:方式选择A组控制B组控制1. 方式控制字方式控制字(写入控制口)(写入控制口)例:设例:设8255A端口地址为端口地址为0380H、0381H、0382H、0383H。要把。要把A口指定为方式口指定为方式1输入,输入,C口上半口上半部定为输出,部定为输出,B口指定为方式口指定为方式0输出,输出,C口下半部定为输入,则口下半部定为输入,则控制字应为:控制字应为:10110001B或或0B1H。初始化程序为:初始化程
7、序为:MOV DX,0383HMOV AL,0B1HOUT DX,AL 9.2 8255A9.2 8255A的控制字的控制字D7D6D5D4D3D2D1D0无关0置/复位0 复位1 置位C口 的 位 选 择D3D2D1选 择0 0 0PC00 0 1PC10 1 0PC20 1 1PC31 0 0PC41 0 1PC51 1 0PC61 1 1PC7例如,设例如,设8255A端口地址端口地址为为60H63H,现要求先,现要求先置置PC4为高电平,再复位为高电平,再复位PC4,则相应的程序段如,则相应的程序段如下:下: MOV AL,00001001BOUT 63H,ALMOV AL,00001
8、000BOUT 63H,AL2. C口置位口置位/复位控制字复位控制字(写入控制口)(写入控制口)读写数据端口读写数据端口n初始化编程后:初始化编程后:n当数据端口作为输入接口时,执行输入当数据端口作为输入接口时,执行输入IN指令将从输指令将从输入设备得到外设数据入设备得到外设数据n当数据端口作为输出接口时,执行输出当数据端口作为输出接口时,执行输出OUT指令将把指令将把CPU的数据送给输出设备的数据送给输出设备n8255A具有锁存输出数据的能力具有锁存输出数据的能力n对输出方式的端口同样可以输入对输出方式的端口同样可以输入n不是读取外设数据不是读取外设数据n读取的是上次读取的是上次CPU给外
9、设的数据给外设的数据9.3 8255A9.3 8255A的工作方式的工作方式n方式方式0:基本输入输出方式基本输入输出方式n适用于无条件传送和查询方式的接口电路适用于无条件传送和查询方式的接口电路n方式方式1:选通输入输出方式选通输入输出方式n适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路n方式方式2:双向选通传送方式双向选通传送方式n适用于与双向传送数据的外设适用于与双向传送数据的外设n适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路1 1、工作方式、工作方式0(0(基本输入输出方式基本输入输出方式) )1. 两个两个8位端口(口位端口(口A、口、口B)和两个)和两
10、个4位端口(口位端口(口C的上、的上、下部分)。下部分)。2. 任何一个端口可以作为输入端口或输出端口。任何一个端口可以作为输入端口或输出端口。3. 输出数据可被锁存,输入数据不被琐存。输出数据可被锁存,输入数据不被琐存。4. 8255A起数据缓冲作用。起数据缓冲作用。 注意:注意:工作方式工作方式0适用于无需应答信号的无条件传送,适用于无需应答信号的无条件传送,也可人也可人为指定某些位作为状态信息线,进行查询式传送。为指定某些位作为状态信息线,进行查询式传送。 方式方式0 0输入时序输入时序请体会这里请体会这里8255A8255A的的数据缓冲作用数据缓冲作用方式方式0 0输出时序输出时序82
11、55A8255A对对CPUCPU通过它通过它输出给外设的数据进行锁存输出给外设的数据进行锁存2 2、工作方式、工作方式1(1(选通输入输出方式选通输入输出方式) )A口、口、B口作为数据的输入或输出口,口作为数据的输入或输出口,但必须通过端口但必须通过端口C C相应位的控制来实现相应位的控制来实现 。C口的某些位相应地被定义为口的某些位相应地被定义为A口、口、B口的状态和控制信口的状态和控制信号线。其余位可由程序(写方式控制字)指定为输入或号线。其余位可由程序(写方式控制字)指定为输入或输出。输出。方式方式1输入引脚:输入引脚:A端口端口数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A
12、口已经接收数据中断请求信号请求CPU接收数据PC4PC5PC3PA7PA0INTEAIBFAINTRASTBA中断允许触发器方式方式1输入引脚:输入引脚:B端口端口PC2PC1PC0PB7PB0INTEBIBFBINTRBSTBB数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据中断允许触发器方式方式1 1需借用端口需借用端口C C用做联络信号用做联络信号同时还具有中断请求和屏蔽功能同时还具有中断请求和屏蔽功能方式1输入时序STBSTB* *和和IBFIBF是外设和是外设和8255A8255A间间的一对应答联络信号,的一对应答联络信号,为的是可
13、靠地输入数据为的是可靠地输入数据方式方式1 1中断控制中断控制n8255A8255A的中断由中断允许触发器的中断由中断允许触发器INTEINTE控制控制n置位允许中断,复位禁止中断置位允许中断,复位禁止中断n对对INTEINTE的操作通过写入端口的操作通过写入端口C C的对应位实现,的对应位实现,INTEINTE触发触发器对应端口器对应端口C C的位是作应答联络信号的输入信号的哪一的位是作应答联络信号的输入信号的哪一位,只要对那一位置位位,只要对那一位置位/ /复位就可以控制复位就可以控制INTEINTE触发器触发器n选通输入方式下选通输入方式下n端口端口A A的的INTEAINTEA对应对应
14、PC4PC4n端口端口B B的的INTEBINTEB对应对应PC2PC2方式1输出引脚:A端口外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC6PC7PC3PA7PA0INTEAOBFAINTRAACKA中断允许触发器方式1输出引脚:B端口PC2PC1PC0PB7PB0INTEBOBFBINTRBACKB外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允许触发器端口端口A A的的INTEAINTEA对应对应PCPC6 6端口端口B B的的INTEBINTEB对应对应P
15、CPC2 2方式1输出时序OBFOBF* *和和ACKACK* *是外设和是外设和8255A8255A间间的一对应答联络信号,的一对应答联络信号,为的是可靠地输出数据为的是可靠地输出数据方式2双向方式n方式方式2将方式将方式1的选通输入输出功能组合成一个双向数据的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据。端口,可以发送数据和接收数据。n外部设备即可以作为输入设备,又可以作为输出设备,外部设备即可以作为输入设备,又可以作为输出设备,且输入输出动作不同时进行。且输入输出动作不同时进行。n只有只有端口端口A可以工作于方式可以工作于方式2,需要利用端口需要利用端口C的的5个信号个
16、信号线,其作用与方式线,其作用与方式1相同相同n方式方式2的数据输入过程与方式的数据输入过程与方式1的输入方式一样的输入方式一样n方式方式2的数据输出过程与方式的数据输出过程与方式1的输出方式有一点不同:的输出方式有一点不同:数据输出时数据输出时8255A不是在不是在OBF*有效时向外设输出数据,有效时向外设输出数据,而是在外设提供响应信号而是在外设提供响应信号ACK*时才送出数据时才送出数据方式方式2双向引脚双向引脚PC6PC7PC3PA7PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断
17、通过或门输出INTRA信号方式2双向时序data-out INTR data-outdata-indata-inPA0PA7D0D7IBF WROBFACKSTBRD输入输出的顺序是任意的,只要输入输出的顺序是任意的,只要WR在在ACK以前发生;以前发生;STB在在RD以前发生即可。以前发生即可。9.4 8255A9.4 8255A的编程的编程n初始化编程:一个方式控制字初始化编程:一个方式控制字n采用控制采用控制I/OI/O地址:地址:A1A0A1A01111n工作过程中:通过数据端口对外设数据进行读工作过程中:通过数据端口对外设数据进行读写写n数据读写利用端口数据读写利用端口A A、B B
18、和和C C的的I/OI/O地址,地址,A1A0A1A0依次等于依次等于0000、0101、10101.1.写入方式控制字:控制字格式写入方式控制字:控制字格式方式控制字示例方式控制字示例n要求:要求:nA A端口:方式端口:方式1 1输入输入nC C端口上半部:输出,端口上半部:输出,C C口下半部:输入口下半部:输入nB B端口:方式端口:方式0 0输出输出n方式控制字:方式控制字:10110001B10110001B或或0B1H0B1Hn初始化的程序段:初始化的程序段:mov dx,0fffehmov dx,0fffeh; ;假设控制端口为假设控制端口为FFFEHFFFEHmov al,0
19、b1hmov al,0b1h; ;方式控制字方式控制字out dx,alout dx,al; ;送到控制端口送到控制端口2. 2. 读写数据端口读写数据端口n初始化编程后:初始化编程后:n当数据端口作为输入接口时,执行输入当数据端口作为输入接口时,执行输入IN指指令将从输入设备得到外设数据令将从输入设备得到外设数据n当数据端口作为输出接口时,执行输出当数据端口作为输出接口时,执行输出OUT指令将把指令将把CPU的数据送给输出设备的数据送给输出设备示例 利用利用8255A8255A的输出锁存能力,可实现按位输出的输出锁存能力,可实现按位输出控制对输出端口控制对输出端口B B的的PB7PB7位位置
20、位置位的程序段:的程序段:mov dx,0fffah;B端口假设为端口假设为FFFAHin al,dx;读出读出B端口原输出内容端口原输出内容or al,80h;使使PB71out dx,al;输出新的内容输出新的内容3. 3. 读写端口读写端口C C:归纳:归纳1 1nC端口被分成端口被分成两个两个4位端位端口口,两个端口只能以方,两个端口只能以方式式0工作,可分别选择工作,可分别选择输入或输出输入或输出n在控制上,在控制上,C端口上半部和端口上半部和A端口编为端口编为A组,组,C端口下端口下半部和半部和B端口编为端口编为B组组3. 3. 读写端口读写端口C C:归纳:归纳2 2n当当A和和
21、B端口工作在方式端口工作在方式1或方式或方式2时,时,C端口的部端口的部分或全部引脚将分或全部引脚将被征用被征用n其余引脚仍可设定工作在方式其余引脚仍可设定工作在方式03. 读写端口C:归纳3n读取的读取的C端口数据有两种情况端口数据有两种情况1)未被)未被A和和B端口征用的引脚端口征用的引脚:将从定义为输入的端口读:将从定义为输入的端口读到引脚输入信息;将从定义为输出的端口读到输出锁存到引脚输入信息;将从定义为输出的端口读到输出锁存器中的信息器中的信息2)被)被A和和B端口征用作为联络线的引脚端口征用作为联络线的引脚:将读到反映:将读到反映8255A状态的状态的状态字状态字D D7 7D D
22、6 6D D5 5D D4 4D D3 3D D2 2D D1 1D D0 0方式方式1输入输入I/OI/OIBFAINTEA INTRAINTEBIBFBINTRB方式方式1输出输出OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB方式方式2双向双向OBFAINTE1IBFAINTE2INTRA端口C的状态字A组组B组组3. 读写端口C:归纳4n对端口对端口C C的数据输出有两种办法的数据输出有两种办法1 1)通过端口)通过端口C C的的I/OI/O地址:地址:向向C C端口直接端口直接写入字节数据写入字节数据。这。这一数据被写进一数据被写进C C端口的输出锁存器,并从输出
23、引脚输出,端口的输出锁存器,并从输出引脚输出,但对设置为输入的引脚无效;但对设置为输入的引脚无效;2 2)通过控制端口:)通过控制端口:向向C C端口端口写入位控字写入位控字,使,使C C端口的某个引端口的某个引脚输出脚输出1 1或或0 0,或置位复位内部的中断允许触发器;,或置位复位内部的中断允许触发器;例如A A口、口、B B口皆为方式口皆为方式1 1输入,试编程允许端口输入,试编程允许端口A A中断请求,禁止端中断请求,禁止端口口B B中断请求,设中断请求,设C C口地址为口地址为302H302H,控制口地址为,控制口地址为303H303H。则其程序段为:则其程序段为:nMOV DXMO
24、V DX,302H302H ;8255A C8255A C口口nMOV ALMOV AL,00010000B 00010000B ;置;置PCPC4 4=1=1,PCPC2 2=0=0nOUT DXOUT DX,ALAL n或者或者nMOV DXMOV DX,303H303H ;8255A 8255A 控制口控制口nMOV ALMOV AL,00001001B 00001001B ;置;置PCPC4 4=1=1nOUT DXOUT DX,ALALnMOV ALMOV AL,00000100B 00000100B ;置;置PCPC2 2=0=0nOUT DXOUT DX,ALAL9.5 8255
25、A的应用作为通用的并行接口电路芯片,作为通用的并行接口电路芯片,8255A8255A具有广泛具有广泛的应用的应用n应用在应用在IBM PC/XTIBM PC/XT微机上微机上n应用于打印机接口电路应用于打印机接口电路n连接简易键盘连接简易键盘n驱动驱动LEDLED数码管数码管n1 1、基本输入输出应用举例、基本输入输出应用举例8255AD0D7CSA1A0WEOE&A7A5A4E3E2E1ABCY0A8A6A3M/IOA974LS138A2A1WRRD例:例:如右图所示,如右图所示,80868086微机系统扩展微机系统扩展一片一片8255A8255A作为并行作为并行口口 , 同 时 还
26、 配 以同 时 还 配 以74LS13874LS138译码器等芯译码器等芯片。片。端口端口A A为方式为方式1 1输入,以中断方式输入,以中断方式与与CPUCPU交换数据,中交换数据,中断类型号为断类型号为0FH0FH;端;端口口B B工作于方式工作于方式0 0输输出,端口出,端口C C作为输入。作为输入。 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 0 1 0 1 1 0 0 0 0 A口口地址地址 0 0 1 0 1 1 0 0 1 0 B口口地址地址 0 0 1 0 1 1 0 1 0 0 C口口地址地址 0 0 1 0 1 1 0 1 1 0 控制口控制口地址地址即
27、:即:A口口地址为地址为0B0H B口口地址为地址为0B2H C口口地址为地址为0B4H 控制口控制口地址为地址为0B6HMOV ALMOV AL,10111001B10111001B ;方式控制字;方式控制字MOV DXMOV DX,0B6H0B6HOUT DXOUT DX,ALALMOV ALMOV AL,00001001B 00001001B ;PCPC4 4=1=1,开放端口,开放端口A A的输入中断请求的输入中断请求OUT DXOUT DX,ALALMOV AXMOV AX,0 0 ;中断类型;中断类型0FH0FH的矢量地址的矢量地址MOV ESMOV ES,AXAXMOV DIMO
28、V DI,0FH0FH* *4 4MOV AXMOV AX,OFFSET SERA OFFSET SERA ;SERASERA是端口是端口A A中断服务子程序名中断服务子程序名CLDCLDSTOSWSTOSWMOV AXMOV AX,SEG SERASEG SERASTOSWSTOSW 具体具体8255A8255A的初始化程序如下:的初始化程序如下:2 2、8255A8255A与与LEDLED显示器的接口显示器的接口 n发光二极管发光二极管LEDLED是最简单的显示设备是最简单的显示设备n由由7 7段段LEDLED就可以组成的就可以组成的LEDLED数码管数码管nLEDLED数码管广泛用于单板
29、微型机、微型机控制系数码管广泛用于单板微型机、微型机控制系统及数字化仪器中统及数字化仪器中nLEDLED数码管可以显示内存地址和数据等数码管可以显示内存地址和数据等1、LED数码管的工作原理hgfedcbaLED数码管的结构共阳极共阳极阳极阳极+5Vabcdefgh阴极阴极abcdefgh共阴极共阴极2 2、8255A8255A和和LEDLED显示器的接口应用显示器的接口应用 8255A的初始化MOV DX , 203H MOV DX , 203H ;控制寄存器地址;控制寄存器地址MOV AL , 10000000B MOV AL , 10000000B ;端口;端口A A和端口和端口B B均
30、为方式均为方式0 0输出输出OUT DX , ALOUT DX , AL 端口端口A A是段码输出端口,送出显示代码到数码是段码输出端口,送出显示代码到数码管相应引脚;而端口管相应引脚;而端口B B是位码输出端口,用于选择是位码输出端口,用于选择要点亮的那个数码管。端口要点亮的那个数码管。端口A A和端口和端口B B都采用方式都采用方式0 0实现输出。实现输出。关显示 设设DISBUFDISBUF缓冲区中有缓冲区中有4 4个待显示的字符,软件译码动态显示个待显示的字符,软件译码动态显示的驱动程序如下:的驱动程序如下: DISPLAY PROC DISPLAY PROC LEA DI, DISB
31、UF LEA DI, DISBUF ;指向显示缓冲区首址;指向显示缓冲区首址 MOV CL, O8H MOV CL, O8H ;指向左端;指向左端LEDLED显示器显示器 MOV AL, 00H MOV AL, 00H ;将;将0000送位码寄存器,关显示送位码寄存器,关显示 MOV DX, 201H MOV DX, 201H OUT DX, AL OUT DX, AL某位LED显示DISP: MOV AL, DI DISP: MOV AL, DI ;取要显示的字符;取要显示的字符 LEA BX, DISCODE LEA BX, DISCODE ;段码表首址送;段码表首址送BXBX XLAT
32、XLAT ;(BX)+(AL)-AL,AL(BX)+(AL)-AL,AL中为要显示数的段码中为要显示数的段码 DEC DXDEC DX OUT DX, AL OUT DX, AL ;将段码送至端口;将段码送至端口A A MOV AL, CL MOV AL, CL ;将位码送端口;将位码送端口B B INC DX INC DX OUT DX, AL OUT DX, AL依次显示 CMP CL, 01 CMP CL, 01 ;显示至最右端吗?;显示至最右端吗? JZ DESEND JZ DESEND ;是,转出口;是,转出口 INC DI INC DI ;否,指向下一位要显示的字符;否,指向下一位
33、要显示的字符 SHR CL ,1 SHR CL ,1 ;位码右移一位,指向下一个数位;位码右移一位,指向下一个数位 JMP DISPJMP DISPDISEND: RETDISEND: RETDISPLAY ENDP DISPLAY ENDP 三三. 用用8255A做并行打印机的接口做并行打印机的接口l 打印机的信号简介打印机的信号简介l 打印机的工作过程打印机的工作过程n1. 采用查询方式控制打印采用查询方式控制打印n2. 采用中断方式控制打印25针针D型型插插头头STROBED0D1D2D3D4D5D6D7ACKBUSYPESLCTERRORAUTO FD XTINITSLCT INGND
34、1234567891011121314151617其它其它打打印印机机D7D0STROBEACK数数 据据锁存器锁存器BUSY控控制制电电路路选通信号选通信号响应信号响应信号状态信号状态信号0 空闲空闲1 忙忙数据线数据线l 打印机的信号简介打印机的信号简介D0 D7 : 数据线,接收要打印的数据。数据线,接收要打印的数据。 STROBE : 数据选通信号,数据选通信号,输入信号输入信号,负脉冲有效,负脉冲有效, 该信号有效时,该信号有效时,将数据线将数据线 D0D7上的上的 数据锁存到打印机的数据寄存器中数据锁存到打印机的数据寄存器中。ACK : 响应信号,响应信号,输出信号输出信号,负脉冲
35、信号,负脉冲信号, 打印机打印完送来的数据后,打印机打印完送来的数据后, 并准备好接收新的数据时发出的响应信号。并准备好接收新的数据时发出的响应信号。BUSY : 打印机状态信号,输出信号,打印机状态信号,输出信号, BUSY=1,表示打印机正在进行内部操作,表示打印机正在进行内部操作, 处于忙状态,不能接收新的数据,处于忙状态,不能接收新的数据, BUSY=0,表示打印机处于空闲状态,表示打印机处于空闲状态, 可以接收新的数据可以接收新的数据。STROBED7 D0BUSYACK数数 据据STROBEBUSYD7D0ACK打打印印机机数数 据据锁存器锁存器控控制制电电路路l 打印机的工作过程
36、打印机的工作过程 当打印机不忙当打印机不忙 BUSY=0时,将数据送至数据线时,将数据送至数据线D7D0; 通过通过STROBE发一个负脉冲信号,发一个负脉冲信号, 其下降沿将其下降沿将D7D0线上的数据锁存到打印机的数据锁存器中,线上的数据锁存到打印机的数据锁存器中, 并使并使BUSY=1,表示打印机正处于忙状态,表示打印机正处于忙状态; 打印机处理完数据,并准备好接收新的数据时,打印机处理完数据,并准备好接收新的数据时, 发出一个负脉冲响应信号发出一个负脉冲响应信号ACK, 其上升沿使其上升沿使BUSY=0。锁存数据锁存数据用用8255A做并行打印机的接口做并行打印机的接口, 采用查询方式
37、采用查询方式控制打印机工作。控制打印机工作。分析:分析:由打印机的工作过程,知:由打印机的工作过程,知: CPU通过通过查询查询BUSY信号信号,可知打印机的状态,可知打印机的状态, 在在BUSY=0时,时,CPU通过打印机的数据线通过打印机的数据线D7D0送出数据,送出数据, 并发出一个负脉冲的选通信号并发出一个负脉冲的选通信号STROBE,使数据进入打印机,使数据进入打印机STROBED7 D0BUSYACK数数 据据STROBEBUSYD7D0ACK打打印印机机数数 据据锁存器锁存器控控制制电电路路下图为采用查询方式控制打印机的接口连线图,下图为采用查询方式控制打印机的接口连线图, 82
38、55A的端口的端口A工作在方式工作在方式0输出输出。A0A1CS并行接口并行接口8255A打打印印机机PC总线总线A0A1数数 据据 线线IORRDWRIOW片选片选译码译码PA0PA7PC0PC4A2A9数据线数据线STROBEBUSYD0D7D0D7F8FBH分析:分析: 确定确定8255A各端口地址各端口地址: A口:口:F8H, B口:口: F9H, C口:口:FAH, 控制口:控制口:FBH确定确定8255A控制字控制字: A口方式口方式0输出,输出, PC7PC4入,入,PC3PC0出,出, 方式控制字为方式控制字为1000 1000B接口工作过程接口工作过程:1) 通过通过PC4
39、查询打印机的状态信号查询打印机的状态信号BUSY ;2) 当当BUSY=0时,通过时,通过A口输出要打印的数据;口输出要打印的数据;3) 通过通过PC0向打印机输出负脉冲选通信号向打印机输出负脉冲选通信号STROBE, 将数据锁存在打印机的数据锁存器中,让打印机处理。将数据锁存在打印机的数据锁存器中,让打印机处理。片片选选译译码码打打印印机机PA0PA7PC0PC4BUSYSTROBEF8FBHD0 D7RDWRA0A1CSD0 D7IORIOWA0A1A2A9查询打印程序流程图查询打印程序流程图:并行接口并行接口8255APC总线总线片片选选译译码码打打印印机机PA0PA7PC0PC4BUS
40、YSTROBEF8FBHD0 D7RDWRA0A1CSD0 D7IORIOWA0A1A2A9开开始始设设置置 8255A 工工作作方方式式控控制制字字返返回回 DOS从从 PC4 读读入入打打印印机机状状态态YN从从缓缓冲冲区区取取打打印印字字符符YN从从 A 口口输输出出打打印印字字符符从从 PC0 输输出出负负脉脉冲冲选选通通信信号号修修改改缓缓冲冲区区指指针针DS:SI 取取缓缓冲冲区区首首址址 CX 打打印印字字符符数数打打印印结结束束?PC4=0 打印机空闲?打印机空闲?DATA SEGMENTBUFFER DB Hello Word! . ;缓冲区缓冲区DATA ENDSCODE
41、SEGMENT ASSUME CS: CODE, DS:DATASTART: MOV AX, DATA ;置缓冲区首址置缓冲区首址 MOV DS, AX LEA SI, BUFFER MOV CX, 100H ;打印字符数打印字符数 MOV AL, 10001000B ;置方式控制字置方式控制字 OUT 0FBH, AL ASK: IN AL, 0FAH ;查询打印机状态查询打印机状态 TEST AL, 00010000B JNZ ASK MOV AL, SI OUT 0F8H, AL ;输出字符至输出字符至A口口 MOV AL, 00000000B ;发选通信号发选通信号 OUT 0FBH, AL ; PC0=0 NOP ;延时一会延时一会 MOV AL, 00000001B ;PC0=1 OUT 0FBh, AL ;形成负脉冲信号形成负脉冲信号 INC SI ;修改指针修改指针 LOOP ASK ;打印下一字符打印下一字符 MOV AH, 4CH INT 21h ;返回返回DOSCODE ENDS END START方式方式0 0查询打印程序:查询打印程序:并行接口并行接口8255APC总线总线片片选选译译码码打打印印机机PA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国低温超导线材市场深度分析及发展前景研究预测报告
- 2025年县域电商专项年终总结(特产+直播)
- 2025年养老机构医疗服务岗年终照护成效总结
- 2026-2031年中国短柄镰刀菌蛋白市场调研分析及投资战略研究报告
- 电话招商话术技巧
- 2025上海市张江公证处招聘3人备考题库及答案详解(有一套)
- 2026中国民生银行汕头分行全球校园招聘备考题库含答案详解(培优a卷)
- 2025山东日照市莒县招聘城市社区工作者40人备考题库含答案详解(新)
- 2025河南商丘睢阳区消防救援大队招聘政府专职消防员15人备考题库及答案详解(网校专用)
- 2026“梦想靠岸”招商银行东莞分行冬季校园招聘备考题库含答案详解(突破训练)
- 2025年医药行业医药行业数字化营销策略分析报告
- 2025-2026学年人教版八年级生物上册期中考试卷及答案
- 低值易耗品合同范本
- 2025年反洗钱知识竞赛考试题库(含答案)
- 建筑企业薪资体系设计方案
- 2025高三历史高考答题规范与技巧总结
- 中外古代建筑介绍
- 慢性阻塞性肺疾病急性加重期护理要点
- 2025版双相情感障碍常见症状及护理要点
- (2025年)大庆市龙凤区事业单位人才引进考试试卷及答案
- 国家赔偿法-形成性考核(一):第1-3章(占总成绩10%)-国开(ZJ)-参考资料
评论
0/150
提交评论