使用8259A的单级中断控制实验

上传人:cn****1 文档编号:483941181 上传时间:2023-05-05 格式:DOCX 页数:18 大小:43.66KB
返回 下载 相关 举报
使用8259A的单级中断控制实验_第1页
第1页 / 共18页
使用8259A的单级中断控制实验_第2页
第2页 / 共18页
使用8259A的单级中断控制实验_第3页
第3页 / 共18页
使用8259A的单级中断控制实验_第4页
第4页 / 共18页
使用8259A的单级中断控制实验_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《使用8259A的单级中断控制实验》由会员分享,可在线阅读,更多相关《使用8259A的单级中断控制实验(18页珍藏版)》请在金锄头文库上搜索。

1、使用8259A的单级中断控制实验实验五 使用8259A的单级中断控制实验 一、实验目的 1、掌握中断控制器8259A与微机接口的原理和方法。 2、掌握中断控制器8259A的应用编程。 二、预备知识 1、8259A的内部结构 8259A是专为控制优先级中断而设计的芯片。它将中断源按优先级排队、辨认中断源、提供中断向量的电路集成于一体,只要用软件对它进行编程,就可以管理8 级中断。 如图519所示,它由中断请求寄存器(IRR)、优先级分析器、 中断服务寄存器(ISR)、中断屏蔽寄存器(IMR)、数据总线缓冲器、读写控制电路和级联缓冲器、比较器组成。 图519 中断请求寄存器:寄存所有要求服务的请求

2、IR0IR7。 中断服务寄存器:寄存正在被服务的中断请求。 中断屏蔽寄存器:存放被屏蔽的中断请求,该寄存器的每一位表示一个中断号, 该位为1,屏蔽该号中断,否则开放该号中断。 数据总线缓冲器:是双向三态的,用以连接系统总线和8259A内部总线, 通过它可以由CPU对8259A写入状态字和控制字。 读写控制电路:用来接受I/O命令,对初始化命令和操作命令字寄存器进行写入,以确定8259A的工作方式和控制方式。 级联缓冲器/比较器:用于多片8259A的连接,能构成多达64级的矢量中断系统。 2、8259A编程及初始化 (1) 写初始化命令字 * 写初始化命令字ICW1(A0=0),以确定中断请求信

3、号类型,清除中断屏蔽寄存器,中断优先级排队和确定系统用单片还是多片。 * 写初始化命令字ICW2,以定义中断向量的高五位类型码。 * 写初始化命令字ICW3,以定义主片8259A中断请求线上IR0IR7有无级联的8259A从片。 第i位=0,表明IRi引脚上无从片 第i位=1,表明IRi引脚上有从片 * 写初始化命令ICW4,用来定义8259A工作时用8085模式,还是8088模式,以及中断服务寄存器复位方式等。 (2) 写控制命令字 * 写操作命令字0CW1,用来设置或清除对中断源的屏蔽。 第i位=0,对应的中断请求IRi开放 第i位=1,对应的中断请求IRi屏蔽 注: OCW1如不写,则在

4、初始化命令写入后,OCW1为全开放状态。 * 操作命令字OCW2,设置优先级是否进行循环、循环方式及中断结束方式。 注: 8259A复位时自动设置IR0优先权最高,IR7优先权最低。 * 操作命令字OCW3,设置查询方式、特殊屏蔽方式以及读取8259中断寄存器的当前状态。 (3) 8259A查询字 通过OCW3命令字的设置,可使CPU处于查询方式,随时查询8259A有否中断请求, 有则转入相应的中断服务程序。 三、实验内容 本系统中已设计有一片8259A中断控制芯片,工作于主片方式,8个中断请求输入端IR0IR7对应的中断型号为8F,其和中断矢量关于如下表53所示。 表53 根据实验原理图52

5、0,8259A和8088系统总线直接相连,8259A 上连有一系统地址线A0,故8259A 有2 个端口地址, 本系统中为20H、21H。 20H 用来写ICW1, 21H 用来写ICW2、ICW3、ICW4,初始化命令字写好后, 再写操作命令字。OCW2、OCW3 用口地址20H,OCW1用口地址21H。图514中,使用了3号中断源,IR3插孔和SP插孔相连,中断方式为边沿触发方式,每按一次AN按钮产生一次中断信号,向8259A发出中断请求信号。如果中断源电平信号不符规定要求则自动转到7号中断,显示“Err”。CPU响应中断后,在中断服务中, 对中断次数进行计数并显示,计满5次结束,显示器显

6、示“8259Good”。 四、实验线路连接 8259A的IR3插孔和SP插孔相连。SP插孔初始电平为低电平。 图520 五、实验软件框图 六、实验软件清单 CODE SEGMENT ASSUME CS:CODE INTPORT1 EQU 0020H INTPORT2 EQU 0021H INTQ3 EQU INTREEUP3 INTQ7 EQU INTREEUP7 CONTPORT EQU 00DFH DATAPORT EQU 00DEH DATA0 EQU 0580H DATA1 EQU 0500H DATA2 EQU 0508H DATA3 EQU 0518H DATA4 EQU 0520

7、H ORG 1800H START: JMP Tint1 Tint1: CALL FORMAT CLD MOV DI,DATA0 MOV CX,08H XOR AX,AX REP STOSW MOV SI,DATA3 CALL LEDDISP ;DISP 8259-1 MOV AX,0H MOV DS,AX CALL WRINTVER ;WRITE INTRRUPT MOV AL,13H MOV DX,INTPORT1 OUT DX,AL MOV AL,08H MOV DX,INTPORT2 OUT DX,AL MOV AL,09H OUT DX,AL MOV AL,0F7H OUT DX,A

8、L MOV BYTE PTR DS:0601H,01H STI WATING: JMP WATING WRINTVER:MOV AX,0H MOV ES,AX MOV DI,002CH LEA AX,INTQ3 STOSW MOV AX,CS STOSW MOV DI,003CH LEA AX,INTQ7 STOSW MOV AX,CS STOSW RET INTREEUP3:CLI MOV AL,DS:0601H CALL CONVERS MOV SI,DATA0 CALL LEDDISPD MOV AL,20H MOV DX,INTPORT1 ;TIME=1 OUT DX,AL ADD B

9、YTE PTR DS:0601H,01H CMP BYTE PTR DS:0601H,06H JNA INTRE1 MOV SI,DATA4 CALL LEDDISP INTRE3: JMP INTRE3 CONVERS:MOV BH,0H AND AL,0FH MOV BL,AL MOV AL,CS:BX+DATA2 MOV BX,DATA0 MOV DS:BX,AL RET MOV DX,INTPORT1 OUT DX,AL STI IRET MOV SI,DATA1 CALL LEDDISP MOV AL,20H MOV DX,INTPORT1 OUT DX,AL IRET MOV DX

10、,CONTPORT OUT DX,AL MOV BYTE PTR DS:0600H,00 JA LED2 MOV BL,DS:0600H MOV BH,0H MOV AL,CS:BX+SI MOV DX,DATAPORT INTRE1: MOV AL,20H INTREEUP7: CLI LEDDISP:MOV AL,90H LED1: CMP BYTE PTR DS:0600H,07H OUT DX,AL ADD BYTE PTR DS:0600H,01H JNZ LED1 LED2: RET LEDDISPD:MOV AL,90H MOV DX,CONTPORT OUT DX,AL MOV

11、 BYTE PTR DS:0600H,00 JA LEDD2 MOV BL,DS:0600H MOV BH,0H MOV AL,DS:BX+SI MOV DX,DATAPORT OUT DX,AL ADD BYTE PTR DS:0600H,01H JNZ LEDD1 LEDD1: CMP BYTE PTR DS:0600H,07H LEDD2: RET FORMAT: MOV BX,0 MOV WORD PTR DS:BX+0500H,5050H ADD BX,2 MOV WORD PTR DS:BX+0500H,0079H ADD BX,2 MOV WORD PTR DS:BX+0500H

12、,0000H ADD BX,2 MOV WORD PTR DS:BX+0500H,0000H ADD BX,2 MOV WORD PTR DS:BX+0500H,063FH ADD BX,2 MOV WORD PTR DS:BX+0500H,4F5BH ADD BX,2 MOV WORD PTR DS:BX+0500H,6D66H ADD BX,2 MOV WORD PTR DS:BX+0500H,077DH ADD BX,2 MOV WORD PTR DS:BX+0500H,6F7FH ADD BX,2 MOV WORD PTR DS:BX+0500H,7C77H ADD BX,2 MOV

13、WORD PTR DS:BX+0500H,5E39H ADD BX,2 MOV WORD PTR DS:BX+0500H,7179H ADD BX,2 MOV WORD PTR DS:BX+0500H,4006H ADD BX,2 MOV WORD PTR DS:BX+0500H,4040H ADD BX,2 MOV WORD PTR DS:BX+0500H,6D6FH ADD BX,2 MOV WORD PTR DS:BX+0500H,7F5BH ADD BX,2 MOV WORD PTR DS:BX+0500H,3F5EH ADD BX,2 MOV WORD PTR DS:BX+0500H

14、,5C3FH ADD BX,2 MOV WORD PTR DS:BX+0500H,6D6FH ADD BX,2 MOV WORD PTR DS:BX+0500H,7F5BH RET CODE ENDS END START 七、实验步骤 1、按图520连好实验线路 2、 运行实验程序 在系统显示“DVCC 86H”状态下,按任意键,系统显示命令提示符“”。 按GO键,显示“1000 XX” 输入 F000 : B2E0 按EXEC键, 在DVCC8086H上显示“82591”。 3、 按AN按键,每按二次产生一次中断,在显示器左边一位显示中断次数, 满5次中断,显示器显示“8259 good”。 实验六 8255A可编程并行口实验(一) 一、实验目的 1、掌握并行接口芯片8255A和微机接口的连接方法。 2、掌握并行接口芯片8255A的工作方式及其编程方法。 二、预备知识 1、8255A结构 8255A是可编程并行接口芯片,双列直插式封装,用+5V单电源供电,如图5 6 是8255A的逻辑框图,内部有3个8位I/O端口:A口、B口、C口;也可以分为各有12

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号