版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第9 9章章 可编程外围接口芯片可编程外围接口芯片8255A8255A及其应用及其应用9.1 9.1 并行通信概述并行通信概述 9.2 8255A9.2 8255A的工作原理的工作原理 9.3 8255A9.3 8255A的应用举例的应用举例 并行通信并行通信: : 各位数据都是并行传输的,它以字节(或字)各位数据都是并行传输的,它以字节(或字)为单位与为单位与I/OI/O设备或被控对象进行数据交换。设备或被控对象进行数据交换。 并行通信由并行接口来完成并行通信由并行接口来完成, ,并行接口是连并行接口是连接接CPUCPU与并行外设的通道。与并行外设的通道。特点:特点: 传输速度快;硬件开销
2、大;只适合近距离传传输速度快;硬件开销大;只适合近距离传输。一个并行接口中包括状态信息、控制信息和输。一个并行接口中包括状态信息、控制信息和数据信息。数据信息。9.1 并行通信并行通信概述概述 交换信息包括交换信息包括: : 状态信息状态信息 表示外设当前所处的工作状态。表示外设当前所处的工作状态。 例如:例如:准备好信号表示输入设备已经准备好信息;准备好信号表示输入设备已经准备好信息; 忙信号忙信号(BUSY)(BUSY)表示输出设备正在输出信息,等于指表示输出设备正在输出信息,等于指示示CPUCPU要处于等待状态。要处于等待状态。 控制信息控制信息 控制信息是由控制信息是由CPUCPU发出
3、的,用于控制外设接口的工作发出的,用于控制外设接口的工作方式以及外设的启动和停机信息等。方式以及外设的启动和停机信息等。 数据信息数据信息 CPUCPU与并行外设数据交换的内容。与并行外设数据交换的内容。 状态信息、控制信息和数据信息状态信息、控制信息和数据信息,通常,通常都是通过都是通过数据总线数据总线传送,这些信息在外设接口中分别存取在不同传送,这些信息在外设接口中分别存取在不同的端口中。的端口中。 对于一个外设接口,常常对于一个外设接口,常常需要几个端口需要几个端口才能满足才能满足和协调外部设备的工作与要求。和协调外部设备的工作与要求。并行接口与并行接口与CPUCPU、外设的连接、外设的
4、连接控制寄存器控制寄存器状态寄存器状态寄存器输入缓冲寄存器输入缓冲寄存器输出缓冲寄存器输出缓冲寄存器CPU总线系统总线系统输输入入设设备备输输出出设设备备数据总线数据总线输出数据准备好输出数据准备好输入数据准备好输入数据准备好中断请求中断请求地地 址址译码器译码器复位复位地址总线地址总线AENCSA0A1IORIOW输入数据输入数据输入数据准备好输入数据准备好输入应答输入应答输出数据输出数据输出数据准备好输出数据准备好输出应答输出应答 并行接口电路,在并行接口电路,在早期的早期的微机中与串行口、软盘接微机中与串行口、软盘接口、硬盘接口等都放在一块口、硬盘接口等都放在一块多功能接口卡多功能接口卡
5、上,插在微上,插在微机的扩展槽上使用。机的扩展槽上使用。现在现在这部分电路已在微机的主板这部分电路已在微机的主板上由与上由与CPUCPU配套的配套的北桥芯片组来实现其功能北桥芯片组来实现其功能。 在在电路设计时采用电路设计时采用专用的专用的接口芯片接口芯片, ,可编程的接口可编程的接口芯片芯片8255A8255A是完成并行通信的集成电路芯片。是完成并行通信的集成电路芯片。9.2 8255A的工作原理的工作原理82558255内部结构图内部结构图数数 据据总总 线线缓冲器缓冲器读写读写控制控制逻辑逻辑B组组控制控制端口端口B(8)端口端口C下半部下半部(4)端口端口C上半部上半部(4)端口端口A
6、(8)A组组控制控制DBRDWRA0A1RESETCSCPU接口接口内部逻辑内部逻辑外部接口外部接口PA7PA0PC7PC4PC3PC0PB7PB08位位内部内部数据总线数据总线8255A12345678910111213141516171819204039383736353433323130292827262524232221PA3PA2PA1PA0RDCSGNDA0A1PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB38255A8255A外部引脚图外部引脚图 可编程并行
7、接口芯片应具有的功能:可编程并行接口芯片应具有的功能:(1 1)具有两个以上输入)具有两个以上输入/ /输出数据端口(锁存输出数据端口(锁存/ /缓冲);缓冲);(2 2)每个数据端口有)每个数据端口有与与CPUCPU用应答方式用应答方式交换信息所必须的交换信息所必须的控制和状态信息;也有控制和状态信息;也有与外设交换信息与外设交换信息所必须的控制和状所必须的控制和状态信息;态信息;(3 3)通常每个数据端口还具有能用)通常每个数据端口还具有能用中断方式中断方式与与CPUCPU交换信交换信息所必须的电路;息所必须的电路;(4 4)具有进行片选和读写控制的电路;)具有进行片选和读写控制的电路;(
8、5 5)可编程(由程序来选择数据端口,数据传送方向,)可编程(由程序来选择数据端口,数据传送方向,交换信息的方式等)。交换信息的方式等)。缓冲器数据总线D7D0oooRDWRA0A1RESETCS读/写控制逻辑A口上C口下C口B口PA7PA0PC7PC4PC3PC0PB7PB0内部总线A组控制B组控制外设接口外设接口CPU接口接口内部逻辑内部逻辑一、8255A8255A的结构和功能的结构和功能端口端口A A和端口和端口B B可用作可用作8 8位位 数据数据I/OI/O口,口,端口端口C C既可既可作为作为8 8位位I/OI/O口口,又可,又可作为两个作为两个4 4位位I/OI/O口,还常用来配
9、合口,还常用来配合A A口和口和B B口工作,作为控制信号输出、口工作,作为控制信号输出、或作为状态信号输入。或作为状态信号输入。( (一一) ) 数据端口数据端口 8255A8255A内部内部包含包含3 3个个8 8位位I/OI/O端口端口A A口、口、B B口和口和C C口口。A口上C口下C口B口PA7PA0PC7PC4PC3PC0PB7PB0内部总线内部总线( (二二) A) A组、组、B B组控制逻辑组控制逻辑这是两组根据这是两组根据CPUCPU的编的编程命令控制程命令控制8255A8255A工作的工作的电路,控制寄存器用来接电路,控制寄存器用来接收收CPUCPU送来的命令字,以送来的
10、命令字,以决定决定A A组、组、B B组的工作方式组的工作方式,或对或对C C口的每一个位执行口的每一个位执行位操作。位操作。A组控制B组控制内部总线内部总线( (三三) ) 数据总线缓冲器数据总线缓冲器是双向三态的是双向三态的8 8位缓冲位缓冲器器, , 用作用作8255A8255A和系统数和系统数据总线的接口。据总线的接口。1)1)传送传送系统对系统对8255A8255A的控制字;的控制字;2)2)传送各端口的输入、传送各端口的输入、输出数据。输出数据。缓冲器数据总线DBoooRDWRA0A1RESETCS读/写控制逻辑内部总线内部总线至数据端口至控制寄存器( (四四) ) 读读/ /写控
11、制逻辑写控制逻辑控制信息传送的路径和控制信息传送的路径和方向。方向。RESET:复位,高电:复位,高电平有效。清零控制寄存器,平有效。清零控制寄存器,所有端口都置成输入方式。所有端口都置成输入方式。( (五五) ) 端口寻址端口寻址A1 A0RDWRCS功能00010端口 A 数据总线01010端口 B 数据总线10010端口 C 数据总线00100数据总线 端口 A01100数据总线 端口 B10100数据总线 端口 C11100数据总线 控制字寄存器8255A8255A端口选择表端口选择表( (六六) ) 方式选择方式选择8255ABCBDBRD WRD7D0A0 A1 CSPBPAPC8
12、8I/OI/O44PB7 PB0PA7 PA0PC3 PC0 PC7 PC4I/OI/O88 I/OI/OPB7 PB0PA7 PA0PBPAPC控制或控制或I/O控制或控制或I/O88 I/OI/OPB7 PB0PA7 PA0PBPAPCI/O控制控制方式方式0 0:基本输入输出:基本输入输出方式方式1 1:选通输入输出:选通输入输出方式方式2 2:双向传送:双向传送二、二、8255A8255A的控制字的控制字8255A8255A的控制字有两类。的控制字有两类。 1 1、方式选择控制字、方式选择控制字8255A8255A有有3 3种基本的工作方式,对种基本的工作方式,对8255A8255A初
13、始化编程时,初始化编程时,应写入方式选择控制字,以规定各端口的工作方式。应写入方式选择控制字,以规定各端口的工作方式。方式选择控制字格式方式选择控制字格式D7 D6 D5 D4 D3 D2 D1 D0下下C口口 I/O1=输入输入0=输出输出B口口I/O1=输入输入0=输出输出B组方式组方式0=方式方式0 1=方式方式1上C口I/O1=输入输入0=输出输出特征位特征位 D7=1A组方式组方式: 00=方式方式0 01=方式方式1 1x=方式方式2A口口I/O1=输入输入0=输出输出例:例:在一个在一个8086/8088系统中,有一片系统中,有一片8255芯片,其各芯片,其各个端口的地址分别为个
14、端口的地址分别为0F8H0FBH,试进行初始化编,试进行初始化编程,要求各个端口的工作方式为:程,要求各个端口的工作方式为:端口端口A A 方式方式0 0 输入输入端口端口B B 方式方式1 1 输出输出端口端口C C(上)(上)PC7 PC4 输出输出端口端口C C(下)(下) 输入输入确定方式控制字确定方式控制字1001100195H初始化编程:初始化编程:MOV AL,95HOUT 0FBH,AL2 2、C C口按位置位口按位置位/ /复位控制字复位控制字端口端口C C常用作控制或应答信号,通过对常用作控制或应答信号,通过对8255A8255A的控制口的控制口写入按位置位写入按位置位/
15、/复位控制字,可使复位控制字,可使C C口的任一个引脚的输出口的任一个引脚的输出单独置单独置1 1或置或置0 0。C口按位置位口按位置位/复位控制字格式复位控制字格式D7 D6 D5 D4 D3 D2D1 D01 置位置位 0 复位复位无关位无关位特征位特征位 D7 = 0000 选中选中PC0 001 选中选中PC1 111 选中选中PC7位选择位选择例:要使端口例:要使端口C的的bit3置位的控制字为:置位的控制字为:00000111B; MOV AL,00000111B OUT 0FBH,AL 而使端口而使端口C的的bit3复位的控制字为:复位的控制字为:00000110B; MOV A
16、L,00000110B OUT 0FBH,AL三、三、8255A8255A的工作方式的工作方式1 1、方式、方式 0 0基本输入输出方式基本输入输出方式适用于不需要应答信号的简单适用于不需要应答信号的简单I/OI/O场合。场合。A A口和口和B B口可作为口可作为8 8位端口,位端口,C C口的高口的高4 4位和低位和低4 4位可作为两位可作为两个个4 4位的端口,且每个端口均可作为输入口或输出口用。位的端口,且每个端口均可作为输入口或输出口用。数据输出有数据输出有锁存锁存, , 输入无输入无锁存。锁存。CS,A0,A1RDD0D7数据有效数据有效输入输入数据有效数据有效方式方式0 0的输入时
17、序的输入时序例如例如: :要求要求8255A8255A的的A A口和口和B B口均工作于方式口均工作于方式0, A0, A口和下口和下C C口作输入口口作输入口, B, B口和上口和上C C口作输出口口作输出口, ,设设8255A8255A各端口地址为各端口地址为40H40H43H, 43H, 可用下列指令来设置这种工作方式:可用下列指令来设置这种工作方式:MOV AL,91H ;方式控制字;方式控制字10010001BOUT 43H,AL ;方式控制字送控制寄存器;方式控制字送控制寄存器 CS,A0,A1WR输出输出数据有效数据有效D0D7数据有效数据有效方式方式0 0的输出时序的输出时序
18、方式方式0 0一般用于无条件传送的场合一般用于无条件传送的场合,不需要应答式,不需要应答式联络信号,外设总是处于准备好的状态。联络信号,外设总是处于准备好的状态。 也可以用作查询式传送也可以用作查询式传送,查询式传送时,需要有,查询式传送时,需要有应答信号。可以将应答信号。可以将A A端口、端口、B B端口作为数据口端口作为数据口使用。使用。C C端端口则可用来输出一些控制信息,或输入外设的状态。口则可用来输出一些控制信息,或输入外设的状态。利用利用C C端口配合端口配合A A端口和端口和B B端口完成查询式的端口完成查询式的I/OI/O操作。操作。 当当A A端口和端口和B B端口以方式端口
19、以方式1 1进行输入输出时,必须利用进行输入输出时,必须利用C C端口提供的固定的选通和应答信号端口提供的固定的选通和应答信号, ,该方式也称该方式也称选通输选通输入入/ /输出方式输出方式。 方式方式1 1的基本定义是:的基本定义是: 分成分成A A组和组和B B组组,每组包含一个,每组包含一个8 8位的数据端口位的数据端口和和1 1个个4 4位的控制位的控制/ /数据端口数据端口。可作。可作输入输入,也可作,也可作输出输出,且,且输入输入和输出都可以被锁存。和输出都可以被锁存。 2. 2. 方式方式1-1-选通输入选通输入/ /输出方式输出方式规定:规定:PCPC3 3PCPC5 5分配给
20、分配给A A端口作联络线端口作联络线,PCPC0 0PCPC2 2分配给分配给B B端口作联络线,端口作联络线,C C端口剩下的端口剩下的2 2位位PCPC7 7、PCPC6 6可作为简单的输入可作为简单的输入/ /输出输出线使用。线使用。 1) 1) 选通的输入方式选通的输入方式方式方式1 1选通输入下对应的控制信号图选通输入下对应的控制信号图(a) (a) 对对A A端口;端口;(b) (b) 对对B B端口端口1011I/O1011I/O 11111D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0A组工作于方式组工作于方式1输入的控制字输入
21、的控制字A组和组和B组工作于方式组工作于方式1输入的控制字输入的控制字B组工作于方式组工作于方式1输入的控制字输入的控制字方式方式1B端口为输入端口为输入PC7、PC61输入输入0输出输出PC7、PC61输入输入0输出输出A端口为输入端口为输入方式方式1STBAIBFAINTRAI/OPC4PC5PC3INTEA&PC7PC6PA7PA02RD8(a)PC2PC1PC0INTEB&PB7PB0RD8INTRBIBFBSTBB(b)方式方式1 1选通输入方式下各控制信号的意义:选通输入方式下各控制信号的意义: STB(Strobe)STB(Strobe):选通输入信号,低电平有效
22、。选通输入信号,低电平有效。A A组方式控制字中组方式控制字中对应对应PC4PC4;B B组方式控制字中对应组方式控制字中对应PC2PC2。 IBF(Input Buffer Full)IBF(Input Buffer Full):输入缓冲器满信号,高电平有效。输入缓冲器满信号,高电平有效。 是是8255A8255A送给外设的联络信号,送给外设的联络信号,A A组方式控制字中对应组方式控制字中对应PC5PC5;B B组组方式控制字中对应方式控制字中对应PC1PC1,该信号可供,该信号可供CPUCPU查询。查询。 该信号在选通输入信号该信号在选通输入信号STBSTB变低后,变低后,300 ns3
23、00 ns时间内即变为有时间内即变为有效的高电平。在效的高电平。在RDRD信号撤消后的信号撤消后的300 ns300 ns时间内时间内IBFIBF信号才撤消,信号才撤消,变为无效的低电平,这样保证了数据传输的可靠性。变为无效的低电平,这样保证了数据传输的可靠性。INTR(Interrupt Request)INTR(Interrupt Request):中断请求信号,高电平有效。中断请求信号,高电平有效。A A组组方式控制字中对应方式控制字中对应PC3PC3;B B组方式控制字中对应组方式控制字中对应PC0PC0。当。当STBSTB信号信号撤消变为高电平后,并且撤消变为高电平后,并且IBFIB
24、F信号也为高电平,信号也为高电平,INTRINTR信号变为有信号变为有效的高电平。效的高电平。 当当CPUCPU发出的发出的RDRD信号有效后,信号有效后,400 ns400 ns的时间内的时间内INTRINTR信号将撤信号将撤消,变为低电平。消,变为低电平。INTE(Interrupt Enable)INTE(Interrupt Enable):中断允许信号,高电平有效。中断允许信号,高电平有效。否则否则屏蔽中断请求。屏蔽中断请求。 INTEINTE的状态的状态是用软件通过是用软件通过由由C C端口置端口置1/1/置置0 0控制字来控制控制字来控制的,的,在在A A组中,使组中,使PC4PC
25、4置置“1”1”后后INTEAINTEA变高变高;在;在B B组中,使组中,使PCPC2 2置置“1”1”后后INTEBINTEB变高变高,A A端口和端口和B B端口才允许中断。如果端口才允许中断。如果PCPC4 4和和PCPC2 2都置都置“0”0”,与之对应的,与之对应的INTEINTE信号为低,则禁止中断。信号为低,则禁止中断。8255A8255A方式方式l l输入时序图输入时序图STBIBFINTRRD来自外设的输入数据数据有效数据有效1234tSTtSIBtSITtRITtPHtPStRIB 输入缓冲器满状态,可供输入缓冲器满状态,可供CPUCPU来查询。在选通输入信号结束来查询。
26、在选通输入信号结束后向后向CPUCPU发出中断请求发出中断请求信号,信号,INTRINTR变高变高( (中断允许情况下中断允许情况下) ),如时,如时序图中表示的序图中表示的箭头箭头。 在中断服务程序中在中断服务程序中CPUCPU发出读信号发出读信号RDRD,RDRD的下降沿的下降沿清除中断清除中断请求,如图中表示的请求,如图中表示的箭头箭头。当读信号结束后,。当读信号结束后,使使输入缓冲器输入缓冲器满信号满信号IBFIBF变低变低,如图中表示的,如图中表示的箭头箭头。IBFIBF变低表明输入缓冲变低表明输入缓冲器已空,器已空,通知外设可以输入新的数据通知外设可以输入新的数据。选通输入方式的工
27、作过程:选通输入方式的工作过程: 当外设数据已送到当外设数据已送到8255A8255A某个端口的数据线上时,就发出选某个端口的数据线上时,就发出选通输入信号通输入信号STBSTB,将数据通过,将数据通过A A端口或端口或B B端口锁存到端口锁存到8255A8255A的数据输的数据输入寄存器。入寄存器。STBSTB信号变低将信号变低将使使输入缓冲器满信号输入缓冲器满信号IBFIBF变高变高,如时序,如时序图中表示的图中表示的箭头箭头。输入缓冲器满意味着将。输入缓冲器满意味着将阻止外设输入新的数阻止外设输入新的数据据。8255A8255A方式方式1 1输入时序参数说明表输入时序参数说明表STBST
28、BRDRD参参 数数说说 明明8255A最小时间最小时间/ns最大时间最大时间/nstST选通脉冲的宽度选通脉冲的宽度500 tSIB选通脉冲有效到选通脉冲有效到IBF有效之间有效之间的时间的时间 300tSIT =1到中断请求到中断请求INTR有效之间有效之间的时间的时间 300tPH数据保持时间数据保持时间180 tPS数据有效到数据有效到 无效之间的无效之间的时间时间0 tRIT 有效到中断请求撤除之间有效到中断请求撤除之间的时间的时间 400tRIB 为为1到到IBF为为0之间的时间之间的时间 300选通的输入方式选通的输入方式CPUCPU如何读取数据?如何读取数据?1 1、采用查询式
29、输入,、采用查询式输入,CPUCPU先查询先查询IBFIBF是否为高?是否为高? 若若IBFIBF为高,为高,8255A8255A的输入缓冲器就为满,则的输入缓冲器就为满,则CPUCPU可从可从8255A8255A读读入数据。入数据。2 2、采用中断方式传送数据,先用、采用中断方式传送数据,先用C C端口置端口置1/1/置置0 0的控制的控制字使相应的端口允许中断,也就是要使字使相应的端口允许中断,也就是要使PC4PC4或或PC2PC2置置1 1。 这种方式的工作过程与选通输入的情况相类似。这种方式的工作过程与选通输入的情况相类似。对应的对应的C C端口也是端口也是固定分配固定分配。规定:规定
30、:PCPC3 3、PCPC6 6、PCPC7 7分配给分配给A A端口;端口;PCPC2 2、PCPC1 1、PCPC0 0分配给分配给B B端口,端口,剩下的剩下的2 2位位PCPC4 4、PCPC5 5可作为简单的输入可作为简单的输入/ /输出线输出线使用。使用。 当控制字的当控制字的D D3 3位为位为“1”1”时,时,PCPC4 4、PCPC5 5作输入;当作输入;当控制字的控制字的D D3 3位为位为“0”0”时,时,PCPC4 4、PCPC5 5作输出。作输出。 2) 2) 选通的输出方式选通的输出方式方式方式l l输出时输出时C C端口对端口对A A、B B端口的控制图端口的控制
31、图(a) (a) 对对A A端口;端口;(b) (b) 对对B B端口端口1010I/O1010I/O 10110D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0A组工作于方式组工作于方式1输出的控制字输出的控制字A组和组和B组工作于方式组工作于方式1输出的控制字输出的控制字B组工作于方式组工作于方式1输出的控制字输出的控制字方式方式1B端口为输出端口为输出PC5、PC41输入输入0输出输出PC5、PC41输入输入0输出输出A端口为输出端口为输出方式方式1ACKAOBFAINTRAI/OPC6PC7PC3INTEA&PC5PC4PA7PA
32、02WR8(a)PC2PC1PC0INTEB&PB7PB0WR8INTRBOBFBACKB(b) 方式方式1 1选通输出方式各控制信号的意义:选通输出方式各控制信号的意义: OBF(Output Buffer Fu11)OBF(Output Buffer Fu11):输出缓冲器满信号,低电平有效。输出缓冲器满信号,低电平有效。A A组方式控制字中对应组方式控制字中对应PCPC7 7;B B组方式控制字中对应组方式控制字中对应PCPC1 1,由,由8255A8255A向向外设发出低电平的外设发出低电平的OBFOBF信号。信号。 输出指令写信号输出指令写信号WRWR的上升沿的上升沿出现后,
33、将出现后,将OBFOBF信号信号置成有效置成有效低电低电平平,如时序图中表示的,如时序图中表示的箭头箭头。当应答信号当应答信号ACKACK变为有效低电平后,变为有效低电平后,OBFOBF信号撤消变为高电平,如图中表示的信号撤消变为高电平,如图中表示的箭头箭头。ACK(Acknowledge)ACK(Acknowledge):数据接收应答信号,低电平有效。数据接收应答信号,低电平有效。A A组方式控组方式控制字中对应制字中对应PC6PC6;B B组方式控制字中对应组方式控制字中对应PC2PC2,是外设的响应信号。,是外设的响应信号。 ACKACK信号信号有效后有效后使使OBFOBF变成无效变成无
34、效的高电平,同时的高电平,同时使使INTRINTR信号变为有信号变为有效效的高电平。的高电平。INTRINTR:中断请求信号,高电平有效。中断请求信号,高电平有效。A A组方式控制字中对应组方式控制字中对应PC3PC3;B B组方式控制字中对应组方式控制字中对应PC0PC0。由由8255A8255A向向CPUCPU发出中断请求,要求发出中断请求,要求CPUCPU输出新的数据。输出新的数据。 当当ACKACK撤消后为高电平,撤消后为高电平,OBFOBF也为高电平,中断允许信号也为高电平,中断允许信号INTEINTE也为高时,也为高时,INTRINTR中断请求信号被置位为高电平,如图中表示的中断请
35、求信号被置位为高电平,如图中表示的箭箭头头。 中断请求信号是在中断请求信号是在WRWR有效的下降沿出现后使它变为无效的低有效的下降沿出现后使它变为无效的低电平,如图中表示的电平,如图中表示的箭头箭头。INTEINTE:中断允许信号,高电平有效。中断允许信号,高电平有效。当该信号为当该信号为“1”1”时,允许中时,允许中断。断。INTEINTE是用软件通过对是用软件通过对C C端口置端口置1/1/置置0 0的控制字来设置的。当的控制字来设置的。当PCPC6 6置置1 1时,时,A A端口允许中断;端口允许中断;PCPC2 2置置1 1,B B端口允许中断。反之,不允许端口允许中断。反之,不允许中
36、断。中断。 当当8255A8255A的输出选通方式采用中断与的输出选通方式采用中断与CPUCPU通信时,通信时,CPUCPU响应中响应中断后,就向断后,就向8255A8255A输出数据,输出数据, WRWR信号信号出现,其上升沿出现,其上升沿一方面一方面撤撤消中断请求信号消中断请求信号使使INTRINTR变低变低,表示,表示CPUCPU对上一次中断已经响应过。对上一次中断已经响应过。另一方面使另一方面使OBFOBF信号变信号变为有效的为有效的低低电平,以通知外设可以接收下电平,以通知外设可以接收下一个数据。一个数据。8255A8255A方式方式1 1输出时序图输出时序图WROBFINTRACK
37、送往外设的输出数据数据有效tAOBtWOBtWITtAKtAITtWB21348255A8255A方式方式1 1输出时序参数说明表输出时序参数说明表ACKACK参参 数数说说 明明8255A最小时间最小时间/ns最大时间最大时间/nstWIT从写信号有效到中断请求无从写信号有效到中断请求无效的时间效的时间 850tWOB从写信号无效到输出缓冲器从写信号无效到输出缓冲器清的时间清的时间 650tAOB 有效到无效的时间有效到无效的时间 350tAK 脉冲的宽度脉冲的宽度300 tAIT 为为1到发新的中断请求到发新的中断请求的时间的时间 350tWB写信号撤除到数据有效的时写信号撤除到数据有效的
38、时间间350ACK 双向方式双向方式8255A8255A可以向外设发送数据,同时可以向外设发送数据,同时CPUCPU通过这通过这8 8位数据线又接收外设的数据。传输过程由位数据线又接收外设的数据。传输过程由C C端口对端口对A A端口端口进行控制,所以称为带选通的双向传输方式。进行控制,所以称为带选通的双向传输方式。方式方式2 2的基本定义:的基本定义: 只能适用于只能适用于A A端口端口,一个,一个8 8位的双向端口位的双向端口(A(A端口端口) )和和1 1个个5 5位的控制端口位的控制端口(C(C端口端口) )。 A A端口的输入和输出都可以被锁存。在这种方式下,端口的输入和输出都可以被
39、锁存。在这种方式下,C C端口中高端口中高5 5位位PCPC7 7PCPC3 3作为控制信号和状态信息使用,剩作为控制信号和状态信息使用,剩下的下的3 3位位PCPC2 2PCPC0 0可作为简单的输入可作为简单的输入/ /输出线使用。输出线使用。3. 3. 方式方式2-2-带选通的双向传输方式带选通的双向传输方式方式方式2 2时时C C端口对端口对A A端口的控制信号图端口的控制信号图A A组工作于方式组工作于方式2 2的控制字的控制字11D7D6D5D4D3D2D1D0PC2PC01输入输入0输出输出B端口方式端口方式A端口端口方式方式1输入输入0输出输出B组方式组方式0方式方式01方式方
40、式1PC3&PC2PC0PA7PA0PC7PC6PC4PC5INTE2INTE11&WRRDINTRA8OBFAACKASTBAIBFAI/O3方式方式2 2各控制信号的意义:各控制信号的意义:STBSTB:选通信号,低电平有效。选通信号,低电平有效。对应于对应于PCPC4 4,由外设提,由外设提供给供给8255A8255A。该信号负责把外设送到。该信号负责把外设送到8255A8255A的数据送入的数据送入输入锁存器。输入锁存器。IBFIBF:输入缓冲器满信号,高电平有效。输入缓冲器满信号,高电平有效。对应对应PCPC5 5,是,是8255A8255A送给送给CPUCPU的状态
41、信息,供的状态信息,供CPUCPU查询用。当该信号有查询用。当该信号有效时,表示当前已经有一个新的数据送到了输入锁存效时,表示当前已经有一个新的数据送到了输入锁存器中,器中,CPUCPU可以取走。可以取走。OBFOBF:输出缓冲器满信号,低电平有效。输出缓冲器满信号,低电平有效。对应对应PCPC7 7,由,由8255A8255A发给外设的选通信号,当发给外设的选通信号,当OBFOBF有效时,表明有效时,表明CPUCPU已已经将一个数据写入经将一个数据写入8255A8255A的的A A端口中,通知外设可以取端口中,通知外设可以取走数据。走数据。ACKACK:数据接收应答信号,低电平有效。数据接收
42、应答信号,低电平有效。对应对应PCPC6 6,这,这是外设对信号是外设对信号OBFOBF的响应信号,该信号为低电平时,使的响应信号,该信号为低电平时,使A A端口的输出缓冲器打开,送出数据到外设。否则,当端口的输出缓冲器打开,送出数据到外设。否则,当该信号为高电平时,方式该信号为高电平时,方式2 2时输出缓冲器处于高阻状态。时输出缓冲器处于高阻状态。INTRINTR:中断请求信号,高电平有效。中断请求信号,高电平有效。对应对应PCPC3 3,不论,不论A A端口工作端口工作在输入方式还是工作在输出方式,当一个操作完成,并且要进在输入方式还是工作在输出方式,当一个操作完成,并且要进入下一个操作时
43、,入下一个操作时,8255A8255A都要向都要向CPUCPU发出中断请求信号。发出中断请求信号。INTElINTEl:输出中断允许信号。输出中断允许信号。为为“1”1”时,允许向时,允许向CPUCPU发出由发出由A A端端口输出数据的中断请求信号。反之,即使输出缓冲器空,也不口输出数据的中断请求信号。反之,即使输出缓冲器空,也不允许允许8255A8255A向向CPUCPU发中断请求信号。发中断请求信号。INTElINTEl信号的置信号的置1 1或置或置0 0,是用,是用软件使软件使C C端口的端口的PCPC6 6置置1 1或置或置0 0来实现的。来实现的。INTE2INTE2:输入中断允许信
44、号。输入中断允许信号。为为“1”1”时,允许时,允许A A端口的输入处于端口的输入处于中断允许状态,反之,不允许中断。中断允许状态,反之,不允许中断。INTE2INTE2信号的置信号的置1 1或置或置0 0,同,同样是用软件样是用软件通过通过C C端口的端口的PC4PC4置置1 1或置或置0 0来实现。来实现。 * * 方式方式2 2的工作时序基本相当于方式的工作时序基本相当于方式1 1的选通输入时序和选的选通输入时序和选通输出的时序的组合。通输出的时序的组合。8255A8255A方式方式2 2时序图时序图表表9-6 8255A9-6 8255A方式方式2 2时序的参数说明时序的参数说明AST
45、BOBFOBFACK参参 数数说说 明明8255A最小时间最小时间/ns最大时间最大时间/nstST选通脉冲的宽度选通脉冲的宽度500 tPH数据保持时间数据保持时间180 tSIB选通脉冲有效到选通脉冲有效到IBFA有效之间的时间有效之间的时间 300tPS 数据有效到数据有效到 无效之间的时间无效之间的时间0tWOD从写信号无效到,从写信号无效到, 有效的时间有效的时间 650tAOD 有效到有效到 无效的时间无效的时间 350tAD 有效到数据输出的时间有效到数据输出的时间 350tHD数据保持时间数据保持时间200 ACK 方式方式0 0:基本输入输出方式基本输入输出方式 适用于无条件
46、传送和查询方式的接口电路,适用于无条件传送和查询方式的接口电路,A A、B B、C C三个端口均可三个端口均可 。 方式方式1 1:选通输入输出方式选通输入输出方式 适用于查询和中断方式的接口电路,适用于查询和中断方式的接口电路,A A 、B B两个端口两个端口均可。均可。 方式方式2 2:双向选通传送方式双向选通传送方式 适用于双向传送数据的外设,只有适用于双向传送数据的外设,只有A A端口才有。端口才有。 适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路 初始化编程后:初始化编程后: 当数据端口作为输入接口时,执行输入当数据端口作为输入接口时,执行输入ININ指令将从指令将从输
47、入设备得到外设数据输入设备得到外设数据 当数据端口作为输出接口时,执行输出当数据端口作为输出接口时,执行输出OUTOUT指令将把指令将把CPUCPU的数据送给输出设备的数据送给输出设备8255A8255A有有三种工作方式三种工作方式,用户可以通过编程来设置。,用户可以通过编程来设置。 总结:总结:各工作方式的各工作方式的C C口情况口情况A A口方式口方式B B口方式口方式C C口空余位口空余位C C口各位使用情况口各位使用情况008 1510512A输入输入A输出输出203104. C4. C口状态字口状态字 8255A8255A工作在方式工作在方式0 0时,时,C C口各位作输入输出用。当
48、工作口各位作输入输出用。当工作在方式在方式1 1和方式和方式2 2时,时,C C口产生与外设的联络信号。口产生与外设的联络信号。 用用ININ指令读入指令读入C C口各位的内容可检查或测试外设的状态。口各位的内容可检查或测试外设的状态。C C口的状态字格式如下:口的状态字格式如下:(1 1)方式)方式1 1I/O I/O IBFA输入输入INTEAINTRAINTEB IBFB INTRBD7 D6 D5 D4 D3 D2 D1 D0I/O I/O输出输出INTEAINTRA INTEB OBFB INTRBD7 D6 D5 D4 D3 D2 D1 D0OBFA(2 2)方式)方式2 2*IN
49、TE1INTRAINTE2IBFAD7 D6 D5 D4 D3 D2 D1 D0OBFA*9.3 8255A的应用举例的应用举例 8255A8255A先要初始化,写入控制字,指定它先要初始化,写入控制字,指定它的工作方式,然后才能进行数据的传输。的工作方式,然后才能进行数据的传输。 对对8255A8255A的编程涉及到两个内容:的编程涉及到两个内容: 写控制字设置写控制字设置工作方式工作方式等信息,等信息, 使使C C口的指定位口的指定位置位置位/ /复位复位的功能。的功能。 注:均注:均写入控制端口写入控制端口 8255A8255A作为开关作为开关K0K3及七段及七段LEDLED显示器接口。
50、显示器接口。要求开关设置的二进制信息,由要求开关设置的二进制信息,由PC0PC3输入,输入,经程序转换为对应的七段经程序转换为对应的七段LEDLED显示器的字形代码后,显示器的字形代码后,由由PAPA口输出显示。口输出显示。一、基本输入输出应用举例一、基本输入输出应用举例8255APA7PA0驱动器驱动器+5V5VK0K1K2K3PC3PC2PC1PC0D7D0RD WR A1 A2 A B C G2A G2B G1 Y0 Y1 Y2 O O OD7D0 RD WR A0 A1 CSA0 A3A4A78086系统总线系统总线138接口电路接口电路M/IO&A5A6各端口地址为:各端口地
51、址为:E8HEEH 8255A 8255A各端口地址确定各端口地址确定: : A7 A6 A5 A4 A3 A2 A1 A01 1 1 0 1 0 8255A 8255A方式选择控制字方式选择控制字: :LEDLED显示器的字形代码表存放在显示器的字形代码表存放在TABLETABLE单元开始的内存中单元开始的内存中. .数据段中定义:数据段中定义:TABLE DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H DB 80H, 98H, 88H, 83H, 0C6H, 0A1H, 86H, 8EHCSCSA A B B C C G2A G2A G2BG2
52、B G1 G1 Y0 Y0 Y1 Y1 Y2 Y2 A0 A0 A3A3A4A4 A7 A7LS138LS138 M/IO M/IO& &A5A5A6A6按题意设置端口按题意设置端口A A方式方式0 0输出输出, ,下下C C口输入口输入. .1 10 00 00 00 01 181H81H代码段实现操作的具体程序如下代码段实现操作的具体程序如下: :MOV DX, 0E8H ;指向端口指向端口A AOUT DX, AL;输出字形码显示输出字形码显示HLTMOV DX,0EEH ;设置设置8255A8255A工作方式工作方式MOV AL,81HOUT DX,ALMOV DX,0
53、ECH ;指向端口指向端口C C,读开关状态,读开关状态IN AL,DXAND AL,0FHLEA BX,TABLE ;显示代码表首地址送显示代码表首地址送BXBXXLAT ;查表,取出相应的字形码送查表,取出相应的字形码送ALALabdcefgdpLED显示器的外形显示器的外形abcdefgdp共阳极共阳极LED显示器的结构显示器的结构abcdefgdp共阴极共阴极LED显示器的结构显示器的结构二、七段二、七段LEDLED显示器接口电路显示器接口电路1 1、软件译码法、软件译码法方案方案1 1 共阳极共阳极LEDLED显示器与同相驱动器接口显示器与同相驱动器接口PA0PA1PA2PA3PA4
54、PA5PA6PA78255DB7-DB0abcdefgep同同相相驱驱动动器器+5V方案方案2 2 共阴极共阴极LEDLED显示器与反相驱动器接口显示器与反相驱动器接口PA0PA1PA2PA3PA4PA5PA6PA78255DB7-DB0反反相相驱驱动动器器abcdefgdpabdcefgdpabdcefgdpD7 D6 D5 D4 D3 D2 D1 D0 dp g f e d c b a 0(C0H) 1 1 0 0 0 0 0 0abdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdp9(90H) 1
55、0 0 1 0 0 0 01(F9H) 1 1 1 1 1 0 0 12(A4H) 1 0 1 0 0 1 0 03(B0H) 1 0 1 1 0 0 0 04(99H) 1 0 0 1 1 0 0 15(92H) 1 0 0 1 0 0 1 06(82H) 1 0 0 0 0 0 1 07(F8H) 1 1 1 1 1 0 0 08(80H) 1 0 0 0 0 0 0 0(低电平输出点亮)(低电平输出点亮)D7 D6 D5 D4 D3 D2 D1 D0 dp g f e d c b a 0(3FH) 0 0 1 1 1 1 1 19(6FH) 0 1 1 0 1 1 1 11(05H) 0
56、 0 0 0 0 1 1 02(5BH) 0 1 0 1 1 0 1 13(4FH) 0 1 0 0 1 1 1 14(66H) 0 1 1 0 0 1 1 05(6DH) 0 1 1 0 1 1 0 16(7DH) 0 1 1 1 1 1 0 17(07H) 0 0 0 0 0 1 1 18(7FH) 0 1 1 1 1 1 1 1(高电平输出点亮)(高电平输出点亮)2 2、利用专用芯片驱动、利用专用芯片驱动LEDLED显示器显示器利用利用74477447芯片驱动芯片驱动LEDLED显示器显示器74477447为为BCDBCD(09)七段译码器)七段译码器(1 1)与单个)与单个LEDLED
57、的连接的连接7447a b c d e f g13 12 11 10 9 15 14VccGNDRBIRBOLTA B C D345+5V7 1 2 6+5V1685VR=R=(51.5 0.2)V/ 20mA=168V/ 20mA=168 取限流电阻取限流电阻R=150 R=150 5V1. 5V0. 2VI=20mARBCDBCD输入输入(2 2)7447BCD7447BCD七段译码器与多个七段译码器与多个LEDLED的连接的连接PA0PA1PA2PA3 PA4 PA5PA6 PA77447a b c d e f gA B C D7447a b c d e f gA B C D7447a
58、b c d e f gA B C D7447a b c d e f gA B C DPB0PB1PB2PB3 PB4 PB5PB6 PB7DB0DB7DB0DB75V静态显示器的设计静态显示器的设计 (器件多时,增加成本,加大功耗)(器件多时,增加成本,加大功耗) 7447abcdefgABCDPB0PB1PB2PB3PA0PA1PA2PA3PA4PA5PA68255动态显示器动态显示器的设计的设计+5V显示控制程序显示控制程序LEA SI,BUFFMOV CX,07HMOV DL,0FEH初始化初始化结束结束取显示数据取显示数据送段码通道口送段码通道口延时延时位码送位通道口位码送位通道口是否
59、最后一位是否最后一位修改指针,位码修改指针,位码N NY YMOV AL,SIOUT POTB,ALMOV AL,DLOUT POTA,ALINC SIROL DL PB0PA0PA1PA2PA3PA4PA5PA68255agPB774LS06小系统常用显小系统常用显示接口电路示接口电路初始化初始化结束结束取显示数据取显示数据查表得段码送段通道查表得段码送段通道延时延时位码送位通道位码送位通道是否最后一位是否最后一位修改指针,位码修改指针,位码N NY YLEA SI,BUFFMOV CL,40HMOV BX,LED-ADDDISI:MOV AL,SI XLATMOV DX, POTBOUT
60、DX,ALMOV AL,CLMOV DX, POTAOUT DX,ALINC SISHR CLJNZ DISI显示控制程序显示控制程序 键盘是最常用的一种输入设备。有两种类型:键盘是最常用的一种输入设备。有两种类型:编码键盘编码键盘和和非编码键盘。非编码键盘。 编码键盘编码键盘能能自动提供自动提供对应于被按键的编码,如对应于被按键的编码,如ASCIIASCII码,并能同时产生一个脉冲通知码,并能同时产生一个脉冲通知CPUCPU。编码键。编码键盘还具有处理抖动和多键串键的保护电路。这种键盘还具有处理抖动和多键串键的保护电路。这种键盘的盘的优点优点是使用方便,但是使用方便,但需要较多的硬件,价格昂需要较多的硬件,价格昂贵。贵。 非编码键盘非编码键盘有一组开关组成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论