《微机原理与应用教学资料第九章》由会员分享,可在线阅读,更多相关《微机原理与应用教学资料第九章(25页珍藏版)》请在金锄头文库上搜索。
1、第九章第九章 可可编程外程外围接口芯片接口芯片 8255A及其及其应用用9-1 8255A的工作原理9-2 8255A应用举例1 1编辑编辑pptppt9-1 8255A9-1 8255A的工作原理的工作原理可可编程并行通信接口程并行通信接口8255A 8255A 并行通信并行通信一、一、8255A8255A的内部的内部结构构 图9-1 8255A9-1 8255A的引脚的引脚 4040根根 图9-2 9-2 结构:构: 数据数据总线缓冲器,冲器,读/ /写控制写控制逻辑,数据端口数据端口A A,B B,C C1 1、端口、端口 8 8位位 三个数据端口:三个数据端口:A A、B B、C C
2、控制字寄存器端口控制字寄存器端口 C C口常用来配合口常用来配合A A口和口和B B口工作。常用作控制或口工作。常用作控制或应答信号答信号引脚:引脚:PA7PA7PA0PA0、PB7PB7PB0PB0、PC7PC7PC0 24PC0 24根,根,和外和外设相相连,用于交,用于交换数据、通信数据、通信联络输入入输出出独立性独立性口口A A锁存器存器 锁存存/缓冲器冲器 独立独立口口B B缓冲器冲器 锁存存/缓冲器冲器 独立独立口口C C缓冲器冲器 锁存存/缓冲器冲器 独立独立/不独立,可位控不独立,可位控为0/12编辑ppt2. A组和和B组控制控制逻辑 端口端口A和和PC4PC7由由A组控制控
3、制逻辑管理管理 端口端口B和和PC0PC3由由B组控制控制逻辑管理管理3. 数据数据总线缓冲器冲器输入:控制字和入:控制字和CPU来的数据来的数据 输出:外出:外设来的状来的状态和数据和数据D7D0: 8086 接接CPU的的D7D0 偶地址端口,例:偶地址端口,例:80H、 82H、84H、86H同同8253 接接CPU的的D15D8 奇地址端口,例:奇地址端口,例:81H、 83H、85H、87H 8088系系统 接接CPU的的A1、A0 连续地址地址 例:例:80H、 81H、82H、83H4.读写控制写控制逻辑a)RESET 复位复位 8255控制器清零,所有端口都置成控制器清零,所有
4、端口都置成输入方式入方式b)CS 片片选c)RD、WR 读,写,写d)A1,A0 00 PA 01 PB 10 PC 11 控制字控制字3编辑ppt二、二、8255A8255A的控制字(写入控制字寄存器)的控制字(写入控制字寄存器)1 1、方式、方式选择控制字控制字用来定用来定义各端口的工作方式,各端口的工作方式,输入入输出状出状态。D7=1 D6D5D4D3D2D1D0标志位志位 A口方式口方式 00:方式:方式0 01:方式:方式1 1:方式:方式2A口口I/O1:输入(入(I)0:输出(出(O)C口高口高4位位I/0B口方式口方式 1:方式:方式1 0:方式:方式0B口口I/OC口低口低
5、4位位I/O4编辑ppt2 2、置位、置位/ /复位复位 控制字控制字 用来用来对C C端口的任一位端口的任一位单独独进行置行置1 1或置或置0 0 可可位控位控D7=0D3D2D1D0位位选择 000:PC0001:PC1111:PC71:置:置10:置:置0标志位志位5编辑ppt例例1:8255A端口地址:端口地址:E0H、E2H、E4H、E6H A口:方式口:方式0 入入 编程程实现: B口:方式口:方式0 出出 C口:口:PC7PC4 出出 PC3PC0:入:入控制字控制字 D7 D6 D5 D4 D3 D2 D1 D0 1 0 0 1 0 0 0 1 =91HMOV AL ,91HO
6、UT 0E6H ,AL ;定;定义方式方式选择控制字控制字MOV AL ,01H; 0000 0001BOUT 0E6H ,AL ;PC0置置1MOV AL ,0EH; 0000 1110BOUT 0E6H ,AL ;PC7置置0 *每次只能每次只能对端口端口C的某一位置的某一位置1或置或置0。重复,将置。重复,将置1/0控制字写入控制端口控制字写入控制端口6编辑ppt三、三、8255A的工作方式和的工作方式和C口状口状态字字1.方式方式0:基本:基本输入入/输出方式出方式A口:口:8位位 B口:口:8位位 C口:高口:高4位、低位、低4位位特点:特点: 任何一个端口可做任何一个端口可做为输入
7、口,也可作入口,也可作为输出口,各端口出口,各端口之之间没有没有规定必然的关系定必然的关系 各端口的各端口的输入或入或输出,可以有出,可以有16种不同的种不同的组合合 数据数据传输方式:无条件方式:无条件传送送 查询方式方式传送送 IN,OUT指令指令控制字控制字例:控制字地址例:控制字地址为63H,要求,要求A口和口和B口工作于方式口工作于方式0,A、B和和C口高口高4位作位作输入,入,C口低口低4位作位作输出。出。则送控制字:送控制字: MOV AL,1 00 1 1 0 1 0B OUT 63H,AL100I/OI/O0I/OI/O7编辑ppt2. 方式方式1 选通通输入入/输出方式出方
8、式使用使用场合:采用中断方式合:采用中断方式I/O,外,外设必必须为8255A提供提供选通信号或者数据接收通信号或者数据接收应答信号答信号PC口作口作为A、B口的口的联络信号。接口的第四个功能,提供握信号。接口的第四个功能,提供握手手联络信号信号(1)选通通输入方式入方式PC3,4,5 PA,作,作为握手信号及中断申握手信号及中断申请信号信号PC0,1,2 PBPC6,7 随意随意设置置为I或或O 有关的控制信号和状有关的控制信号和状态信号信号a、STB:选通信号,低通信号,低电平有效,外平有效,外设提供。提供。 Tst 500ns 有效有效时,表示外,表示外设已将已将8位数据送入位数据送入8
9、255A的的输入入缓冲冲 器(不是器(不是DB!)。!)。 PC4 PA PC2 PB8编辑pptb、IBF:输入入缓冲器冲器满信号,信号,输出,出,高高电平有效平有效 8255A输出出的状的状态信号,供信号,供CPU查询用用 有效有效时,表示有一个新的数据在,表示有一个新的数据在输入入缓冲器中冲器中 (IBF信号由信号由STB信号使其置信号使其置1,由,由RD的上升沿使其清的上升沿使其清0,表示,表示输入入缓冲器已空。)冲器已空。) PC5PA PC1PBc、INTE:中断允:中断允许信号信号 无外部引出脚无外部引出脚 由由置位置位/复位控制字复位控制字对相相应位置位置1或或0 置置1则允允
10、许8255A向向CPU发送送中断中断请求求 PC4PA PC2PB (注意:(注意:PC4、PC2外部引脚外部引脚出出现的的电平信号并不会改平信号并不会改变中断允中断允许触触发器状器状态。)。)d、INTR:中断:中断请求信号求信号 8255ACPU 高高电平有效平有效 当当STB、IBF、INTE均均为高高电平,平,变为高高电平,平,执行行IN指令后,由指令后,由RD的下降沿复位的下降沿复位 INTRAPC3 INTRBPC0CPU能能设置的:置的:INTE 能能读取的信号:取的信号:IBF时序:序:P332 图9-7 9编辑pptSTBIBF空空满RDINTR申申请中断中断读在中断服在中断
11、服务程序中程序中空空选通通D0D7 PA0PA7 RD 8255 STBAINTRA IBFA D0D7STB外外设 DB10编辑pptC口状口状态字和方式字和方式选择控制字(控制字(A口、口、B口工作于方式口工作于方式1情况下作情况下作为输入入端口端口时)C口状口状态字(供字(供查询) D7 D6 D5 D4 D3 D2 D1 D0A组控制字:控制字: 决定于决定于B 组工工作方式作方式 PC6、PC7 1:输入入 标志位方式志位方式1 0:输出出 端口端口A 为输入入B组控制字:控制字: B口方式口方式1 B口口为输入入I/OI/OIBFAINTE AINTR AINTE BIBF BIN
12、TR B10111/0 11 11 111编辑ppt(2)选通通输出方式出方式PC3,6,7PA PC0,1,2PB (总是)是) PC4,5 I/O有关信号:有关信号:a、OBF :输出出缓冲器冲器满信号。信号。8255A外外设,低,低电平有效平有效 有效有效时,8255的表示的表示CPU已把数据送入已把数据送入8255 的的输出出缓冲冲器,通知外器,通知外设接收数据接收数据 (由(由 WR 的上升沿置的上升沿置0,由,由ACK 的有效信号置的有效信号置1) OBFAPC7 OBFBPC1 b、ACK :外:外设对OBF 的响的响应信号信号 外外设8255A 低低电平有平有效效 有效有效时,
13、 8255A输出出锁存器中的数据存器中的数据 外外设 ACKA PC6、ACKB PC2c、INTE:中断允:中断允许信号信号. INTEAPC6 INTEBPC2PA7PA0OBFACKINTR WR 外设12编辑pptd、INTR:中断:中断请求信号求信号 8255ACPU (由(由 WR 的的下降沿置下降沿置0 ) 当当ACK 结束后,若束后,若OBF 、INTE为高高电平平时,有效。,有效。 (要求(要求CPU再再输入一个数据入一个数据给外外设) INTRAPC3 INTRBPC0方式方式1输出出过程:程:中断服中断服务程序中程序中输出指令出指令OUTWR负脉冲脉冲OBF变低低 INT
14、R撤撤销 (输出出缓冲器冲器满) ACK变低(数已取走)低(数已取走) INTR变高高 OBF变高高(申(申请中断,中断,请求再送数)求再送数)13编辑ppt C口状口状态字和方式字和方式选择控制字控制字 C口状口状态字:字: D7 D6 D5 D4 D3 D2 D1 D0 A组控制字:控制字: PC4、PC5 I/O 方式方式1 A口口输出出B组控制字:控制字: B口口输出出 B口方式口方式1INTE AI/OI/OINTR AINTE BINTR B10101/01 11 10 014编辑ppt3. 方式方式2 双向双向总线I/O方式方式特点:特点: a)方式方式2只适用于端口只适用于端口
15、Ab)C口用口用5个位自个位自动配合端口配合端口A提供控制信号和状提供控制信号和状态信号信号 PC3PC7c)利用利用PA7PA0,外,外设CPU方式方式2有关的控制信号和状有关的控制信号和状态信号信号 a、INTRA:中断:中断请求信号(求信号(输入入/输出)出)PC3 b、STBA:选通信号通信号 PC4输入入 c、IBFA:输入入缓冲器冲器满信号信号 PC5 同方式同方式1输入入 d、INTE2:输入中断允入中断允许信号信号 PC4 e、INTE1:输出中断允出中断允许信号信号 PC6输出出 f、OBF:输出出缓冲冲满信号信号 PC7 同方式同方式1输出出 g、ACK:外:外设对OBF的
16、的应答信号答信号 PC6此此时PB口可工作于方式口可工作于方式0或或1PA0PA7OBFACKWR RD STBINTR IBF外外设15编辑ppt C口状口状态字和方式字和方式选择控制字控制字C口状口状态字:字:方式方式选择控制字:控制字: 方式方式2 A口口I/O 决定于决定于B组使用使用场合:要求外合:要求外设既可以作既可以作为输入入设备,又可以作,又可以作为输出出设备,且,且输入入输出不会同出不会同时进行行例:例:软盘 PA7PA0软驱的数据的数据线 PC7PC3软驱的控制和状的控制和状态线OBFAINTE1IBFAINTE2INTRA1116编辑ppt9-2 8255A9-2 825
17、5A的的应用用举例例例例1: 利用利用8255A检测开关状开关状态,控制,控制LED灯(参灯(参见课本本P338 )开关断开,)开关断开,LED灯亮灯亮1、硬件、硬件连接接图 图9-13PA7PA0 接接8个开关个开关K7K0 ,PA作作输入口入口 开关合上,开关合上,=0 断开,断开,=1 PB7PB0 接接8个个LED灯,灯,PB作作输出口出口 =1 , LED灯亮灯亮 =0 , 灯灯灭:74LS138的的译码输出出 若接若接Y0,地址?,地址? A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 1 0 0 F0H、F2H、F4H、F6H2、程序、程序 控制字:控制字:1 0 0
18、 1 0 0 B (A口:方式口:方式0输入;入; B口:方式口:方式0输出;出; C口未用)口未用)17编辑ppt MOV AL ,10010000B OUT 0F6H ,ALTEST_IT:IN AL ,0F0H OUT 0F2H ,AL JMP TEST_IT若开关断开,若开关断开,LED灯暗?灯暗?例例2:8255A作作为连接打印机的接口,工作于方式接打印机的接口,工作于方式0。如下。如下图,已知端口地址,已知端口地址为D0H、D2H、D4H、D6H,要求,要求实现:将:将CL中内容打印。打印机中内容打印。打印机选通信号通信号STB为一一负脉脉冲。冲。BUSY为高高时,表示正忙。,表示
19、正忙。 D7D08086PA0PA7PC6PC28255A STBBUSY 打印机打印机18编辑pptA口:口:传送字符通道,工作于方式送字符通道,工作于方式0,输出出 B口:未用口:未用C口:方式口:方式0 PC2:BUSY信号信号输入端入端 PC3PC0:输入入 PC6:信号:信号输出端出端STB PC7PC4:输出出工作工作过程:程: 初始状初始状态写控制字写控制字 将将PC6(STB)置)置为高高电平平 检测BUSY信号信号 为1:正忙,等待。:正忙,等待。 为0:CPU CL中送中送8位数据位数据8255A PA口口 8255A外外设:产生一生一选通通负脉冲(将脉冲(将PC6 置置为
20、低低电平,平,再将再将 PC6置置为高高电平)平)19编辑ppt MOV AL ,81H ;写控制字,使;写控制字,使A、B、C口:方式口:方式0; OUT 0D6H ,AL; A口口输出,出,PC3PC0输入,入,PC7 ; PC4输出,出,1000 0001B MOV AL ,0DH; 0000 1101B 用置用置1/0方式使方式使PC6为1, OUT 0D6H ,AL;即;即STB为高高电平平LPST:IN AL ,OD4H;读端口端口C 的的值AND AL ,04H; 0000 0100BJNZ LPST ;若忙,等待;若忙,等待MOV AL ,CLOUT 0D0H ,AL ;若不忙
21、,;若不忙,则把把CL中字符中字符端口端口AMOV AL ,0CH ;使;使 STB 为0OUT 0D6H ,ALMOV AL ,0DH ;再使;再使 STB为1,产生一个生一个负脉冲,脉冲,OUT 0D6H ,AL ;将;将PA中数据中数据打印机打印机 ;后;后续程序段程序段20编辑ppt例例3:8255A作作为中断方式工作的打印机的接口,中断方式工作的打印机的接口,实现将以将以DI为指指针的内存的内存单元中的内容打印。元中的内容打印。已知:端口地址已知:端口地址为C0H、C2H、C4H、C6H,中断,中断类型号型号为0BH,中断向量,中断向量为1000:2000H当打印机接受并打印字符后,
22、当打印机接受并打印字符后,发出回答信号出回答信号ACK由此清除由此清除OBF信号,并使信号,并使8255A产生新的中断生新的中断请求。求。 连8259A8259A的的IR3IR3打印机打印机 INTRINTR8086PA7 PA0D0D7 PC0PC6PC7PC3 OBF8255AACKACKD7D0STBACK21编辑ppt1、8255A:A口(数据通道):方式口(数据通道):方式1输出出 PC6:ACK,输入,入, PC3:INTR输出出 PC0:STB选通,通,输出出 PC7:OBF,输出,不用出,不用2、工作、工作过程程 功能号功能号AH=25H的的21H调用用 初始化:写控制字,初始
23、化:写控制字,设置中断向量置中断向量,开中断开中断 若符合中断条若符合中断条件件, STI INTE=1 OBF 变高,高,ACK 为高高电平平 INTR发出中断出中断请求求进入中断入中断处理子程序,理子程序,8086送送8位数位数据据 8255A PA口口3、中断中断类型号型号为0BH,必必须接接8259A的的 IR3端。端。(08HIR0)22编辑ppt4、方式、方式选择控制字:控制字:1 0 1 0 0 = A0H主程序:主程序:MAIN:MOV AL ,0A0H OUT 0C6H ,AL ; 写控制字写控制字 MOV AX ,1000H ; 功能号功能号AH=25H的的21H调用用 M
24、OV DS ,AX ; 设置中断向量:置中断向量: MOV DX ,2000H ; DS:DX=中断向量中断向量 MOV AL ,0BH ; AL:中断:中断类型号型号 MOV AH ,25H INT 21H MOV AL ,0DH OUT 0C6H ,AL ; 使使PC6为1,允,允许8255A中中断断 STI ; 开中断开中断 23编辑ppt中断中断处理子程序:理子程序: MOV AL ,DI ;送字符;送字符PA口口 OUT 0C0H ,AL MOV AL,0 ;PC0产生一个生一个STB负脉冲脉冲选通通 OUT 0C6H,AL MOV AL,1 OUT 0C6H,AL IRET24编辑ppt谢谢大家!大家!作作业:9 (用(用8253延延时)25编辑ppt