1、甘肃冶金高级技术学院甘肃冶金高级技术学院2022-12-23甘肃冶金高级技术学院31 1、掌握简单的并行接口芯片的外特性与应用、掌握简单的并行接口芯片的外特性与应用2 2、掌握、掌握8255A8255A的结构、工作原理和硬件连接的结构、工作原理和硬件连接3 3、掌握、掌握8255A8255A的初始化方法的初始化方法4 4、掌握简单并行接口的应用、掌握简单并行接口的应用2022-12-23甘肃冶金高级技术学院42022-12-23甘肃冶金高级技术学院5接口电路应具有如下电路单元:接口电路应具有如下电路单元:输入输入/输出数据锁存器和缓冲器输出数据锁存器和缓冲器用于解决用于解决CPU与外设之间速度
2、不匹配的矛盾,以及起隔与外设之间速度不匹配的矛盾,以及起隔离和缓冲的作用。离和缓冲的作用。控制命令和状态寄存器控制命令和状态寄存器用来存放用来存放CPU对外设的控制命令,以及外设的状态信息。对外设的控制命令,以及外设的状态信息。地址译码器地址译码器用来选择接口电路中的不同端口。用来选择接口电路中的不同端口。读写控制逻辑读写控制逻辑中断控制逻辑中断控制逻辑2022-12-23甘肃冶金高级技术学院6A7A0CE译码器译码器接口芯片接口芯片 同内存储器的读/写操作相仿,必须要有一个地址信号选中接口芯片后,才能使该芯片进入电路工作状态,实现数据的输入/输出。CPU的地址线通过地址译码器输出接到接口芯片
3、的选通端CE,又称片选端。片选端是控制接口芯片进入电路工作状态的引脚端。只有CE被选中后,CPU才能通过该芯片与对应的I/O设备传送数据。2022-12-23甘肃冶金高级技术学院7读操作时,输入接口信息由数据总线进入CPU,数据何时读入CPU,由RD控制。写操作时,数据何时由数据总线进入输出接口芯片由WR控制。DBRDCE输入口输入口DBWRCE输出口输出口2022-12-23甘肃冶金高级技术学院8多通道是指一个接口芯片一面与CPU连接,另一面可接几个外设。多功能是指一个接口芯片能实现多种接口功能,实现不同的电路工作状态。可编程是指通过计算机的指令来选择不同的通道和不同的电路功能。可编程芯片是
4、指接口电路的组态可由计算机指令来控制的接口芯片。接口芯片中用来存放控制电路组态的控制字节的寄存器称为控制寄存器。2022-12-23甘肃冶金高级技术学院9数据线数据线接接 口口外外 设设STBRDY2022-12-23甘肃冶金高级技术学院102022-12-23甘肃冶金高级技术学院11简单的I/O接口的扩展通常用74LS244(8位三态缓冲器及总 线驱动器)扩展输入口,用74LS273(8D锁存器)扩展输出口。2022-12-23甘肃冶金高级技术学院122022-12-23甘肃冶金高级技术学院13 若要求当某键按下时,相应的LED发光,则接口程序如下:LOOP:MOV DPTR,#PORT1
5、MOVX A,DPTR MOV DPTR,#PORT2 MOVX DPTR,A JMP LOOP2022-12-23甘肃冶金高级技术学院14 在扩展接口时,还应注意两点:I/O地址的安排,如果扩展的接口不多,则可用线选寻址,在图中P2.0来选择一个输入口和一个输出口。线选法未能使地址空间得到充分利用,对于RAM和I/O口容量较大的系统,可用74LS138作为地址译码器,译码出的信号作为片选信号。2022-12-23甘肃冶金高级技术学院15总线负载能力的扩大:P0口作地址/数据总线时,其负载能力为8个LSTTL电路,P2口作为地址总线时,其负载能力为4个LS TTL电路,如果超过必须增加总线驱动
6、器,如:74LS244(单向)、74LS245(双向)等。2022-12-23甘肃冶金高级技术学院162022-12-23甘肃冶金高级技术学院17INTEL8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”。具有多种功能的可编程并行接口电路芯片具有多种功能的可编程并行接口电路芯片最基本的接口电路:三态缓冲器和锁存器最基本的接口电路:三态缓冲器和锁存器与与CPUCPU间、与外设间的接口电路:状态寄存器和控制间、与外设间的接口电路:状态寄存器和控制寄存器寄存器还有端口的译码和控制电路、中断控制电路还有端口的译码和控制电路、中断控制电路 共共2424个外设引脚,分个外设引脚
7、,分3 3个端口、个端口、2 2组控制组控制 共三种输入输出工作方式共三种输入输出工作方式2022-12-23甘肃冶金高级技术学院181.8255A1.8255A的内部结构的内部结构数据总线数据总线 一个三态一个三态8 8位双向缓冲器,用作位双向缓冲器,用作8255A8255A同系统数据总线相同系统数据总线相连时的缓冲部件,连时的缓冲部件,CPUCPU通过执行输入通过执行输入/输出指令来实现对输出指令来实现对缓冲器发送或接收数据。缓冲器发送或接收数据。8255A8255A的控制字和状态字也是的控制字和状态字也是通过该缓冲器传送的。通过该缓冲器传送的。三个三个8 8位数据端口位数据端口PAPA、
8、PBPB、PCPC 端口端口A A:一个:一个8 8位数据输出锁存位数据输出锁存/缓冲器;一个缓冲器;一个8 8位数据输位数据输入锁存器。入锁存器。端口端口B B:一个:一个8 8位数据输入位数据输入/输出、锁存输出、锁存/缓冲器;一个缓冲器;一个8 8位数据输入缓冲器。位数据输入缓冲器。端口端口C C:一个:一个8 8位数据输出锁存位数据输出锁存/缓冲器;一个缓冲器;一个8 8位数据输位数据输入缓冲器(输入没有锁存)。入缓冲器(输入没有锁存)。2022-12-23甘肃冶金高级技术学院19 端口A:PA0 PA7A组,支持工作方式0、1、2 端口B:PB0 PB7B组,支持工作方式0、1 端口
9、C:PC0 PC7仅支持工作方式0A组控制高4位PC4PC7B组控制低4位PC0PC3n端口端口A:PA0PA7n常作数据端口,功能最强大常作数据端口,功能最强大n端口端口B:PB0PB7n常作数据端口常作数据端口n端口端口C:PC0PC7n可作数据、状态和控制端口可作数据、状态和控制端口n分两个分两个4位,每位可独立操作位,每位可独立操作n控制最灵活,最难掌握控制最灵活,最难掌握端口作用与特点端口作用与特点2022-12-23甘肃冶金高级技术学院20A A组和组和B B组控制电路组控制电路由由A A、B B两组控制电路组成。两组控制电路组成。主要作用是根据主要作用是根据CPUCPU发出的方式
10、选择控制字控制发出的方式选择控制字控制8255A8255A的工作方式,每个控制组都接收来自读的工作方式,每个控制组都接收来自读/写控制逻辑写控制逻辑的的“命令命令”,接收来自内部数据总线的,接收来自内部数据总线的“控制字控制字”,并向与其相连的端口发出适当的控制信号;也可根并向与其相连的端口发出适当的控制信号;也可根据控制字的要求对据控制字的要求对C C口按位进行置位或复位。口按位进行置位或复位。A A组控制部件用来控制组控制部件用来控制PAPA口和口和C C口的高口的高4 4位,位,B B组控制部组控制部件用来控制件用来控制PBPB口和口和PCPC口的低口的低4 4位。位。读读/写控制逻辑写
11、控制逻辑 用来管理数据信息、控制字和状态字的传送,它接收来用来管理数据信息、控制字和状态字的传送,它接收来自自CPUCPU地址总线的地址总线的A1A1、A0A0和控制总线的有关信号(和控制总线的有关信号(RDRD、WRWR、RESETRESET等等),向,向8255A8255A的的A A、B B两组控制部件发送命令。两组控制部件发送命令。2022-12-23甘肃冶金高级技术学院21数据数据总线总线缓冲器缓冲器内部控制线内部控制线内部数据线内部数据线D0D7A组组控制控制A组组端口端口AA组组端口端口C高高4位位B组组控制控制B组组端口端口BB组组端口端口C低低4位位读写读写控制控制逻辑逻辑PC
12、0PC3PB0PB7PC4PC7PA0PA7RDWRA0A1CSRESET8255A8255A的结构框图的结构框图2022-12-23甘肃冶金高级技术学院222022-12-23甘肃冶金高级技术学院231.1.工作方式工作方式方式方式0 0基本输入基本输入输出输出方式方式0 0下,每一个口都作为基本的输入输出口,下,每一个口都作为基本的输入输出口,C C口的高口的高4 4位和低位和低4 4位以及位以及A A口、口、B B口都可以独立地设置为输入口或口都可以独立地设置为输入口或输出口。输出口。基本输入基本输入输出下工作时,输出下工作时,CPUCPU可以采用无条件读写方式可以采用无条件读写方式与与
13、8255A8255A交换数据,也可采用查询方式。交换数据,也可采用查询方式。基本输入基本输入输出下工作时,输出的数据被锁存,而输入数输出下工作时,输出的数据被锁存,而输入数据是不锁存的。据是不锁存的。方式方式1 1选通输入选通输入输出输出方式方式1 1下将三个端口分成下将三个端口分成A A、B B两组,两组,A A、B B两个口作为数据两个口作为数据口,口,C C口分成两部分,分别作为口分成两部分,分别作为A A口和口和B B口的联络信号。口的联络信号。2022-12-23甘肃冶金高级技术学院24方式方式1 1的输入的输入数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中
14、断请求信号请求CPU接收数据PC4PC5PC3PA7PA0INTEAIBFAINTRASTBA中断允许触发器方式方式1 1需借用端口需借用端口C C用做联络信号用做联络信号同时还具有中断请求和屏蔽功能同时还具有中断请求和屏蔽功能2022-12-23甘肃冶金高级技术学院25PC2PC1PC0PB7PB0INTEBIBFBINTRBSTBB数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据中断允许触发器2022-12-23甘肃冶金高级技术学院26 STB选通信号,低电平有效选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备由外设提供的
15、输入信号,当其有效时,将输入设备送来的数据锁存至送来的数据锁存至8255A8255A的输入锁存器的输入锁存器 IBF输入缓冲器满信号,高电平有效输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数据已输出的联络信号。当其有效时,表示数据已锁存在输入锁存器锁存在输入锁存器 INTR中断请求信号,高电平有效中断请求信号,高电平有效8255A输出的信号,可用于向输出的信号,可用于向CPU提出中断请求,提出中断请求,要求要求CPU读取外设数据读取外设数据A A口所用的三个联络信号占用口所用的三个联络信号占用C C口的口的PCPC3 3、PCPC4 4、PCPC5 5三引脚,三引脚,
16、B B口则用了口则用了PCPC0 0、PCPC1 1和和PCPC2 2三个引脚。三个引脚。2022-12-23甘肃冶金高级技术学院27dataINTRIBF data输入端口输入端口D0D7STBRDSTBSTB和和IBFIBF是外设和是外设和8255A8255A间的一对应答联络信号,间的一对应答联络信号,为的是可靠地输入数据为的是可靠地输入数据2022-12-23甘肃冶金高级技术学院28 8255A的中断由中断允许触发器INTE控制置位允许中断,复位禁止中断置位允许中断,复位禁止中断 对INTE的操作通过写入端口C的对应位实现,INTE触发器对应端口C的位是作应答联络信号的输入信号的哪一位,
17、只要对那一位置位/复位就可以控制INTE触发器 选通输入方式下端口端口A的的INTEA对应对应PC4端口端口B的的INTEB对应对应PC22022-12-23甘肃冶金高级技术学院29外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC6PC7PC3PA7PA0INTEAOBFAINTRAACKA中断允许触发器2022-12-23甘肃冶金高级技术学院30PC2PC1PC0PB7PB0INTEBOBFBINTRBACKB外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允许触发
18、器2022-12-23甘肃冶金高级技术学院31 OBF输出缓冲器满信号,低有效输出缓冲器满信号,低有效8255A输出给外设的一个控制信号,当其有输出给外设的一个控制信号,当其有效时,表示效时,表示CPU已把数据输出给指定的端口,已把数据输出给指定的端口,外设可以取走外设可以取走 ACK响应信号,低有效响应信号,低有效外设的响应信号,指示外设的响应信号,指示8255A的端口数据已的端口数据已由外设接受由外设接受 INTR中断请求信号,高有效中断请求信号,高有效当输出设备已接受数据后,当输出设备已接受数据后,8255A输出此信输出此信号向号向CPU提出中断请求,要求提出中断请求,要求CPU继续提供
19、继续提供数据数据端口端口A A的的INTEAINTEA对应对应PCPC6 6端口端口B B的的INTEBINTEB对应对应PCPC2 22022-12-23甘肃冶金高级技术学院32输出端口输出端口OBFOBF*和和ACKACK*是外设和是外设和8255A8255A间的一对应答联络信号,间的一对应答联络信号,为的是可靠地输出数据为的是可靠地输出数据 INTR datadataD0D7WROBFACK 2022-12-23甘肃冶金高级技术学院33 方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据 只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相
20、同 方式2的数据输入过程与方式1的输入方式一样 方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在OBF有效时向外设输出数据,而是在外设提供响应信号ACK时才送出数据 此方式也是借用此方式也是借用C C口的口的5 5条信号线作控制和状态线,条信号线作控制和状态线,A A口口的输入和输出均带有锁存。的输入和输出均带有锁存。2022-12-23甘肃冶金高级技术学院34PC6PC7PC3PA7PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用用PC6设置设置INTE1(输出)(输出)用用PC4设置设置INTE2(输入)(输入)输入和输出中断通
21、过输入和输出中断通过或门输出或门输出INTRA信号信号2022-12-23甘肃冶金高级技术学院35data-out INTR data-outdata-indata-inPA0PA7D0D7IBF WROBFACKSTBRD2022-12-23甘肃冶金高级技术学院36写入方式控制字:控制字格式写入方式控制字:控制字格式2022-12-23甘肃冶金高级技术学院37 要求:A端口:方式端口:方式1输入输入C端口上半部:输出,端口上半部:输出,C口下半部:输入口下半部:输入B端口:方式端口:方式0输出输出 方式控制字:10110001B或0B1H 初始化的程序段:mov dx,0fffeh;假设控制
22、端口为0FFFEH mov al,0b1h;方式控制字 out dx,al;送到控制端口2022-12-23甘肃冶金高级技术学院38 初始化编程后:当数据端口作为输入接口时,执行输入当数据端口作为输入接口时,执行输入IN指令将从指令将从输入设备得到外设数据输入设备得到外设数据当数据端口作为输出接口时,执行输出当数据端口作为输出接口时,执行输出OUT指令将指令将把把CPU的数据送给输出设备的数据送给输出设备 8255A具有锁存输出数据的能力对输出方式的端口同样可以输入对输出方式的端口同样可以输入不是读取外设数据不是读取外设数据读取的是上次读取的是上次CPU给外设的数据给外设的数据2022-12-
23、23甘肃冶金高级技术学院39C C口按位置、复位控制字口按位置、复位控制字 位控制字写入控制端口位控制字写入控制端口 特别便于置位复位内部中断允许触发器特别便于置位复位内部中断允许触发器INTE2022-12-23甘肃冶金高级技术学院40 对端口C的数据输出有两种办法 通过端口C的I/O地址:向C端口直接写入字节数据。这一数据被写进C端口的输出锁存器,并从输出引脚输出,但对设置为输入的引脚无效。通过控制端口:向C端口写入位控字,使C端口的某个引脚输出1或0,或置位复位内部的中断允许触发器。2022-12-23甘肃冶金高级技术学院41 读取的C端口数据有两种情况 未被A和B端口征用的引脚:将从定
24、义为输入的端口读到引脚输入信息;将从定义为输出的端口读到输出锁存器中的信息。被A和B端口征用作为联络线的引脚:将读到反映8255A状态的状态字2022-12-23甘肃冶金高级技术学院42BUSY DATA078255APC6PC2PA0PA7打印机打印机STROBE查询式打印机接口查询式打印机接口2022-12-23甘肃冶金高级技术学院43BUSYDATA07ACKSTROBE 主机把数据送给引脚DATA0DATA7 同时送出数据选通信号STB 打印机在BUSY信号线上发出忙信号 打印机处理好输入的数据时撤消忙信号同时又送出一个响应信号ACK2022-12-23甘肃冶金高级技术学院442022
25、-12-23甘肃冶金高级技术学院45 前提:MCS-51单片机的串行口在方式0时是一个同步移位寄存器I/O方式,可用来扩展8位并行输入/输出口。2022-12-23甘肃冶金高级技术学院46用串行接口扩展并行输入口 用一片8位并行输入/串行输出移位寄存器,如4014或74LS165便可以扩展一个并行输入口。2022-12-23甘肃冶金高级技术学院47用串行口扩展并行输出口 用一片串行输入/8位并行输出移位寄存器,如4094或74LS164便可以扩展一个并行输出口。2022-12-23甘肃冶金高级技术学院482022-12-23甘肃冶金高级技术学院49 在设计键盘接口时,解决以下几个问题:开关状态
26、的可靠输入可设计硬件去抖动电路或设计去抖动软件。键盘状态的监测方法中断方式还是查询方式。键盘编码方法。键盘控制程序的编制。2022-12-23甘肃冶金高级技术学院501独立式按键结构独立式按键是指直接用I/O口线构成的单个按键电路。每根I/O口线上按键的工作状态不会影响其他I/O口线的工作状态。独立式按键电路如图所示。2独立式按键的软件结构包括按键查询、键功能程序转移。FP0FP7 为功能程序入口地址标号,PROM0PROM7分别为每个按键的功能程序。2022-12-23甘肃冶金高级技术学院518031INT0I/O8031图 8-1-1 独立式按键电路()()查询方式I/O中断方式+5VIN
27、T1独立式按键电路 2022-12-23甘肃冶金高级技术学院528031P2.7ALEP0WRRD74LS3730AA1D7D0CSPAPA568255RESETGNDPA0PA1PA2PA3PA4PA7WRRD+5V+5V1K10F 7123456088使用8255扩展I/O的独立式键盘2022-12-23甘肃冶金高级技术学院531键盘工作原理行列式键盘电路原理如图所示。按键设置在行列式交点上,行列线分别连接到按键开关的两端。当行线通过上拉电阻接+5伏时,被钳位在高电平状态。键盘中有无按键按下是由列线送入全扫描字、行线读入行线状态来判断的。键盘中哪一个键按下可由列线逐列置低电平后,检查行输入
28、状态来判断。2022-12-23甘肃冶金高级技术学院54行列式键盘原理电路2022-12-23甘肃冶金高级技术学院552键盘工作方式键盘的工作方式:编程扫描方式、定时扫描方式、中断扫描方式三种。在键盘扫描子程序中完成下述几个功能。(1)判断键盘上有无键按下(2)去键的机械抖动影响。(3)求按下键的键号。(4)键闭合一次仅进行一次键功能操作。2022-12-23甘肃冶金高级技术学院568155扩展I/O口组成的行列式键盘2022-12-23甘肃冶金高级技术学院57键扫描子程序框图调用子程序延时6ms调用子程序延时12ms开始有键闭合否?有键闭合否?判断闭合键键号栈闭合键释放否?输入键号A返回YN
29、NYNY2022-12-23甘肃冶金高级技术学院58定时扫描方式程序框图2022-12-23甘肃冶金高级技术学院59中断方式键盘接口2022-12-23甘肃冶金高级技术学院60 3键盘扫描方式 扫描法:在判定有键按下后逐列(或逐行)置低电平,同时读入行(或列)的状态,如果行(或列)的状态出现非全1状态,这时0状态的行、列交点的键就是所按下的键。特点是逐列(或逐行)扫描查询。这时相应行(或列)应有上拉电阻接高电平。反转法:只要经过两个步骤就可获得键值。反转法原理如图所示。2022-12-23甘肃冶金高级技术学院61 (a)线反转法第一步 (b)线反转法第二步线反转法原理2022-12-23甘肃冶
30、金高级技术学院624行列式键盘接口 通用并行扩展I/O口键盘接口 8031串行I/O口扩展的键盘接口2022-12-23甘肃冶金高级技术学院638031串行I/O口扩展的行列式键盘接口 2022-12-23甘肃冶金高级技术学院642022-12-23甘肃冶金高级技术学院651LED显示器结构与原理LED显示块是由发光二极管显示字段的显示器件。在微机应用系统中通常使用的是七段LED。这种显示块有共阴极与共阳极两种,如图所示。七段显示块与微机接口非常容易。2022-12-23甘肃冶金高级技术学院66(a)共阴极 (b)共阳极 (c)管脚配置七段LED显示块2022-12-23甘肃冶金高级技术学院6
31、7七段LED的段选码 2022-12-23甘肃冶金高级技术学院682LED显示器与显示方式在微机应用系统中使用LED显示块构成N位LED显示器。LED显示器有两种方式:(1)LED静态显示方式(2)LED动态显示方式2022-12-23甘肃冶金高级技术学院69a b c d e f Rdpa b c d e f Rdpa b c d e f Rdpa b c d e f Rdpa b c d e f Rdp3.83.83.83.83.8 I/O口位选控制 I/O口段选控制N位LED显示器2022-12-23甘肃冶金高级技术学院70 GND/+5VGND/+5VGND/+5VGND/+5VGND
32、/+5VI/O(1)I/O(2)I/O(3)I/O(4)四位静态LED显示器电路2022-12-23甘肃冶金高级技术学院71八位LED动态显示器电路 I/O(1)DDDDDDDDI/O(2)756432102022-12-23甘肃冶金高级技术学院723LED显示器接口实例 从LED显示器的原理可知,为了显示字母与数字,必须最终转换成相应的段选码。这种转换可以通过硬件译码器或软件进行译码。l硬件译码器LED显示器接口l软件译码LED显示器接口2022-12-23甘肃冶金高级技术学院73利用硬件译码器的七段LED接口电路 2022-12-23甘肃冶金高级技术学院74通过8155扩展I/O口控制的8
33、位LED动态显示接口2022-12-23甘肃冶金高级技术学院75动态显示子程序流程图2022-12-23甘肃冶金高级技术学院76 1LCD的基本结构及工作原理液晶显示器基本结构2022-12-23甘肃冶金高级技术学院772LCD的驱动方式 静态驱动方式:静态驱动回路及波形如图所示,图中LCD表示某个液晶显示段。时分割驱动电压平均化:当显示字段增多时,为减少引出线和驱动回路数,需要采用时分割驱动法。时分割驱动方式通常采用电压平均化法,其占空比有1/2,1/8,1/11,1/16,1/32,1/64等,偏比有1/2,1/3,1/4,1/5,1/7,1/9等。2022-12-23甘肃冶金高级技术学院78(a)驱动回路;(b)真值表;(c)驱动波形静态驱动回路及波形2022-12-23甘肃冶金高级技术学院793LCD接口实例 硬件接口电路:图示为六位液晶静态显示电路。典型显示子程序:设显示缓冲区为8031片内RAM的22H27H六个单元依次放置六位分离的BCD码。2022-12-23甘肃冶金高级技术学院80六位LED静态显示电路