微机原理8-8255的应用_第1页
微机原理8-8255的应用_第2页
微机原理8-8255的应用_第3页
微机原理8-8255的应用_第4页
微机原理8-8255的应用_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

1、第第8 8章章 输入输入/ /输出接口输出接口 I/OI/O接口是计算机与外设交换信息的中间桥梁。接口是计算机与外设交换信息的中间桥梁。 8.1 8.1 输入输入/ /输出接口输出接口 8.1.18.1.1 输入输入/ /输出接口的交换信息输出接口的交换信息 CPUCPU与外设交换的信息:与外设交换的信息: 数据信息:数字量、开关量、模拟量。数据信息:数字量、开关量、模拟量。 状态信息:状态信息:BUSYBUSY,READYREADY等,反映外设的状态。等,反映外设的状态。 控制信息:控制信息:CPUCPU发出的命令如读写等。发出的命令如读写等。 8.1.2 8.1.2 输入输入/ /输出的控

2、制方式输出的控制方式 CPUCPU与外设数据传送方式:与外设数据传送方式:程序控制程序控制 方式(无条件传送和有条件传送);方式(无条件传送和有条件传送);中断中断 控制方式;控制方式;直接存储器存取方式。直接存储器存取方式。 1 1、程序控制、程序控制-无条件传送无条件传送: : 当需要与外设交当需要与外设交 换数据时,直接执行换数据时,直接执行I/OI/O指令,开始接指令,开始接/ /发数据。发数据。 例例 1:1:无条件输入无条件输入 O O O O O + 5V K MOV DX,303H;命令口命令口 MOV AL,0DH; MOV AL,0DH; 置置PC6=1PC6=1 OUT

3、DX,AL OUT DX,AL CALL DELAY CALL DELAY MOV AL,0CH; MOV AL,0CH;置置PC6=0PC6=0 OUT DX,AL OUT DX,AL CALL DELAY CALL DELAY RET RET SPK ENDPSPK ENDP O +5V 压电蜂鸣器压电蜂鸣器 7406 PC6 8255A 控制口地址为控制口地址为303H303H, 其程序段为:其程序段为: 若改变若改变DELAYDELAY的延时时间的延时时间, ,即可改即可改 变喇叭发声的频率变喇叭发声的频率 。 例例4 4:8255A8255A的的0 0方式及其应用方式及其应用 一、特

4、点一、特点: : 在在0 0方式下不设置专用联络信号线,方式下不设置专用联络信号线, 需要联络时,由用户任意指定需要联络时,由用户任意指定C C口中的哪根线口中的哪根线 完成某种联络功能。完成某种联络功能。 由于无固定的专用联络信号,由用户根由于无固定的专用联络信号,由用户根 据数据传送的要求决定输入据数据传送的要求决定输入/ /输出的操作过程。输出的操作过程。 1 1、要求、要求: : 为某应用系统配置一个并行打印机接为某应用系统配置一个并行打印机接 口,通过采用查询方式把存放在口,通过采用查询方式把存放在BUFBUF缓冲的缓冲的 256256个字符个字符(ASCII(ASCII码码) )送

5、去打印。送去打印。 2、分析、分析: 查询方式时,打印机与查询方式时,打印机与CPU之间传送数据的之间传送数据的 过程是:过程是: 首先查询首先查询BUSY。若。若BUSY=1,打印机忙,则等待;,打印机忙,则等待; 若若BUSY=0,打印机不忙,则送数据。,打印机不忙,则送数据。 把数据送到打印机的数据线上,此时打印机并未把数据送到打印机的数据线上,此时打印机并未 收到数据。收到数据。 再送出一个数据选通信号(负脉冲)给打印机,再送出一个数据选通信号(负脉冲)给打印机, 把数据总线上的数据打入到打印机的内部缓冲器。把数据总线上的数据打入到打印机的内部缓冲器。 打印机在收到数据后,发出打印机在

6、收到数据后,发出“忙忙”(BUSY=1)信)信 号,表明打印机正在处理输入的数据。等到输入的号,表明打印机正在处理输入的数据。等到输入的 数据处理完毕,打印机撤消数据处理完毕,打印机撤消“忙忙”信号,即置信号,即置 BUSY=0。 最后送出一个回答信号最后送出一个回答信号ACK给主机,表示上一个给主机,表示上一个 字符已经处理完毕。字符已经处理完毕。 如此重复工作,直到把全部字如此重复工作,直到把全部字 符打印出来。符打印出来。 CPU PA0 7 PC7 PC2 地 DATA1 8 STB BUSY 地 图图8-9 8255A8-9 8255A并行打印机口电路框图并行打印机口电路框图 825

7、5A 8255A 打印机插座打印机插座 接口驱动程序。打印机驱动程序的流程是根据打印接口标准接口驱动程序。打印机驱动程序的流程是根据打印接口标准 的时序要求拟定的。的时序要求拟定的。 3、设计、设计: 电路设计包括硬件接口电路和软件驱动程序两部分。电路设计包括硬件接口电路和软件驱动程序两部分。 打印机接口电路。打印机接口电路原理框图如图打印机接口电路。打印机接口电路原理框图如图8-9所示所示 驱动程序的程序段如下:驱动程序的程序段如下: CODE SEGMENTCODE SEGMENT ASSUME CS ASSUME CS:CODECODE,DSDS:CODECODE ORG 100H OR

8、G 100H STARTSTART: MOV AX,CODEMOV AX,CODE MOV DS,AX MOV DS,AX MOV DX,303H MOV DX,303H ;8255A8255A命令口命令口 MOV AL,10000001B MOV AL,10000001B ;工作方式字;工作方式字 OUT DX,ALOUT DX,AL MOV AL,00001111B MOV AL,00001111B ;PC7PC7位置高位置高 OUT DX,ALOUT DX,AL MOV SI,OFFSET BUF MOV SI,OFFSET BUF ;打印字符的内存首址;打印字符的内存首址 MOV CX

9、MOV CX,0FFH0FFH ;打印字符的个数;打印字符的个数 LLLL:MOVMOVDXDX,302H302H ;PCPC口地址口地址 ININALAL,DXDX ;查;查BUSY=0BUSY=0? ANDANDALAL,04H04H JNZ LL ;JNZ LL ;忙,则等待;不忙,则向忙,则等待;不忙,则向A A口送数。口送数。 MOVMOVDXDX,300H300H ;PAPA口地址口地址 MOVMOVALAL,SISI ;从内存取数;从内存取数 OUTOUTDXDX,ALAL ;送数到;送数到A A口口 MOVMOVDXDX,303H303H ;8255A8255A命令口命令口 M

10、OVMOVALAL,00001110B00001110B;置;置STB=0STB=0 OUTOUTDXDX,ALAL NOPNOP NOPNOP MOVMOVALAL,00001111B00001111B;置;置STB=1STB=1 OUTOUTDXDX,ALAL INCINCSISI LOOPLOOPLLLL MOVMOVAXAX,4C00H4C00H INTINT21H21H BUFBUFDBDB定义定义256256个个ASCIIASCII字符代码字符代码 CODECODEENDSENDS ENDENDSTARTSTART 规定规定8255并行接口地址为并行接口地址为FFE0HFFE3H,

11、 试将其连接到试将其连接到8086的系统总线上。的系统总线上。 若希望若希望8255的的3个口个口24跳线均为输出,且输出跳线均为输出,且输出 方波,试编程序。方波,试编程序。 INI55:MOVDX, 0FFE3H MOVAL, 10000000B OUTDX, AL MOVAL, 00H GOON:MOVDX, 0FFE0H OUTDX, AL INCDX OUTDX, AL INCDX OUTDX, AL CALLDELAY NOTAL JMPGOON 8255A8255A工作方式工作方式 : 三种式作方式:方式,方式,方式三种式作方式:方式,方式,方式 方式方式0: 无条件输入或输出方

12、式,直接传送方式,无任何联络线。无条件输入或输出方式,直接传送方式,无任何联络线。 三个端口为三个端口为8位独位的输入输出接口,输出锁存,输入缓冲。位独位的输入输出接口,输出锁存,输入缓冲。 8255A8255A工作方式工作方式 : 方式方式1 A1 A口输入操作:口输入操作: PORT APORT A 8 8位输入位输入 PC4 IBFIBF PC3 INTRINTRA A PCPC6,7 6,7 I/OI/O PC5 STB STB INTEINTE STB STB :输入选通信号,低电平有效,:输入选通信号,低电平有效,A A口数据锁存。口数据锁存。 IBFIBF:输出高电平有效,通知外

13、设数据未取走。:输出高电平有效,通知外设数据未取走。 INTRINTRA A:中断请求,输出高电平向:中断请求,输出高电平向CPUCPU申请中断。申请中断。 INTEINTE:中断允许,输出高电平向:中断允许,输出高电平向CPUCPU申请中断。申请中断。 PCPC4 4 置位置位=1=1中断允许中断允许 复位复位=0=0中断禁止中断禁止 PCPC6 6PCPC7 7按位操作,输入或输出。按位操作,输入或输出。 方式方式1 1: 1 1、应答式输出或输入,(带联络线)分为、应答式输出或输入,(带联络线)分为A A组或组或B B组。组。 2 2、输入输出均锁存。、输入输出均锁存。 PCPC4 4对

14、外是输入信号,不受置位复位的影响。对外是输入信号,不受置位复位的影响。 8255A8255A工作方式工作方式 : 方式方式1 A1 A口输入操作:口输入操作: PORT APORT A 8 8位输入位输入 PC4 IBFIBF PC3 INTRINTRA A PCPC6,7 6,7 I/OI/O PC5 STB STB INTEINTE STB STB IBFIBF INTRINTRA A RDRD 外设数据外设数据 1 1 下降沿锁存数据到下降沿锁存数据到A A口,口, IBFIBF输出通知外设数据未取走输出通知外设数据未取走 STB STB 1 1 2 2 STB STB 2 2上升沿锁存

15、上升沿锁存INTRINTR中断申请,中断申请,INTEINTE(PCPC4 4置位)置位) 3 3 3 3下降沿下降沿CPUCPU读读A A口数据,口数据,INTRINTR中断复位。中断复位。 RDRD 4 4 4 4上升沿上升沿CPUCPU读结束,读结束,IBFIBF复位。复位。 可进行新一轮数据输入。可进行新一轮数据输入。 RDRD 8255A8255A工作方式工作方式 : 方式方式1 B1 B口输入操作:口输入操作: PORT BPORT B 8 8位输入位输入 PC2 IBFIBF PC0 INTRINTRB B PCPC6,7 6,7 I/OI/O PC1 STB STB INTEI

16、NTE STB STB :输入选通信号,低电平有效,:输入选通信号,低电平有效,B B口数据锁存。口数据锁存。 IBFIBF:输出高电平有效,通知外设数据未取走。:输出高电平有效,通知外设数据未取走。 INTRINTRB B:中断请求,输出高电平向:中断请求,输出高电平向CPUCPU申请中断。申请中断。 INTEINTE:中断允许,输出高电平向:中断允许,输出高电平向CPUCPU申请中断。申请中断。 PCPC2 2 置位置位=1=1中断允许中断允许 复位复位=0=0中断禁止中断禁止 STB STB IBFIBF INTRINTRA A RDRD 外设数据外设数据 1 1 下降沿锁存数据到下降沿

17、锁存数据到B B口,口, IBFIBF输出通知外设数据未取走输出通知外设数据未取走 STB STB 1 1 2 2 STB STB 2 2上升沿锁存上升沿锁存INTRINTR中断申请,中断申请, INTEINTE(PCPC2 2置位)置位) 3 3 3 3下降沿下降沿CPUCPU读读B B口数据,口数据, INTRINTR中断复位。中断复位。 RDRD 4 4 4 4上升沿上升沿CPUCPU读结束,读结束, IBFIBF复位。可进行新一轮数据输入。复位。可进行新一轮数据输入。 RDRD 8255A8255A工作方式工作方式 : 方式方式1 A1 A口输出操作:口输出操作: INTRINTRA

18、A:中断请求,输出高电平向:中断请求,输出高电平向CPUCPU申请中断。申请中断。 INTEINTE:中断允许,输出高电平向:中断允许,输出高电平向CPUCPU申请中断。申请中断。 PCPC6 6 置位置位=1=1中断允许中断允许 复位复位=0=0中断禁止中断禁止 PORT APORT A 8 8位输出位输出 PC7 PC3 INTRINTRA A PCPC4,5 4,5 I/OI/O PC6 OBF OBF INTEINTE ACK ACK :输出缓冲器满信号,输出低电平有效,:输出缓冲器满信号,输出低电平有效, OBF OBF :数据取走响应信号,输入低电平有效。:数据取走响应信号,输入低

19、电平有效。ACK ACK OBFOBF INTRINTRA A 数据输出数据输出 WRWR ACKACK 数据送入数据送入A A口,口,OBFOBF输出通知输出通知 外设取数,外设取数,INTRINTR中断准备。中断准备。 1 1WRWR 1 1 ACK ACK 2 2下降沿复位下降沿复位OBFOBF,数据取走。,数据取走。 2 2 3 3 ACK ACK 3 3上升沿上升沿INTRINTR中断申请,进行中断申请,进行 下轮数据输出。下轮数据输出。 8255A8255A工作方式工作方式 : 方式方式1 B1 B口输出操作:口输出操作: INTRINTRB B:中断请求,输出高电平向:中断请求,

20、输出高电平向CPUCPU申请中断。申请中断。 INTEINTE:中断允许,输出高电平向:中断允许,输出高电平向CPUCPU申请中断。申请中断。 PCPC2 2 置位置位=1=1中断允许中断允许 复位复位=0=0中断禁止中断禁止 PORT BPORT B 8 8位输出位输出 PC1 PC0 INTRINTRA A PCPC4,5 4,5 I/OI/O PC2 OBF OBF INTEINTE ACK ACK :输出缓冲器满信号,输出低电平有效,:输出缓冲器满信号,输出低电平有效, OBF OBF :数据取走响应信号,输入低电平有效。:数据取走响应信号,输入低电平有效。ACK ACK OBFOBF

21、 INTRINTRB B 数据输出数据输出 WRWR ACKACK 数据送入数据送入B B口,口,OBFOBF输出通知输出通知 外设取数,外设取数,INTRINTR中断准备。中断准备。 1 1WRWR 1 1 ACK ACK 2 2下降沿复位下降沿复位OBFOBF,数据取走。,数据取走。 2 2 3 3 ACK ACK 3 3上升沿上升沿INTRINTR中断申请,进行中断申请,进行 下轮数据输出。下轮数据输出。 8255A8255A工作方式工作方式 : 方式方式2 2及操作:及操作: 1 1、应答式双向输出输入,输入输出均锁存。、应答式双向输出输入,输入输出均锁存。 2 2、只有、只有A A组

22、能工作在方式组能工作在方式2 2,此时,此时B B口可工作在方式口可工作在方式0,0,未用的未用的C C口可按位操作。口可按位操作。 STB STB :输入选通信号,低电平有效,:输入选通信号,低电平有效,A A口数据锁存。口数据锁存。 IBFIBF:输出高电平有效,通知外设数据未取走。:输出高电平有效,通知外设数据未取走。 INTRINTRA A:中断请求,输出高电平向:中断请求,输出高电平向CPUCPU申请中断。申请中断。 PCPC0 0PCPC2 2按位操作,输入或输出。按位操作,输入或输出。 INTEINTE:中断允许,输出高电平向:中断允许,输出高电平向CPUCPU申请中断。申请中断

23、。 输入中断允许输入中断允许PCPC4 4 置位置位=1=1中断允许中断允许 复位复位=0=0中断禁止中断禁止 输出中断允许输出中断允许PCPC6 6 置位置位=1=1中断允许中断允许 复位复位=0=0中断禁止中断禁止 :输出缓冲器满信号,输出低电平有效,:输出缓冲器满信号,输出低电平有效, OBF OBF :数据取走响应信号,输入低电平有效。:数据取走响应信号,输入低电平有效。ACK ACK PORT APORT A 8 8位数据位数据 PC4 IBFIBF PC3 INTRINTRA A PCPC0,2 0,2 I/OI/O PC5 STB STB INTE2INTE2 PC7 PC6 O

24、BF OBF ACK ACK INTE1INTE1 + + 8255用作查询式打印机接口电路连接和打印机各信号的时序如图所示,用作查询式打印机接口电路连接和打印机各信号的时序如图所示,8255的的 端口地址为端口地址为380H383H,工作于方式,工作于方式0,试编写一段程序,将数据区中变量,试编写一段程序,将数据区中变量 DATA的的8位数据送打印机打印,并写上注释。位数据送打印机打印,并写上注释。 PCPC7 7 PAPA7 7PAPA0 0 PCPC DATADATA7 7DATADATA0 0 BUSYBUSY STBSTB DATA7DATA7DATA0DATA0 STBSTB BU

25、SYBUSY 8255工作方式:工作方式: A口:方式口:方式0输出,输出, C口:上半口输出,下半口输入口:上半口输出,下半口输入 方式字:方式字:1000 0001B=81H1000 0001B=81H 算法:算法: (1 1)查询)查询BUSY=1BUSY=1忙,忙,=0=0空空 (2 2)A A口输出数据口输出数据 (3 3)PCPC7 7低电平锁存数据到打印机低电平锁存数据到打印机 8255A8255A的应用:的应用: MOVAL,81H;初始化初始化8255 MOVDX,383H OUTDX,AL PC2:DECDX INAL,DX ;PC2=1忙,忙,=0送数据送数据 TESTA

26、L,0000 00100 JNZPC2 MOVAL,DATA;数据送入;数据送入A口口 MOVDX,380H OUTDX,AL MOVDX,383H MOVAL,0000 1110B ;PC7置置0,接收数据打印,接收数据打印 OUTDX,AL NOP MOVAL,0000 1111B ;PC7置置1 OUTDX,AL 8255A8255A的应用:的应用: 1 1、8255A8255A的三个端口在使用时的三个端口在使用时 有什么差别?有什么差别? 2 2 、82558255用作查询式打印机接用作查询式打印机接 口时的电路连接和打印机各口时的电路连接和打印机各 信号的时序如图所示,信号的时序如图

27、所示,82558255 的端口地址为的端口地址为80H80H83H83H,工,工 作于方式作于方式0 0,试编写一段程,试编写一段程 序,将数据区中变量序,将数据区中变量DATADATA的的 8 8位数据送打印机打印,程位数据送打印机打印,程 序以序以RETRET指令结束,并写上指令结束,并写上 注释。注释。 3 3、若用共阴极、若用共阴极LEDLED数码管作显数码管作显 示器,它的接口连接图如图示器,它的接口连接图如图 所示。写出显示所示。写出显示77的段的段 选码。选码。 44矩阵键盘 8255A8255A的应用:的应用: 键盘接口键盘接口: 编码和非编码,编码键盘提供按键的编码信息。非编

28、码键盘由一组开关组编码和非编码,编码键盘提供按键的编码信息。非编码键盘由一组开关组 成,由程序识别按建并分配实际意义。成,由程序识别按建并分配实际意义。 如图所示为如图所示为8255A组成的组成的非编码键盘接口电路。图中端口非编码键盘接口电路。图中端口A工作在方式工作在方式0,输出口,输出口 端口端口B也工作在方式也工作在方式0、输入口。、输入口。 检测键盘输入:检测键盘输入: 1)检测有按下的键?)检测有按下的键? a.端口端口A输出全输出全“0”到行线上。到行线上。 b.读端口读端口B口,全口,全“1” ,无键闭,无键闭 合;否则,有键按下。合;否则,有键按下。 2)查找闭合键所在的行编码

29、。查找闭合键所在的行编码。 a.分别在端口分别在端口A的每根引线上送的每根引线上送 出低电平信号。出低电平信号。 b.读读B口,不为口,不为 “1”,该行有键,该行有键 按下。按下。 3)查闭合键的列编码。查闭合键的列编码。 B口读人字节中口读人字节中“0”所在的位。所在的位。 即为按下键的列位置。即为按下键的列位置。 PAPA3 3 PAPA0 0 PAPA1 1 PAPA2 2 PAPA4 4 PAPA5 5 PAPA6 6 PAPA7 7 PBPB3 3 PBPB1 1 PBPB2 2 PBPB4 4 PBPB5 5 PBPB6 6 PBPB7 7 PBPB0 0 7 7列列 6 6列列

30、 5 5列列 4 4列列 3 3列列 2 2列列 1 1列列 0 0列列 7 7行行 6 6行行 5 5行行 4 4行行 3 3行行 2 2行行 1 1行行 0 0行行 5V5V 键盘接口键盘接口: PAPA3 3 PAPA0 0 PAPA1 1 PAPA2 2 PAPA4 4 PAPA5 5 PAPA6 6 PAPA7 7 PBPB3 3 PBPB1 1 PBPB2 2 PBPB4 4 PBPB5 5 PBPB6 6 PBPB7 7 PBPB0 0 7 7列列 6 6列列 5 5列列 4 4列列 3 3列列 2 2列列 1 1列列 0 0列列 7 7行行 6 6行行 5 5行行 4 4行行

31、3 3行行 2 2行行 1 1行行 0 0行行 5V5V PORTA EQU 0300H PORTB EQU 0301H PORTC EQU 0302H PORTCN EQU 0303H MOV DX,PORTCN ;端口;端口A、B方式方式0 MOV AL,10000010B ;A输出,输出,B为输入为输入 OUT DX,AL WAITK:MOVDX,PORTA ;等待键闭合;等待键闭合 MOV AL,0 ;行码送全;行码送全“0” OUT DX,AL MOV DX,PORTB ;读列码;读列码 IN AL,DX CMP AL,0FFH; JZWAITK ;无键按下,继续等待;无键按下,继续

32、等待 MOV BL,0 ;扫描,送键号初值;扫描,送键号初值 MOV BH,11111110B ;初始扫描行码;初始扫描行码FEH MOV CX,8 FNDROW:MOVAL,BH ;送行码;送行码 MOV DX,PORTA OUTDX,AL ROLBH,1 ;修改行码;修改行码 MOV DX,PORTB ;读列码;读列码 IN AL,DX CMP AL,OFFH JNZFNDCOL ;有键按下,查列号;有键按下,查列号 ADDBL,8 ;指向下一行键号初值;指向下一行键号初值 LOOP FNDROW ;8行扫描行扫描 JMP DONE ;8行扫描完,无键按下行扫描完,无键按下 FNDCOL: ROR AL,1;查所在列;查所在列 JNC RIGHT INC BL ;键号加;键号加1,查下一列,查下一列 JMP FNDCOL RIGHT: :;键的编号在;键的编号在BL中中 :

温馨提示

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

评论

0/150

提交评论