微机原理8.1)_第1页
微机原理8.1)_第2页
微机原理8.1)_第3页
微机原理8.1)_第4页
微机原理8.1)_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

1、8.1.1 8255A的内部结构的内部结构数数据据总总线线 D7D0 VCC +5V RESET 控控制制寄寄存存器器 GNG RD A组组 WR 端端口口A PA7PA0 地地址址线线 A组组 译译 端端口口C PC7PC4 码码 CS 高高4位位 低低4位位 器器 PC3PC0 A1 端端口口B B组组 A0 PB7PB0 B组组 1. 三个三个8位位I/O端口端口 端口端口A、B 、 C可作为可作为8位位I/O端口。端口。 端口端口C也可以分为也可以分为2个个4位的位的I/O端口,其中高端口,其中高4位分位分配给配给A口,称为口,称为A组;低组;低4位分配给位分配给B口,称为口,称为B组

2、。组。2. 控制寄存器控制寄存器 用于接收用于接收CPU送来的控制命令字,以决定端口的送来的控制命令字,以决定端口的工作方式。工作方式。8.1.2 8255A的引脚说明的引脚说明1. A口外设数据线口外设数据线PA7PA0(双向)(双向)B口外设数据线口外设数据线PB7PB0(双向)(双向) C口外设数据线口外设数据线PC7PC0(双向)(双向)2. 片选片选CS及地址线及地址线A1,A0(I) 用于芯片及内部端口的寻址。用于芯片及内部端口的寻址。 在在IBM-PC/XT机中,用机中,用A9A8A7A6A5=00011选选中中8255A(CS=0),),A4A3A2未用,未用,A1A0接接82

3、55A的的A1A0,其功能及地址为:,其功能及地址为: A9A8A7A6A5 A4A3A2 A1A0 选中端口选中端口基本地址基本地址 0 0 A口口 060H 0 0 0 1 1 0 1 B口口 061H 1 0 C口口 062H 1 1 控制寄存器控制寄存器 063H3. 数据线数据线D7D0双向、三态,用于双向、三态,用于8255A与与CPU之间的数据传送;之间的数据传送;4. 读写控制信号读写控制信号RD,WR(I)5. 复位信号复位信号RESET(I) 当当RESET=1(有效)时,(有效)时,8255A复位复位(内部寄存器被清除,三个端口自动置为(内部寄存器被清除,三个端口自动置为

4、输入方式)。输入方式)。1. 方式方式0基本基本I/O方式方式特点特点: 任何一个端口(任何一个端口(A口、口、B口、口、C口上半部、口上半部、 C 口下半部)均可设定为独立的口下半部)均可设定为独立的I/O端口。端口。应用应用: 用作同步传送的接口电路(用作同步传送的接口电路( A、B、C口均可用口均可用作数据端口)。作数据端口)。 用作查询传送的接口电路(用作查询传送的接口电路( A、B口用作数据端口用作数据端口;口;C口分为两部分,用作状态口分为两部分,用作状态/命令端口)。命令端口)。8.1.3 8255A的工作方式的工作方式2. 方式方式1选通选通I/O方式方式特点特点:口:口A/B

5、作为数据端口,作为数据端口,C口的某些位作为口的某些位作为 联络联络 /控制信号(控制信号(C口的其它位仍可设定口的其它位仍可设定 为为I/O)。)。应用应用:用作中断:用作中断/查询式传送的接口电路。查询式传送的接口电路。 INTEA PC6 ACKA INTEB PC2 ACKB PC7 OBFA PC1 OBFB PC3 INTRA PC0 INTRB PC4,PC5 未未用用, 可可作作输输入入/输输出出 (1)方式)方式1的输出的输出 INTR 中断请求中断请求(O)。当外设已从端口取走数据)。当外设已从端口取走数据( ACK 由由01),使),使8255的输出缓冲器有空(的输出缓冲

6、器有空(OBF=1),),且端口允许中断(且端口允许中断(INTE=1)时)时INTR有效。有效。 ACK 外设响应外设响应(I)。有效时通知)。有效时通知8255,外设已,外设已将端口的数据取走,并使将端口的数据取走,并使OBF=1。 OBF 输出缓冲器满输出缓冲器满(O)。有效时通知外设,)。有效时通知外设,CPU将数据输出到端口,外设可将其取走。将数据输出到端口,外设可将其取走。 INTE 中断允许中断允许。INTE=1时,允许端口发时,允许端口发INTR;INTE=0时,不允许。时,不允许。用对用对C口的操作控制字使口的操作控制字使PC6/PC2置置1/0,可控制,可控制A/B口允许口

7、允许/不允许发不允许发INTR。WROBFINTRACK输出输出(2)方式)方式1的输入的输入 INTEA PC4 STBA INTEB PC2 STBB PC5 IBFA PC1 IBFB PC3 INTRA PC0 INTRB PC6,PC7 未未用用, 可可作作输输入入/输输出出 STB 选通信号选通信号(I)。当输入设备将数据)。当输入设备将数据准备好,送到端口时,向端口发出准备好,送到端口时,向端口发出STB有效信号。有效信号。 IBF 输入缓冲器满输入缓冲器满(O)。有效时表示已有)。有效时表示已有一个新数据锁存在输入缓冲器中,一个新数据锁存在输入缓冲器中,IBF通知外设暂时通知外

8、设暂时不能向端口输入新数据。不能向端口输入新数据。 INTE 中断允许中断允许。用对。用对C口的操作命令字使口的操作命令字使PC4/PC2置置1/0,可控制,可控制A/B口允许口允许/不允许不允许INTR。 INTR 中断申请中断申请(O)。当外设已将新的)。当外设已将新的数据输入端口(数据输入端口(STB=1,IBF=1),且),且8255允许发允许发中断请求(中断请求(INTE=1)时,)时,INTR输出有效。输出有效。STBIBFINTRRD来自外设来自外设输入数据输入数据3. 方式方式2双向双向I/O方式方式特点特点:只用于只用于A口口,既能输入,也能输出;,既能输入,也能输出;C口口

9、 的的5位信号线固定用于联络位信号线固定用于联络(B口只能用口只能用 于方式于方式0/1)。)。 INTE1 PC6 ACKA INTE2 PC7 OBFA PC4 STBA PC5 IBFA PC3 INTRA PC2,PC1,PC0 未未用用,可可作作 I/O 或或 PB 口口方方式式 1 下下的的联联络络线线 应用应用:I/O设备,且设备,且I/O分时操作,用分时操作,用A口作口作I/O端端 口,用中断口,用中断/查询传送。查询传送。PC6/PC4置允许置允许8255口输出口输出/输入时发输入时发INTR。A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 1 1 1 A 组方式

10、选择组方式选择 00:方式方式0 01:方式:方式 1 C 口低口低 4 位控制位控制 1:方式:方式 2 0:输出,:输出, 1:输入:输入 B A A口控制口控制 B 口控制口控制 组组 0:输出,:输出, 1:输入:输入 0:输出,:输出,1:输入:输入 组组 C 口高口高4位控制位控制 B 组方式选择组方式选择 0:输出,:输出,1:输入:输入 0:方式:方式 0,1:方式:方式 1 8.l.4 8255A的控制字的控制字 1. 方式选择控制字方式选择控制字决定三个端口的工作方式决定三个端口的工作方式 例例: 8255A的地址为的地址为60H63H。若规定端口。若规定端口A工作于方式工

11、作于方式1输入,端口输入,端口B工作于方式工作于方式1输出,余下的输出,余下的PC7、PC6规定为输规定为输出,则方式选择控制字如右所示。出,则方式选择控制字如右所示。MOV AL,0B4H OUT 63H,AL 2. C口口位操作位操作控制字控制字 设置设置C口各位的值口各位的值 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 1 1 0 B2 B1 B0 置位控制置位控制 0 :置:置 0,1:置:置1 位选择位选择 000:选择:选择 PC0 001:选择:选择 PC1 111:选:选择择PC7 例例 置端口置端口C的的D7位为位为1: MOV AL, 00001111B;

12、OUT 63H,AL;例:例:若要从若要从8255A的的PC7输出正脉冲,则可以用输出正脉冲,则可以用以下程序段(设原来的以下程序段(设原来的PC7=0)。)。 MOV AL,00001111B ;PC7置置1 OUT 63H,AL MOV AL,00001110B ;PC7置置0 OUT 63H,AL0 0 0 0 1 1 1PC7A口方式口方式0下输出;下输出; C口的口的PC6输出选通信号输出选通信号STB;PC2作为输入,接收打印机送来的忙信号作为输入,接收打印机送来的忙信号BUSY。8.1.5 8255A应用举例应用举例例例1. 用用8255A作为打印机的接口,工作于方式作为打印机的

13、接口,工作于方式0,CPU用用查询方查询方 式式将将BUFF缓冲区中的缓冲区中的100个字符送打印机打印。个字符送打印机打印。D7D0 ABCPU PA7PA0 8255ACS PC6 PC2A1 A0 打印机打印机STBBUSYDB译译码码驱动驱动程序段:程序段:MOV AL,10000001B ;8255,AL;MOV AL,00001101B ;置置PC6为为1OUT 0A3H,AL;MOV CX,100;MOV SI,OFFSET BUFF;LOP:IN AL,0A2H ;读打印机状态读打印机状态 TESTAL,04H; JNZLOP ;忙,继续测试忙,继续测试 MOVAL,SI ;闲

14、,输出闲,输出1个字符个字符 OUT0A0H,AL; MOVAL,00001100B;PC6产生选通脉冲产生选通脉冲 OUT0A3H,AL; INCAL; OUT0A3H,AL; INCSI ;修改地址指针修改地址指针 LOOPLOP:例例2,用,用8255A作为作为PC/XT机机和打印机的接口,工作于和打印机的接口,工作于 方式方式1,CPU用用中断方式中断方式将将BUFF缓冲区中的缓冲区中的100 个字符送打印机打印。个字符送打印机打印。D7D0 ABCPU PA7PA0 8255ACS PC4 PC6A1 PC7A0 PC3 打印机打印机STBACKDB译译码码驱动驱动OBFINTR (

15、送送8259A的的IRQ7)A口方式口方式1输出输出; PC口的口的PC4作选通信号作选通信号STB。PC6自动作响应信号自动作响应信号ACK,PC7自动作输出缓冲信号自动作输出缓冲信号OBF,PC3自动作中断信号自动作中断信号INTR (送送8259A的的IRQ7 )。设置设置8255中断允许中断允许PC6置置1例例2,用,用8255A作为作为PC/XT机机和和打印机的接口,工作打印机的接口,工作于方式于方式1,CPU用用中断方式中断方式将将BUFF缓冲区中的缓冲区中的100个个字符送打印机打印。字符送打印机打印。D7D0 ABCPU PA7PA0 8255ACS PC4 PC6A1 PC7

16、A0 PC3 打印机打印机STBACKDB译译码码驱动驱动OBFINTR送送8259A的的IRQ7中断发生过程中断发生过程主程序主程序设置设置8255A方式方式设置中断向量设置中断向量开放开放IRQ7中断中断 SIBUFF偏偏CX100开开8255A中中断断送送选通信号选通信号开中开中断断 等待等待HLTSISI+1CX-10?关中断关中断END中断子程序中断子程序INTR1送送1个字符个字符送选通信号送选通信号返回返回中断结束中断结束STACKSEGMENTDW256DUP(?);(?);TOPLABEL;STACKENDS;DATASEGMENTBUFFDB 100 DUP(?);(?);

17、DATAENDS;CODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK;START:MOV AX,DATA;MOV DS,AX;MOV AX,STACK;MOV SS,AX;MOV SP,OFFSET TOP; MOV AL,10100000B ;8255初始化初始化 MOV DX, 063H OUT DX,AL; PUSH DS ;设置中断向量设置中断向量 MOV AX,SEG INTR1; MOV DS,AX; MOV DX,OFFSET INTR1; MOV AX,250FH; INT 21H; POP DS; MOV DX, 021H ; 开放开放IRQ7

18、中断中断 IN AL, DX AND AL, 7FH OUT DX, AL MOV SI, OFFSET BUFF MOV CX, 100 MOV AL,00001101B;PC6=1,8255口口A中断允许中断允许 MOV DX, 063H OUT DX,AL; MOV AL,00001001B;PC4产生负脉冲选通打印机产生负脉冲选通打印机 OUT DX,AL; DEC AL OUT DX, AL INC AL OUT DX, AL STI ; CPU开中断开中断LOP: HLT ;等待中断等待中断 INC SI LOOP LOP; MOV AL, 00001100B;PC60,关,关A口

19、中断口中断 MOV DX, 063H OUT DX,AL; MOV AH,4CH; INT 21H; INTR1 PROC NEAR ; 中断服务程序中断服务程序 MOV AL,SI ;送口送口A输出输出 MOV DX, 060H OUT DX,AL;MOV AL,00001000B ;选通打印机选通打印机 MOV DX, 063HOUT DX,AL;INC AL;OUT DX,AL; MOV DX, 020H ; 8259中断结束中断结束MOV AL, 20H;OUT DX, AL;IRET; INTR1 ENDP CODEENDS;ENDSTART;END例例2,用,用8255A作为打印机

20、的接口,工作于方式作为打印机的接口,工作于方式1,CPU用用中断方式中断方式将将BUFF缓冲区中的缓冲区中的100个字符送打个字符送打印机打印。印机打印。D7D0 ABCPU PA7PA0 8255ACS PC0 PC6A1 PC7A0 PC3 打印机打印机STBACKDB译译码码驱动驱动OBFINTR送送8259A的的IRQ3中断发生过程中断发生过程8255A在在IBM-PC机中的应用机中的应用(一)各端口的用途(一)各端口的用途1. PA口口工作于方式工作于方式0,作为数据输入用,接受,作为数据输入用,接受键盘扫描码。键盘扫描码。2. PB口口工作于方式工作于方式0,作为输出产生控制信号,

21、作为输出产生控制信号PB0:控制扬声器的工作频率,该位为控制扬声器的工作频率,该位为1时允许频时允许频率输出,为率输出,为0关闭频率输出;关闭频率输出;PB1:控制扬声器数据开关,该位为控制扬声器数据开关,该位为1时允许输出,时允许输出,为为0关闭;关闭;PB2:输出键盘测试数据,测试键盘;输出键盘测试数据,测试键盘;PB3:控制读系统配置开关控制读系统配置开关DIP的状态,为的状态,为1则读则读DIP的的高高4位,为位,为0读低读低4位;位;PB4:控制控制RAM奇偶校验位的开启,为奇偶校验位的开启,为0时开启;时开启;PB5:控制控制I/O奇偶校验位的开启,为奇偶校验位的开启,为0时开启;

22、时开启;PB6:控制键盘时钟,为控制键盘时钟,为1时产生键盘时钟;时产生键盘时钟;PB7:控制键盘工作,为控制键盘工作,为1时禁止键盘工作。时禁止键盘工作。3. PC口口工作于方式工作于方式0,作为输入数据用,作为输入数据用PC3PC0:接收系统配置开关接收系统配置开关DIP的高的高4位或位或低低4位;位;PC4:接受已进入扬声器的数据,供接受已进入扬声器的数据,供CPU检测;检测;PC5:接受已进入扬声器的音调,供接受已进入扬声器的音调,供CPU检测;检测;PC6:接受接受I/O通道的校验结果,为高时则产生通道的校验结果,为高时则产生NMI中中断;断;PC7:接受接受RAM的校验结果,为高时

23、则产生的校验结果,为高时则产生NMI中断;中断;(二)(二)8255A在在IBM-PC机中的初始化编程:机中的初始化编程:MOV AL,10011001B;OUT 63H,AL;8.1.1 8255A的内部结构的内部结构数数据据总总线线 D7D0 VCC +5V RESET 控控制制寄寄存存器器 GNG RD A组组 WR 端端口口A PA7PA0 地地址址线线 A组组 译译 端端口口C PC7PC4 码码 CS 高高4位位 低低4位位 器器 PC3PC0 A1 端端口口B B组组 A0 PB7PB0 B组组 (三)(三)8255A在在IBM-PC机中的使用:机中的使用:例例1:对:对PB口编

24、程使扬声器发音:口编程使扬声器发音:IN AL,61H;OR AL,03H;使使PB1,PB0=11,其他位不变,其他位不变OUT 61H,AL;例例2:允许:允许RAM奇偶校验:奇偶校验:IN AL,61H;AND AL,11101111B;使使PB4=0开启,其余位不变开启,其余位不变OUT 61H,AL;8.1.1 8255A的内部结构的内部结构数数据据总总线线 D7D0 VCC +5V RESET 控控制制寄寄存存器器 GNG RD A组组 WR 端端口口A PA7PA0 地地址址线线 A组组 译译 端端口口C PC7PC4 码码 CS 高高4位位 低低4位位 器器 PC3PC0 A1

25、 端端口口B B组组 A0 PB7PB0 B组组 INTEA PC6 ACKA INTEB PC2 ACKB PC7 OBFA PC1 OBFB PC3 INTRA PC0 INTRB PC4,PC5 未未用用, 可可作作输输入入/输输出出 (1)方式)方式1下的输出方式下的输出方式01(2)方式)方式1下的输入方式下的输入方式 INTEA PC4 STBA INTEB PC2 STBB PC5 IBFA PC1 IBFB PC3 INTRA PC0 INTRB PC6,PC7 未未用用, 可可作作输输入入/输输出出 8.l.4 8255A的控制字的控制字(必须记住(必须记住!)1. 方式选择

26、控制字方式选择控制字用于决定用于决定8255A三个端口的工作方式三个端口的工作方式A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 1 1 1 (地地址址63H) 标标识识位位 A组组方方式式选选择择 00:方方式式0 01:方方式式1 PC口口低低4 位位控控制制 1:方方式式2 0:输输出出,1:输输入入 B A PA口口控控制制位位 PB口口控控制制 组组 0:输输出出,1:输输入入 0:输输出出,1:输输入入 组组 PC口口高高4 位位控控制制 B组组方方式式选选择择 0:输输出出,1:输输入入 0:方方式式0,1:方方式式1 2. C C口口位操作位操作控制字控制字 设置端

27、口设置端口C各位的值各位的值 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 1 1 0 B2 B1 B0 (地址(地址 63H) 标识位标识位 置位控制置位控制 未用任意未用任意 0:置:置 0,1:置:置 1 位选择位选择 000:选择:选择 D0 001:选择:选择 D1 111:选择:选择 D7 例如,置端口例如,置端口C的的D7位为位为1:MOV AL,00001111B; OUT 63H,AL;1. 1. 方式方式00基本基本I/OI/O方式方式特点:适用于特点:适用于PAPA口、口、PBPB口和口和PCPC口作输入口作输入/ /输出端口,输出端口,2. 2. 方式方式

28、11选通选通I/O方式方式特点:适用于特点:适用于PAPA口和口和PBPB口作输入口作输入/ /输出端口,输出端口,PCPC口主口主要作为联络线;要作为联络线;3. 3. 方式方式22双向双向I/OI/O方式方式特点:仅适用于特点:仅适用于PAPA口作双向端口(可输入也可输出),口作双向端口(可输入也可输出),PCPC口主要作为联络线;口主要作为联络线;8.1.3 8255A的工作方式的工作方式1. 方式方式0基本输入输出方式基本输入输出方式A口、口、B口、口、C口均可以工作在方式口均可以工作在方式0 ,无需用专用,无需用专用的应答联络信号的应答联络信号;分成彼此独立的分成彼此独立的8位位A口

29、、口、B口及口及4位上位上C口、下口、下C口口四个并行口,由控制字可分别设置成输入或输出口四个并行口,由控制字可分别设置成输入或输出口使用,共有使用,共有 16种不同的使用组态种不同的使用组态(每组只能同时设定每组只能同时设定为输入或输出为输入或输出);与与CPU交换信息不能采用中断的方法,但可用应答交换信息不能采用中断的方法,但可用应答查询方式:通常以查询方式:通常以A口和口和B口作为数据口,而用口作为数据口,而用C口口某些位作为控制与状态信号线使用(某些位作为控制与状态信号线使用(C口中哪条引口中哪条引线充当何种应答功能,可以由用户来指定);线充当何种应答功能,可以由用户来指定); 2.

30、方式方式1选通选通I/O方式方式主要是为中断应答式数据传送而设计主要是为中断应答式数据传送而设计; 端口端口 A和瑞口和瑞口 B仍作为数据的输出口或输入口,同仍作为数据的输出口或输入口,同时时固定固定C口的某些位作为联络信号口的某些位作为联络信号(C口的其他位仍口的其他位仍可作数据位使用);可作数据位使用); INTEA PC6 ACKA INTEB PC2 ACKB PC7 OBFA PC1 OBFB PC3 INTRA PC0 INTRB PC4,PC5 未未用用, 可可作作输输入入/输输出出 (1)方式)方式1下的输出方式下的输出方式PC7/PC1输出缓冲器满信号输出缓冲器满信号OBFA

31、/OBFB,低电平有效;当低电平有效;当OBF=0时,表示时,表示CPU将新数据写入将新数据写入相应端口的数据缓冲器,外设可依此信号将数据取走,相应端口的数据缓冲器,外设可依此信号将数据取走,同时使同时使OBF=1示空。示空。PC6/PC2响应信号响应信号ACKA/ACKB,低电平,低电平有效;外设在有效;外设在OBF=0(缓冲器满缓冲器满)的条件下,用)的条件下,用ACK=0表示将数据取走,同时由表示将数据取走,同时由8255内部逻辑内部逻辑使使OBF=1(示空),在中断允许(示空),在中断允许(INTE=1)时,使时,使INTR=1产生中断请求。产生中断请求。PC3/PC0中断请求信号输出

32、中断请求信号输出INTRA/INTRB说明:说明:PC6/PC2是中断允许位是中断允许位INTEA/INTEB。要开放中断,就要用要开放中断,就要用PC口置口置0/置置1命令使相应位为命令使相应位为1;例如,开放例如,开放INTEA(PC6=1),操作:),操作:MOV AL,00001101B; OUT 63H,AL;(口口C位操作位操作)(2)方式)方式1下的输入方式下的输入方式 INTEA PC4 STBA INTEB PC2 STBB PC5 IBFA PC1 IBFB PC3 INTRA PC0 INTRB PC6,PC7 未未用用, 可可作作输输入入/输输出出 PC5/PC1输入缓冲器满信号输入缓冲器满信号IB

温馨提示

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

评论

0/150

提交评论