微机接口与编程第五章数字量输入输出4(8255)_第1页
微机接口与编程第五章数字量输入输出4(8255)_第2页
微机接口与编程第五章数字量输入输出4(8255)_第3页
微机接口与编程第五章数字量输入输出4(8255)_第4页
微机接口与编程第五章数字量输入输出4(8255)_第5页
已阅读5页,还剩68页未读, 继续免费阅读

下载本文档

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

文档简介

1、1许庆阳许庆阳机电与信息工程学院机电与信息工程学院 2数据传送的方式有两种:串行传送和并行传送数据传送的方式有两种:串行传送和并行传送串行传送串行传送就是数据在一根传输线上一位一位地传就是数据在一根传输线上一位一位地传送。在串行传送方式下,外设或(被控对象)必送。在串行传送方式下,外设或(被控对象)必须通过串行接口与系统总线相连接,如键盘,鼠须通过串行接口与系统总线相连接,如键盘,鼠标,调制解调器等。标,调制解调器等。并行传送并行传送就是同时在多根传输线上,数据以字节就是同时在多根传输线上,数据以字节(字)为单位进行传送。在并行传送方式下,外(字)为单位进行传送。在并行传送方式下,外设(或被控

2、对象)必须通过并行接口与系统总线设(或被控对象)必须通过并行接口与系统总线相连接,如打印机、相连接,如打印机、A/D、D/A转换器等都通过转换器等都通过并行接口与主机相连。并行接口与主机相连。 3 4(1)并行接口同时在)并行接口同时在多根传输线上以字节(字)为单位多根传输线上以字节(字)为单位传送数据。传送数据。(2)并行传送)并行传送速度快、成本高、适用于近距离、传送速速度快、成本高、适用于近距离、传送速度要求高度要求高的场合。的场合。(3)并行传送当前还)并行传送当前还没有标准化没有标准化,所以,并行传送的信,所以,并行传送的信息不要求有固定的格式,并行传送中同步传送和异步传息不要求有固

3、定的格式,并行传送中同步传送和异步传送没有严格的定义。一般来说,如果送没有严格的定义。一般来说,如果CPU用一个时钟信用一个时钟信号来管理接口与外设的动作,则看成是同步并行传送;号来管理接口与外设的动作,则看成是同步并行传送;如果如果CPU和接口及外设通过应答信号来进行联络和通信,和接口及外设通过应答信号来进行联络和通信,则认为是异步并行传送。则认为是异步并行传送。(4)并行接口电路从功能上可分为简单并行接口(不可)并行接口电路从功能上可分为简单并行接口(不可编程并行口)和可编程并行接口两种。编程并行口)和可编程并行接口两种。 5一、一、8255A三端口可编程三端口可编程8位并行位并行I/O8

4、255A的主要功能:的主要功能: 可以实现直接转送、查询或中断方式的并行可以实现直接转送、查询或中断方式的并行I/OI/O数数据传送据传送要点:要点:u三个端口(三个端口(A A口、口、B B口、口、C C口)的功能是如何口)的功能是如何被不同等安排的?被不同等安排的?uC C口的引脚如何被征用及转化的作用是什么?口的引脚如何被征用及转化的作用是什么? 6一、一、8255A8255A三端口可编程三端口可编程8 8位并行位并行I/OI/O( (一一) ) 引脚及结构引脚及结构P276P276图图5.405.40 口口resetD7D0A9A2A1A0IORIOW片选片选译码译码数据数据缓冲器缓冲

5、器读写读写控制控制片内片内译码译码CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B +5VGNDD7D0外外设设8255A总线总线 7l 并行接口连接并行接口连接CPUCPU与并行外设,与并行外设,实现两者间的并行通信,实现两者间的并行通信, 在信息传送过程中,起到输出在信息传送过程中,起到输出锁存或输入缓冲的作用。锁存或输入缓冲的作用。简单的并行接口简单的并行接口74LS24474LS244,273273。 882558255的内部结构的内部结构1. 端口端口(1)端口)端口A(PA7PA0): 由一个由一个8位数据输入锁存器和一

6、位数据输入锁存器和一个个8位数据输出锁存器及缓冲器组成,位数据输出锁存器及缓冲器组成,可工作于双向方式。可工作于双向方式。 (2)端口)端口B (PB7PB0) : 由一个由一个8位数据输入缓冲器和位数据输入缓冲器和1个个8位数据输出锁存器构成。位数据输出锁存器构成。(3)端口)端口C (PC7PC0): 由一个由一个8位数据输入缓冲器和一位数据输入缓冲器和一个个8位数据输出锁存器构成。位数据输出锁存器构成。 C口可分为两个部分,配合口可分为两个部分,配合A口和口和B口工作。口工作。 在与不需要控制联络的外设连接在与不需要控制联络的外设连接时,时,A A、B B、C C口均可做输入输出。口均可

7、做输入输出。 在与需要控制联络的外设连接时,在与需要控制联络的外设连接时,C C口分为两部分,做口分为两部分,做A A、B B口的控制口的控制信号。信号。resetD7D0A9A2A1A0IOR片选片选译码译码数据数据缓冲缓冲器器读写读写控制控制片内片内译码译码CSRESETA1A0RDPC7PC0PB7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B+5VGNDD7D0外外设设8255A总线总线WRIOW 92. 控制口控制口D 接收CPU控制字,决定8255工作方式。 A组控制A端口和C端口的上半部, B组控制B端口和C端口下半部。3. 读写控制逻辑读写控制逻辑 由RD,WR

8、,CS,A0,A1和RESET组成,8255占用4个端口地址。 RESET:高电平使8255复位,控制Reg清0,把A,B,C三个端口都设置为输入方式。4. 数据总线缓冲器数据总线缓冲器 8位双向数据缓冲器,可直接与数据总线相连。8255A PIN功能功能 40个引脚双列直插器件个引脚双列直插器件 1. 与外设连接引脚与外设连接引脚PA7PA0:端口:端口A的数据线,双向,三态的数据线,双向,三态输出。输出。 PB7PB0:端口:端口B的数据线,可输入,也的数据线,可输入,也可输出。可输出。PC7PC0:端口:端口C的数据线,可输入,也的数据线,可输入,也可输出可输出,也可做也可做A口口或或B

9、口口的控制信号线。的控制信号线。resetD7D0A9A2A1A0IOR片选片选译码译码数据数据缓冲缓冲器器读写读写控制控制片内片内译码译码CSRESETA1A0RDPC7PC0PB7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B+5VGNDD7D0外外设设8255A总线总线WRIOW 102. 和和CPU连接连接PIND7D0:数据线,与系统总线:数据线,与系统总线连接。连接。RD:读信号,输入,低电平有:读信号,输入,低电平有效,从效,从8255A读取数据。读取数据。WR:写信号,输入,低电平:写信号,输入,低电平有效,把有效,把数据写入数据写入8255。CS:片选信号,输

10、入,低电平:片选信号,输入,低电平有效,决定芯片地址有效,决定芯片地址。A0,A1:端口选择信号,端口选择信号,8255占四个端口地址。占四个端口地址。RESET:复位信号,输入,高:复位信号,输入,高电平有效。复位后清所有内部电平有效。复位后清所有内部寄存器。寄存器。3. 8255端口选择端口选择A1 A0 RD WR CS0 0 0 1 00 1 0 1 01 0 0 1 00 0 1 0 00 1 1 0 01 0 1 0 01 1 1 0 0操 作读端口A读端口B读端口C向端口A输出向端口B输出向端口C输出向控制口输出resetD7D0A9A2A1A0IOR片选片选译码译码数据数据缓冲

11、缓冲器器读写读写控制控制片内片内译码译码CSRESETA1A0RDPC7PC0PB7PB0PA7PA0控制口控制口D端口端口A端口端口C端口端口B+5VGNDD7D0外外设设8255A总线总线WRIOW 11 8255A寻址寻址D7D0D7D0RDWRA1A0RESETCSIORIOWA13A15A14A10A12A1174LS3074LS04A9+5VA8A7A6A5+5VCBA74LS138Y3G2AG2BG1RESET8255APA7PA0PB7PB0PC7PC0A2A1说明:说明: (1)8255的数据线的数据线D7D0接接8086系统的数据线的低系统的数据线的低8位。位。 (2)82

12、55的的A0接接8086的的A1, 8255的的A1接接8086的的A2,使用偶,使用偶地址传递信息。地址传递信息。 (3)端口地址)端口地址A15A8 0 0端口0 00 11 01 1A口B口C口控制口A7A6A5 A4A3 A2A1地址0060H0062H0064H0066H0A00 1 1X X 12方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式C口提供固定的联络信号,适用于查询和中断方式的接口电路方式2:双向选通传送方式即可入,又可出。是方式1的组合。适用于与双向传送数据的外设适用于查询和中断方式的接口电路 13端口A:PA0 PA7A组,支持工

13、作方式0、1、2端口B:PB0 PB7B组,支持工作方式0、1端口C:PC0 PC7仅支持工作方式0A组控制高4位PC4PC7B组控制低4位PC0PC3 14n端口端口A:PA0PA7n常作数据端口,功能最强大常作数据端口,功能最强大n端口端口B:PB0PB7n常作数据端口常作数据端口n端口端口C:PC0PC7n可作数据、状态和控制端口可作数据、状态和控制端口n分两个分两个4位,每位可独立操作位,每位可独立操作n控制最灵活,最难掌握控制最灵活,最难掌握 15初始化编程:一个方式控制字初始化编程:一个方式控制字采用控制采用控制I/OI/O地址:地址:A A1 1A A0 01111工作过程中:通

14、过数据端口对外设数据进工作过程中:通过数据端口对外设数据进行读写行读写数据读写利用端口数据读写利用端口A A、B B和和C C的的I/OI/O地址,地址,A A1 1A A0 0依次等于依次等于0000、0101、1010IBM PC/XTIBM PC/XT机上,端口机上,端口A A、B B、C C和控制端口和控制端口的的I/OI/O地址为地址为60H60H、61H61H、62H62H和和63H63H 16D5D0D1D2D3D4D6D7PC30 1:输入:输入 0:输出:输出B口口 1:输入:输入 0:输出:输出B口工作方式口工作方式 0:方式:方式0 1:方式:方式1PC7 PC4 1:输

15、入:输入 0:输出:输出A口口 1:输入:输入 0:输出:输出A口工作方式口工作方式00:方式:方式001:方式:方式11:方式:方式2D7 = 1特征位特征位B B组组A A组组(1) 方式控制字方式控制字P277图图5.41 用控制寄存器的地址写,特征位用控制寄存器的地址写,特征位D7=1 17要求:A端口:方式1输入C端口上半部:输出,C口下半部:输入B端口:方式0输出方式控制字:10110001B或B1H8255端口地址为60H-63H。初始化的程序段:MOV AL,0B1H ;方式控制字 OUT 63H,AL ;送到控制端口 18uC端口被分成两个4位端口,两个端口只能以方式0工作,

16、可分别选择输入或输出u当A和B端口工作在方式1或方式2时,C端口的部分或全部引脚将被征用被征用,其余引脚仍可设定工作在方式0n在控制上,在控制上,C C端口上半部和端口上半部和A A端口编为端口编为A A组,组,C C端口下半部和端口下半部和B B端口编为端口编为B B组组 19(2) C(2) C口位控字口位控字P278图图5.42 用控制寄存器的地址写用控制寄存器的地址写(写,写,A1A011 ) ,特征位,特征位D7=0 这一功能可使这一功能可使82558255作为位控接口,作为位控接口,来实现对外设的按位控制。来实现对外设的按位控制。D0D1D2D3D4D5D6D71:置位:置位0:复

17、位:复位C口选择口选择000:PC0001:PC1010:PC2011:PC3100:PC4101:PC5110:PC6111:PC7任选(可任选(可0)D7 = 0(特征位)(特征位) 20直接写直接写C C口某一位口某一位( (例如例如ABAB口方式口方式0 0时时) )例如:例如:写写PC4=1的位控字为的位控字为01001B 则则允许允许A口方式口方式1或或2输入中断输入中断写写PC4=0的位控字为的位控字为01000B 则则禁止禁止A口方式口方式1或或2输入中断输入中断C口位控字口位控字用于写中断允许位用于写中断允许位(与C口数据线无关) 21u端口端口C按位置按位置/复位控制字复位

18、控制字说明:说明:(1)写入)写入8255的控制口。的控制口。(2)该控制字仅对)该控制字仅对8255的端的端口输出锁存器操作。口输出锁存器操作。 这一功能可使这一功能可使82558255作为位控接口,作为位控接口,来实现对外设的按位控制。来实现对外设的按位控制。例:利用位复位和位置位可使端口例:利用位复位和位置位可使端口C C某位产生方波。某位产生方波。 MOV CX,0FHLOP: OUT PORT-CL,0AH;送0 CALL DELAY OUT PORT-CL,0BH ;送1 CALL DELAY LOOP LOP RET 向PC5送0电平 延时向PC5送1电平方波个数到? 延时D0D

19、1D2D3D4D5D6D71:置位:置位0:复位:复位C口选择口选择000:PC0001:PC1010:PC2011:PC3100:PC4101:PC5110:PC6111:PC7任选(可任选(可0)D7 = 0(特征位)(特征位) 22CPUCPU控制寄存器控制寄存器输入缓冲寄存器输入缓冲寄存器输出缓冲寄存器输出缓冲寄存器状态寄存器状态寄存器数据总线数据总线地址地址译码译码读出信号读出信号写入信号写入信号复位复位准备好准备好中断请求中断请求地址地址片选片选A A0 0A A1 1输输入入设设备备数据输入数据输入数据输入准备好数据输入准备好数据输入回答数据输入回答输输出出设设备备数据输出数据输

20、出数据输出准备好数据输出准备好数据输出回答数据输出回答并行接口连接外设示意图并行接口连接外设示意图 238255A与系统的连接示意图与系统的连接示意图D0D7WRRDA1A0CSDBIOWIORA1A0译码器译码器8255A口口B口口C口口D0D7外设1A15A2系系统统总总线线外设2外设3 24A1 A0RDWRCS输入操作(CPU读)001010000111000数据总线 端口A数据总线 端口B 数据总线 端口C 00110101111100000000输出操作(CPU写)数据总线端口A 数据总线端口B 数据总线端口C数据总线控制端口8255A的读/写操作控制 258255A的工作方式的工

21、作方式方式方式0(基本输入基本输入/输出方式输出方式)IN AL,PORT外设将数据送到8255输入缓冲器中;CPU给出有效的8255地址;CPU发读命令,将8255A输入缓冲器中数据读入CPU的AL寄存器中。输入缓冲器译码器数据数据DBDBABAB外设8nIO/MRD 268255A的工作方式的工作方式方式方式0(基本输入基本输入/输出方式输出方式)OUT PORT,AL CPU给出有效的8255地址; CPU发写命令,将CPU的AL寄存器中数据写入8255A输出锁存器中。输出锁存器译码器数据数据DBDBABAB外设8nIO/MWR 27(1 1)方式)方式0 0直接直接I/OI/O没有固定

22、的联络选通信号、不能用于中断没有固定的联络选通信号、不能用于中断例例 P278图图5.43附加联络信号附加联络信号的方式的方式0 O/I可通过写可通过写C口位控字实现口位控字实现 28(1) 端口端口A、B和和C(PC7PC4及及PC3PC0)都可工作于输)都可工作于输入或输出。入或输出。三个端口无必然联系,各端口输入输出组合共有三个端口无必然联系,各端口输入输出组合共有16种,可适用种,可适用于多种用途。于多种用途。(2)对)对C口,其高低口,其高低4位两部分可相同(同为输入或输出)也位两部分可相同(同为输入或输出)也可不同。但对端口可不同。但对端口8位的读写是在一条指令中作为整体来操作,位

23、的读写是在一条指令中作为整体来操作,可采用以下措施:可采用以下措施: CPU CPU 高高4 4 低低4 4 IN IN 入入出出必须屏蔽低四位必须屏蔽低四位 IN IN 出出入入必须屏蔽高四位必须屏蔽高四位 IN IN 入入入入读入的读入的8 8位均有用位均有用 OUT OUT 入入出出输出数据只设在低输出数据只设在低4 4位位 OUT OUT 出出入入输出数据只设在高输出数据只设在高4 4位位 OUT OUT 出出出出输出输出8 8位数据位数据 29(3) CPU与外设采用无条件输入与外设采用无条件输入/输出,不用联输出,不用联络线。络线。(4)方式0也可用于查询传送的场合,这时可令A、B

24、口为数据口,C口做与外设的联络信号, A、B、C配合即可工作在查询场合。(5)方式)方式0下输入不锁存,输出锁存。下输入不锁存,输出锁存。 CPU对对数据口的输入指令读取端口数据口的输入指令读取端口当前信息,当前信息, 对数据对数据口的输出指令把数据输出到端口输出锁存器。口的输出指令把数据输出到端口输出锁存器。 30P278P278图图5.43 5.43 例例 控制字= 8AH = 10001010B A A口方式口方式0 0输出数据输出数据 B B口方式口方式0 0输入数据输入数据 C C口方式口方式0 0: 高高4 4位输入状态信号位输入状态信号 低低4 4位输出控制信号位输出控制信号用户

25、定义用户定义用户用C端口部分线当成联络信号 31(2) 方式方式1固定联络选通信号的固定联络选通信号的I/O 方式方式1输入输入P279图图5.44方式方式1输入的控制字及信号输入的控制字及信号 32数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据中断允许触发器 33PC2PC1PC0PB7PB0INTEBIBFBINTRBSTBB数据选通信号表示外设已经准备好数据输入缓冲器满信号表示B口已经接收数据中断请求信号请求CPU接收数据中断允许触发器 34STB选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255

26、的输入锁存器IBF输入缓冲器满信号,高电平有效8255输出的联络信号。当其有效时,表示数据已锁存在输入锁存器INTR中断请求信号,高电平有效8255输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据。(INTE=1且IBF=1,由STB的后沿产生,RD清除) 35STBSTB和和IBFIBF是外设和是外设和82558255间的一对应答联络信号,间的一对应答联络信号,为的是可靠地输入数据为的是可靠地输入数据 36(2) 方式方式1固定联络选通信号的固定联络选通信号的I/O 方式方式1输入输入P279图图5.44A A口口:PAPA7070输入数据输入数据PCPC4 4 输入输入: :

27、选通选通STBSTBPCPC5 5 输出输出: :缓冲器满缓冲器满IBFIBF, PCPC3 3输出输出: :中断请求中断请求INTRINTR, 37B B口口:与:与A A口类似,占用口类似,占用C C口口3 3条线联络条线联络: : PCPC2 :2 :输入输入, ,选通信号选通信号STBSTB PCPC1: 1: 输出输出, ,缓冲器满信号缓冲器满信号IBFIBF PCPC0: 0: 输出输出, ,中断请求中断请求INTRINTRC口口:若:若A口口B口全工作于方式口全工作于方式1输入输入, C口被占用口被占用6根根, 则仅剩则仅剩PC76可当端口数据线使用可当端口数据线使用, 由由方式

28、控制字的方式控制字的D3决定决定I/O。 38联络信号 端口A 端口B STB对应PC4 对应PC2 IBF对应PC5 对应PC1 INTR对应PC3 对应PC0 INTEPC4置位 PC2置位 8255 方式1作输入时的各联络信号对应关系 39方式控制字:方式控制字: 将将A组组B组的方式控制位合成组的方式控制位合成1个字节个字节, 用用1条条OUT指令写一次。指令写一次。用用C口地址读状态口地址读状态 D7 D6 D5 D4 D3 D2 D1 D0I/O I/O IBFA INTEA INTRA INTEB IBFB INTRB 40RDRDD7D7D0D0PA7PA7PA0PA0PC4P

29、C4PC5PC5PC3PC3INTEAINTEAPC4PC4与门与门IBFIBFSTBSTBINTRINTR 当外设数据准备好,当外设数据准备好,将数据送至将数据送至 端口线端口线PA7PA0或或PB7PB0 外设发出选通信号外设发出选通信号STB: ( (1) 将数据锁存在输入端口内。将数据锁存在输入端口内。 (2) 使使IBF变高,表示输入端口满,变高,表示输入端口满, 可用于阻止外设输入新数据可用于阻止外设输入新数据 在主程序中在主程序中CPU 查询查询IBF,若其为高电平,读取数据,发,若其为高电平,读取数据,发出出RD信号信号: (1) RD 的上升沿清除的上升沿清除IBF (2)

30、端口内的数据进入端口内的数据进入CPU要注意,此时从要注意,此时从C口查询的状态位应是输入方式的口查询的状态位应是输入方式的IBF以查询方式输入数据以查询方式输入数据: : 41 查询方法从8255的A口向CPU输入数据: 方式方式1的状态信号可通过读取端口的状态信号可通过读取端口C得到得到 INPUT:IN AL,PortC;读方式1状态信号TEST AL,20H ;查A口的IBFJE INPUT ;IBF=0,数据未准备好。IN AL,PortA ;IBF0,CPU读入数据。PA7PA7PA0PA0PB7PB7PB0PB0STBIBFINTRRD外设送来数据外设送来数据当当INTE=1时时

31、 RDRDD7D7D0D0PA7PA7PA0PA0PC4PC4PC5PC5PC3PC3INTEAINTEAPC4PC4与门与门IBFIBFSTBSTBINTRINTR注意:方式注意:方式1 1输入时共用输入时共用C C口口6 6个引脚,剩余个引脚,剩余2 2个引脚个引脚PC6PC6、PC7PC7可做可做I/OI/O位,位,或由或由C口置口置 /复位控制字决定其输出。复位控制字决定其输出。 42RDRDD7D7D0D0PA7PA7PA0PA0PC4PC4PC5PC5PC3PC3INTEAINTEAPC4PC4与门与门IBFIBFSTBSTBINTRINTR 当外设数据准备好,当外设数据准备好,将

32、数据送至将数据送至端口线端口线PA7PA0或或PB7PB0 外设发出选通信号外设发出选通信号STB: ( (1) 将数据锁存在输入端口内。将数据锁存在输入端口内。 (2) 使使IBF变高,表示输入端口满,变高,表示输入端口满, 可用于阻止外设输入新数据可用于阻止外设输入新数据 (3) 如果如果INTE=1, STB的上升沿使的上升沿使INTR变高,发中断请求。变高,发中断请求。 中断处理程序中中断处理程序中CPU 读取数据,发出读取数据,发出RD信号信号: (1) RD 的下降沿清除的下降沿清除INTR (2) RD 的上升沿清除的上升沿清除IBF (3) 端口内的数据进入端口内的数据进入CP

33、U以中断方式输入数据以中断方式输入数据: : 43(2) 方式方式1固定联络选通信号的固定联络选通信号的I/O 方式方式1输出输出P280图图5.45方式方式1输出的控制字及信号输出的控制字及信号 44外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允许触发器 45PC2PC1PC0PB7PB0INTEBOBFBINTRBACKB外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允许触发器 46 CPU发发WR信号,向信号,向8255送一个数据送一个数据 WR使使INT

34、R无效,无效,OBF有效,通知外设可取数据有效,通知外设可取数据 外设接到数据后,向外设接到数据后,向8255回送回送ACK信号信号 OBF无效,接着无效,接着INTR有效,向有效,向CPU发中断申请,请求发中断申请,请求发送新数据。发送新数据。 47 方式方式1 1输出输出P280P280图图5.455.45A A口口:PAPA7070输出数据输出数据 PCPC7 7 输出输出, ,缓冲器满缓冲器满OBF,OBF,由由CPUCPU写写A A口建立口建立 PCPC6 6输入输入, ,应答信号应答信号ACK,ACK,接受数据接受数据, ,清除清除OBFOBF PCPC3 3输出输出, ,中断请求

35、信号中断请求信号INTRINTR,INTE=1INTE=1且且 OBF=1OBF=1时由时由ACKACK后沿建立,由后沿建立,由CPUCPU写操作清除。写操作清除。B B口口:与:与A A口相似口相似 48 INTR datadata输出端口输出端口D0D7WROBFACK OBFOBF和和ACKACK是外设和是外设和8255A8255A间的一对应答联络信号,间的一对应答联络信号,为的是可靠地输出数据为的是可靠地输出数据 49C口口:若:若AB口全工作于方式口全工作于方式1输出输出, C口被占用口被占用6根根, 则仅剩则仅剩PC45可当端口数据线使用可当端口数据线使用, 由由方式控制字的方式控

36、制字的D3决定决定I/O。 50联络信号 端口A 端口B OBF对应PC7对应PC1 ACK对应PC6 对应PC2 INTR对应PC3 对应PC0 INTEPC6置位 PC2置位 8255A方式1作输出时的各联络信号对应关系 51方式控制字:方式控制字: 将将A组组B组的方式控制位合成组的方式控制位合成1个字节个字节, 用用1条条OUT指令写一次。指令写一次。用用C C口地址读状态口地址读状态 D7 D6 D5 D4 D3 D2 D1 D0 OBFA INTEA I/O I/O INTRA INTEB OBFB INTRB 52PA7PA7PA0PA0PC6PC6PC7PC7PC3PC3INT

37、EAINTEAPC6PC6与门与门OBFAOBFAACKAACKAINTRAINTRAWRWRD7D7D0D0 CPU输出数据输出数据 CPU发出发出WR: (1)(1)数据写到数据写到 8255A的端口的端口 (2)(2)使使OBF有效,表示输出端口满,有效,表示输出端口满, 可作为外设的选通信号可作为外设的选通信号,通知外设取数据。通知外设取数据。 外设接受到数据后,发出外设接受到数据后,发出ACK信号:信号: (1) ACK的下降沿使的下降沿使OBF变高,变高, (2)在主程序中在主程序中CPU 查询查询OBF,若其为高电平,数,若其为高电平,数据已取走,端口可接受新的数据。据已取走,端

38、口可接受新的数据。要注意,此时从要注意,此时从C口查询的状态位应是输出方式的口查询的状态位应是输出方式的OBF以查询方式输出数据以查询方式输出数据: : 53PA7PA7PA0PA0PC6PC6PC7PC7PC3PC3INTEAINTEAPC6PC6与门与门OBFAOBFAACKAACKAINTRAINTRAWRWRD7D7D0D0注意:方式注意:方式1 1输出时共用到输出时共用到C C口口6 6个引脚,剩余个引脚,剩余2 2个引脚个引脚PC4PC4、PC5PC5可可做做I/OI/O位,或位,或由由C口置口置 /复位控制字决定其输出。复位控制字决定其输出。查询方法向查询方法向8255的的A口输

39、出数据:口输出数据: 方式方式1的状态信号可通过的状态信号可通过 读取端口读取端口C得到得到OUTPUT:IN AL,PortC;读方式;读方式1状态信号状态信号 TEST AL,80H ;查;查A口的口的OBF,设备空闲?,设备空闲? JE OUTPUT ;OBF=0,不空,等待。,不空,等待。 MOV AL,DATAS OUT PortA , AL ;OBF0,CPU输出数据。输出数据。 54以中断方式输出数据以中断方式输出数据: : CPU输出数据输出数据 CPU发出发出WR: (1) 数据写到数据写到 8255A的端口的端口 (2) 使使OBF有效,表示输出端口满,有效,表示输出端口满

40、, 可作为外设的选通信号可作为外设的选通信号,通知外设取数据。通知外设取数据。 (3)清除中断请求信号清除中断请求信号INTR 外设接受到数据后,发出外设接受到数据后,发出ACK信号:信号: (1) ACK的下降沿使的下降沿使OBF变高,变高, (2) 当当INTE=1, ACK的上升沿使的上升沿使INTR变高,变高, 发出中断请求,请求发出中断请求,请求CPU输出新的数据。输出新的数据。PA7PA7PA0PA0PC6PC6PC7PC7PC3PC3INTEAINTEAPC6PC6与门与门OBFAOBFAACKAACKAINTRAINTRAWRWRD7D7D0D0 55用用PC6设置设置INTE

41、1(输出)(输出)用用PC4设置设置INTE2(输入)(输入)输入和输出中断通过输入和输出中断通过或门输出或门输出INTRA信号信号 56方式方式2 2(双向选通方式)n方式方式2 2将方式将方式1 1的选通输入输出功能组合成一个的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据双向数据端口,可以发送数据和接收数据n只有端口只有端口A A可以工作于方式可以工作于方式2 2,需要利用端口,需要利用端口C C的的5 5个信号线,其作用与方式个信号线,其作用与方式1 1相同相同n方式方式2 2的数据输入过程与方式的数据输入过程与方式1 1的输入方式一样的输入方式一样n方式方式2 2的数

42、据输出过程与方式的数据输出过程与方式1 1的输出方式有一的输出方式有一点点不同:数据输出时不同:数据输出时8255A8255A不是在不是在OBFOBF有效时向有效时向外设输出数据,而是在外设提供响应信号外设输出数据,而是在外设提供响应信号ACKACK时时才送出数据,即仅在才送出数据,即仅在ACKACK信号有效时才出现在信号有效时才出现在A A口的口的I/OI/O线线PAPA0 0PA7。 57data-out INTR data-outdata-indata-inPA0PA7D0D7IBF WROBFACKSTBRD 58用用C C口地址读状态口地址读状态 D7 D6 D5 D4 D3 D2

43、D1 D0 OBFA INTE1 IBFA INTE2 INTRA A A口口B B口各自单独选择工作方式及口各自单独选择工作方式及I/OI/O, 剩下的剩下的C C口线可以选择口线可以选择I/OI/O, 合成一个字节写方式控制字。合成一个字节写方式控制字。 59D7D6D5D4D3D2D1D0方式1输入I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB方式1输出OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB方式2双向OBFAINTE1IBFAINTE2INTRA组组B组组 60P282P282图图5.47 5.47 8255A8255A在系统中的连接在

44、系统中的连接P3=1 61三口始终工作于方式三口始终工作于方式0 0:A口:先输出自检信号,后重设成输入(读键盘)B口:输出控制信号。用户可不断改变PB1、PB0控制扬声器发声。C口:输入状态及配置信息PC30 :在PB3 0时输入DIP开关14 PB3 1时输入DIP开关582. 2. 编程编程工作过程中可以重新对8255写控制字 62 mov AL, 10001001 ; 方式0,A口,B口输出,C口输入 out 63H, AL mov AL, 10100101 ; B口输出,PB3=0, 读DIP低4位 out 61H, AL . in AL, 62H ; 读 C口 . mov AL,

45、10101101 ; B口输出,PB3=1, 读DIP高4位 out 61H, AL . in AL, 62H ; 读 C口 . mov AL, 10011001 ; 重写控制字,A口改输入 out 63H, AL 638255A应用举例应用举例u例:由例:由8255A的的A口输出控制一位共阳极数码管,由口输出控制一位共阳极数码管,由C口的口的PC7PC4输入接输入接入四位入四位DIP开关的设置,根据开关设置值,在数码管上显示字型。开关的设置,根据开关设置值,在数码管上显示字型。 1. 数码管数码管 LED数码管由数码管由8个发光二极管组成七段数码和小数点,结构如图所示。个发光二极管组成七段数

46、码和小数点,结构如图所示。 2. 硬件连接硬件连接字型图abcdefgdpab cdefgdpcom共阳极数码管内部结构+5V+5VPA0PA1PA2PA3PA4PA5PA6PA7PC4PC5PC6PC7D7D0IORIOWA2A1RESETPPICS(607FH)CSRESETA0A1WRRDD7D0825510K*4300*8 643. 程序程序(1)8255初始化控制字:初始化控制字:88H(2)十六进制到字型码采用软)十六进制到字型码采用软件译码方式。件译码方式。十六进制 字型码 十六进制 字型码00HC0H08H80H01HF9H09H98H02HA4H0AH88H03HB0H0BH

47、83H04H99H0CHC6H05H92H0DHA1H06H82H0EH86H07HF8H0FH8EH(3)程序)程序PORTA EQU 60HPORTB EQU 62HPORTC EQU 64HPCTRL EQU 66HSH_TAB DB 0C0H, ; 字型表字型表DIS PROC MOV AL,88H OUT PCTRL,AL ;初始化初始化8255 IN AL,PORTC ; 读开关状态读开关状态 MOV CL,4 SHR AL,CL ; 转成低转成低4位位 LEA BX,SH_TAB XLAT SH_TAB ; 查表查表 OUT PORTA,AL ; 显示输出显示输出 RETDIS

48、ENDP 65一、打印机的主要接口信号与时序一、打印机的主要接口信号与时序D7D7D0D0:数据总线,双向、三态。数据总线,双向、三态。 STB STB :数据选通触发脉冲数据选通触发脉冲(输入)(输入),打印机在其上升沿读入数据。,打印机在其上升沿读入数据。 ACK ACK :应答脉冲应答脉冲(输出)(输出),“低低”表示数据已被打印机接受、而且表示数据已被打印机接受、而且打印机准备好接收下一数据。常用作打印机的中断申请信号。打印机准备好接收下一数据。常用作打印机的中断申请信号。BUSY BUSY :“高高”表示打印机正表示打印机正“忙忙”(输出),不能接收数据,通常(输出),不能接收数据,

49、通常用作状态信号供用作状态信号供CPUCPU查询。查询。 打印机的基本时序如图所示。打印机的基本时序如图所示。 并行打印机接口并行打印机接口82558255PAPA0-70-7 PC PC7 7 PC PC0 0打印机打印机D D0-70-7BUSYBUSYSTBSTB 66(2)(2)查询方式打印字符串查询方式打印字符串u 端口A作为数据通道,方式0、输出;u 由PC7读入BUSY状态、PC0输出STB脉冲,u C口工作在方式0,上半部输入、下半部输出; 82558255PAPA0-70-7 PC PC7 7 PC PC0 0打印机打印机D D0-70-7BUSYBUSYSTBSTB设825

50、5端口地址为280H、281H、282H和283H。打印子程序如下:BUFDB HELLO!DB 0DH ;回车回车DB 0AH ;换行换行NUMEQU $-BUF:PRINT PROC FAR : 67MOV DX,283H ;8255初始化:均为方式初始化:均为方式0MOV AL,10001000B ;A口输出,口输出,C上半输入、下半输出上半输入、下半输出OUT DX,ALMOV AL,00000001B ;控制口,初始控制口,初始PC0即即STB=1OUT DX,ALMOV SI,OFFSET BUFMOV CX,NUMNEXT:MOV DX,282H ;从;从C口读入数据,查口读入数

51、据,查PC7 IN AL,DXTEST AL,80HJNZ NEXT ;BUSY=1(忙)?,忙则去(忙)?,忙则去NEXTMOV AL,SI ;不忙,送下一个数据;不忙,送下一个数据INC SIMOV DX,280HOUT DX,AL;输出打印数据;输出打印数据 MOV DX,283HMOV AL,00000000B ;STB=0OUT DX,ALNOPMOV AL,00000001BOUT DX,AL ;STB=1LOOP NEXTRETPRINT ENDP 68三、中断方式打印字符串三、中断方式打印字符串 中断方式打印时,中断方式打印时,8255A与与打印机的基本接口如图。打印机的基本接

52、口如图。 端口端口A作为数据通道,工作在作为数据通道,工作在方式方式1、输出。、输出。 PC6 自动作为自动作为ACK信号输入信号输入端;端; PC3自动作为自动作为INTR信号输出信号输出端,连接至端,连接至8259的的IRQ2 (中断(中断类型码类型码0AH,对应的中断向量放,对应的中断向量放在在0000:0028H0000:002BH的的4个单元中);个单元中); 打印机需要的数据选通信号打印机需要的数据选通信号由由CPU控制控制PC0来产生。来产生。 这时这时PC7未用,故将其悬空。未用,故将其悬空。PA7PA7PA0PA0PC6PC6PC7PC7PC3PC3INTEAINTEAPC6PC6与门与门OBFAOBFAACKAACKAINTRAINTRAWRWRD7D7D0D0 82558255 PA PA0-70-7(ACKACKA A)PCPC6 6 PC PC0 0(INTRINTRA A)PC)PC3 3 打印机打印机D D0-70-7ACKACKSTBSTB8259的的IRQ2 69三、中断方式打印字符串三、中断方式打印字符串 PA7PA7PA0PA0PC6PC6PC7PC7PC3PC3INTEAINTEAPC6PC6与门与门OBFAOBFAACKAACKAINTRAINTRAWRWRD7D7D0D0

温馨提示

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

评论

0/150

提交评论