1、一、一、 用用 8255A 可编程器件扩展并行接口可编程器件扩展并行接口8255:8255: 有三个八位的并行口:有三个八位的并行口:PAPA、PBPB、PCPC。有三种工作方式:有三种工作方式:方式方式 0,方式,方式 1,方式,方式 2。可以与可以与 80318031 直接接口直接接口1.逻辑结构图:包含四个部分:包含四个部分:三个并行数据输入输出端口三个并行数据输入输出端口两个工作方式控制电路两个工作方式控制电路一个读写逻辑控制电路一个读写逻辑控制电路 八位总线缓冲器八位总线缓冲器 三个并行数据输入输出端口:三个并行数据输入输出端口:A 口;口;B 口;口;C 口口一般,一般,A 口,口
2、,B 口作为数据输入输出端口,口作为数据输入输出端口,C 口作为控制口作为控制/状态信息口,可以分为两个部分,分别与状态信息口,可以分为两个部分,分别与 A 口口和和 B 口配合使用,作为控制信息输出或状态信息输入。口配合使用,作为控制信息输出或状态信息输入。 工作方式控制电路工作方式控制电路工作方式控制电路有两个:工作方式控制电路有两个:A 组控制和组控制和 B 组控制电路,组控制电路,A 组控制用来控制组控制用来控制 A 口和口和 C 口的上半部分口的上半部分 PC7PC4;B 组控制用来控制组控制用来控制 B 口和口和 C 口的下半部分口的下半部分 PC3PC0;两组控制电路具有一个控制
3、命令寄存器,用来接收来自两组控制电路具有一个控制命令寄存器,用来接收来自CPU 的数据(控制字的数据(控制字) ,以决定芯片的工作方式,或对,以决定芯片的工作方式,或对C 口按位进行清口按位进行清“0”或者置或者置“1” 。 总线缓冲器总线缓冲器三态双向八位缓冲器三态双向八位缓冲器, 作为微处理器数据总线与作为微处理器数据总线与 8255 之间的接之间的接口,用来传送命令口,用来传送命令、数据及状态信息。数据及状态信息。 读写逻辑控制电路读写逻辑控制电路读写逻辑控制电路接受读写逻辑控制电路接受 CPU 来的控制信号:读来的控制信号:读、写写、地址及地址及复位信息,根据控制信号的要求,将数据读出
4、,送往复位信息,根据控制信号的要求,将数据读出,送往 CPU,或者将或者将 CPU 来的信息写入端口。来的信息写入端口。2. 引脚说明:引脚说明:CS:片选信号,低电平有效,表示芯片被选中;:片选信号,低电平有效,表示芯片被选中;RD:读操作,低电平有效,控制数据读出;:读操作,低电平有效,控制数据读出;WE:写操作,低电平有效,控制数据写入;:写操作,低电平有效,控制数据写入;A1,A0:地址线:地址线, 端口选择信号,用来选择端口选择信号,用来选择 8255 内部端口:内部端口:A1A0RDWECS操操作作00010读读 A 口到数据总线口到数据总线01010读读 B 口到数据总线口到数据
5、总线10010读读 C 口到数据总线口到数据总线00100写数据总线写数据总线A 口口01100写数据总线写数据总线B 口口10100写数据总线写数据总线C 口口11100写数据总线写数据总线控制口控制口1 1数据总线为高阻态数据总线为高阻态11010非法操作非法操作11110无效无效RESET:复位信号,高电平有效,各端口被置成输入:复位信号,高电平有效,各端口被置成输入;D7D0D0:双向三态数据线;:双向三态数据线;PA7PA0:A 口输入输出线;口输入输出线;PB7PB0:B 口输入输出线;口输入输出线;PC7PC0:C 口输入输出线;口输入输出线;3工作方式选择工作方式选择工作方式控
6、制字工作方式控制字8255 有三种工作方式:方式有三种工作方式:方式 0,方式,方式 1,方式,方式 2。其中方式其中方式 2 只对只对 A 口。口。8255 的工作方式是由工作方式控制字决定,工作方式控制字是的工作方式是由工作方式控制字决定,工作方式控制字是由由 CPU 写入。写入。8255 方式控制字定义如下:方式控制字定义如下:D7 D6D5 D4D3 D2D1 D0B 组:组:端口端口 C(下半部)(下半部)1:输入,:输入,0:输出:输出端口端口 B1:输入,:输入,0:输出:输出方式选择方式选择0:方式:方式 0,1 方式方式 1A 组组C 口上半部口上半部1:输入,:输入,0:输
7、出:输出端口端口 A1:输入,:输入,0:输出:输出方式选择方式选择00: 方式方式 0,01: 方式方式 11:方式:方式 2D7=1:命令控制字有效。:命令控制字有效。当当 D7=0,通过控制口对,通过控制口对 C 口进行位操作。口进行位操作。C 口具有位操作功能,通过工作方式控制字可以将口具有位操作功能,通过工作方式控制字可以将 PC7PC0中任意一位置中任意一位置 1 或清或清 0D7D6 D5 D4 D3D2D1D0D7=0 对对 C 口操作,口操作,D6 D5 D4 无效,无效,D3 D2 D1:位选择:位选择000PC0001PC1010PC2011PC3100PC4101PC5
8、110PC6111PC7D0=0:清:清 0 ;0=1:置:置 1 工作方式工作方式 0 0:基本输入输出方式:基本输入输出方式三个端口都可以设置成输入或输出方式:三个端口都可以设置成输入或输出方式:具有两个八位端口:具有两个八位端口:A A 口和口和 B B 口口具有两个四位端口:具有两个四位端口:PC0PC0PC3PC3,PC4PC4PC7PC7任一端口都可设置为输入或输出任一端口都可设置为输入或输出数据输出带锁存,输入时不锁存数据输出带锁存,输入时不锁存此时,此时,82558255 可以工作在无条件传送;可以工作在无条件传送;也可以查询式传送,也可以查询式传送,C C 口作为联络信号口作
9、为联络信号 工作方式工作方式 1 1:选通式输入:选通式输入/ /输出方式输出方式有固定的选通信号,选通信号与数据一齐传送,由选通信号表示有固定的选通信号,选通信号与数据一齐传送,由选通信号表示数据传送的状态:数据传送的状态:三个端口分为两组:三个端口分为两组:A A 组和组和 B B 组组每组包括一个八位数据端口和一个四位的控制状态端口每组包括一个八位数据端口和一个四位的控制状态端口每个八位数据端口均可设置为输入或输出每个八位数据端口均可设置为输入或输出, 输入输出均带锁存输入输出均带锁存四位端口作为八位端口的控制四位端口作为八位端口的控制/ /状态联络信号状态联络信号方式方式 1 1 输入
10、:输入:STBSTB:设备的选通信号输入线,低电平有效,:设备的选通信号输入线,低电平有效,STB的下降沿将端口的下降沿将端口数据线上信息打入数据线上信息打入端口锁存器;端口锁存器;IBFIBF:端口锁存器满标志输出线端口锁存器满标志输出线,IBFIBF 和设备相连和设备相连。IBFIBF 为高电平表为高电平表示设备已将数据示设备已将数据打入端口锁存器打入端口锁存器、但但 CPUCPU 尚未读取尚未读取。当当 CPUCPU 读取端口数据读取端口数据后后IBFIBF 变成低电变成低电平,表示端口锁存器空。平,表示端口锁存器空。INTEINTE:8255A8255A 端口内部的中断允许触发器。端口
11、内部的中断允许触发器。只有当只有当 INTEINTE 为高电平时才允许端口中断请求。为高电平时才允许端口中断请求。INTEAINTEA,INTEBINTEB 分别由分别由 PCPC 口的第四口的第四、第二位置位复位控第二位置位复位控制:制:INTEINTE A A 由由 PC4PC4 复位复位/ /置位控制置位控制INTEINTE B B 由由 PC2PC2 复位复位/ /置位控制置位控制INTRINTR:中断请求信号线,高电平有效。:中断请求信号线,高电平有效。方式方式 1 1 输入方式下时序如图:输入方式下时序如图:STBIBFIBFINTRINTRRDRDINPUTINPUT方式方式 1
12、 1 输出:输出:当任何一个端口按方式当任何一个端口按方式 1 1 输出时,各控制信号如下:输出时,各控制信号如下:OBF:输出缓冲器满信号,低电平有效,:输出缓冲器满信号,低电平有效,是是 82558255 输出给外设的联络信号输出给外设的联络信号, 表示表示 CPUCPU 已经将数据送入了指已经将数据送入了指定定的端口中,外设可以将数据取走。的端口中,外设可以将数据取走。由由WR信号的上升沿置信号的上升沿置 0 0,由,由ACK的下降沿置的下降沿置 1 1;ACK:外设响应信号,低电平有效,:外设响应信号,低电平有效,表示表示 CPUCPU 输出给输出给 82558255 的数据已被外设取
13、走。的数据已被外设取走。INTRINTR:中断请求信号,高电平有效;表示数据已被外设取走,请:中断请求信号,高电平有效;表示数据已被外设取走,请求求CPUCPU 继续输入数据,继续输入数据,中断条件:中断条件:ACK、OBF、INTEINTE 均为高电平均为高电平INTRINTR 由由WR的下降沿复位的下降沿复位INTEINTE:82558255 片内中断允许触发器,高电平有效;片内中断允许触发器,高电平有效;INTEINTE A A 由由 PC6PC6 复位复位/ /置位控制置位控制INTEINTE B B 由由 PC2PC2 复位复位/ /置位控制置位控制方式方式 1 1 输出方式下时序如
14、图:输出方式下时序如图:WRWROBFOBFACKACKINTRINTROUTPUTOUTPUT 工作方式工作方式 2 2仅对仅对 A A 口口A A 口定义为八位双向总线端口,既可发送数据,又可接收数据,口定义为八位双向总线端口,既可发送数据,又可接收数据,输入输出均锁存输入输出均锁存C C 口定义为五位控制信号端口,作为口定义为五位控制信号端口,作为 A A 口的控制状态信号口的控制状态信号既可工作于查询方式,也可工作于中断方式。既可工作于查询方式,也可工作于中断方式。各控制信号功能如下:各控制信号功能如下:INTRINTR:中断请求信号,高电平有效,用于向:中断请求信号,高电平有效,用于
15、向 CPUCPU 发出中断申请;发出中断申请;OBF:输出缓冲器满,低电平有效,:输出缓冲器满,低电平有效,82558255 输出给外设的联络信号,输出给外设的联络信号,表示输出时,表示输出时,CPUCPU 已将数据送进了已将数据送进了 A A 口。口。ACK:外设响应信号,低电平有效,用来启动:外设响应信号,低电平有效,用来启动 A A 口向外输出数据。口向外输出数据。INTE1INTE1:输出中断允许触发器,由:输出中断允许触发器,由 PC6PC6 的复位的复位/ /置位控制。置位控制。STB:选通输入信号,低电平有效。:选通输入信号,低电平有效。外设送来的信号,用来将数据送入输入锁存器;
16、外设送来的信号,用来将数据送入输入锁存器;IBFIBF:输入缓冲器满,高电平有效,表示数据已送入输入锁存器:输入缓冲器满,高电平有效,表示数据已送入输入锁存器INTE2INTE2:输入中断允许触发器,由:输入中断允许触发器,由 PC4PC4 的复位的复位/ /置位控制。置位控制。D7D7 D6D5D4D6D5D4 D3D3D2D2D1D1D0D0PC3PC3INTRINTR1 1 1 1 I/0I/0I/OI/OI/OI/OPA7-0PA7-08 8PC2-0PC2-0:PC7PC7OBF端口端口 B B1 1 输入输入PC6PC6ACK方式方式 2 21 1 输入输入0 0 输出输出INTE
17、1INTE1A A 口双向方式口双向方式0 0 输出输出PC4PC4STBB B 组方式组方式PC5PC5IBFIBF0 0:方式:方式 0 0PC2-0PC2-0I/0I/01 1:方式:方式 1 1INTE2INTE2方式方式 2 2 下下 82558255 控制字控制字方式方式 2 2 下联络信号下联络信号B B 口可以工作在方式口可以工作在方式 0 0 或方式或方式 1 1,可以作为输入,也可以作为输出,可以作为输入,也可以作为输出,C C 口的低口的低 3 3 位用于位用于 B B 口口方式方式 0 0方式方式 1 1 输出输出方式方式 1 1 输入输入PC0PC0I/OI/OINT
18、RINTRINTRINTRPC1PC1I/OI/OOBFBOBFBIBFBIBFBPC2PC2I/OI/OINTEBINTEBINTEBINTEB4 4单片机单片机 80318031 与与 82558255 的接口的接口CS P2.7P2.7;A1A1 A0A0 A1A1(P1.1P1.1) A0A0(P0.0P0.0)基本输入输出方式时基本输入输出方式时 8031 与与 8255 的接口的接口A 口地址:口地址:7FFCHB 口地址:口地址:7FFDHC 口地址:口地址:7FFEH控制口地址:控制口地址:7FFFH. .初始化初始化 82558255:假设:假设 82558255 工作在方式
19、工作在方式 0 0,A A 口为输入,口为输入,B B 口和口和 C C 口为输出,口为输出,控制字:控制字:10010000B=90H10010000B=90HMOV DPTR,#07FFFH;DPTR控制口地址控制口地址MOV A,#90H; A控制字控制字MOVX DPTR,A;写控制口;写控制口;从;从 A 口读数据口读数据MOV DPTR,#7FFCH; DPTRA 口地址口地址MOVXA,DPTRDPTR;从;从 A A 口读数据到累加器口读数据到累加器;B 口输出数据口输出数据 DATA1INCDPTR;DPTRB 口地址口地址MOVMOVA A,#DATA1#DATA1;立即数
20、;立即数 DATA1DATA1 累加器累加器 A AMOVX DPTR,A;B 口输出口输出;C 口输出数据口输出数据 DATA2INCDPTR;DPTRB 口地址口地址MOVMOVA A,#DATA1#DATA1;立即数;立即数 DATA2DATA2 送累加器送累加器 A AMOVX DPTR,A;C 口输出口输出对对 C 口的置位与复位:口的置位与复位:如:对如:对 PC5 置置 1,控制字为:,控制字为:00001011B=0BHMOV DPTR,#7FFFH;DPTR控制口地址控制口地址MOVA, #0BH;控制字送累加器;控制字送累加器 AMOVX DPTR,A;控制字送控制口,;控
21、制字送控制口,PC5=1可编程并行口扩展芯片可编程并行口扩展芯片 8255 广泛用于键盘广泛用于键盘、LED 显示器显示器、打印机等打印机等外设的连接及多路外设的连接及多路 I/O 控制系统中。控制系统中。实验一:实验一:8255 模拟交通灯控制模拟交通灯控制8255 端口地址:端口地址:FF28HFF2BH北北PA0红红PA1绿绿东东PA2黄黄PA3红红西西东东PA4PA4绿绿西西PA5PA5黄黄PA6红红PA7绿绿南南南南PB0黄黄PB1红红基本要求:基本要求:PB2绿绿北北1. 东西为主道东西为主道,南北为从道;南北为从道;PB3黄黄2. 东西大道通行东西大道通行 9 秒,转黄灯秒,转黄灯 1 秒,让南北通行;秒,让南北通行;3南北方向通行南北方向通行 5 秒,转黄灯秒,转黄灯 1 秒,让东西通行;秒,让东西通行;4如此反复。如此反复。