基于手动按钮建立8259A中断控制器硬件中断的应用

上传人:油条 文档编号:11732885 上传时间:2017-10-14 格式:DOCX 页数:13 大小:643KB
返回 下载 相关 举报
基于手动按钮建立8259A中断控制器硬件中断的应用_第1页
第1页 / 共13页
基于手动按钮建立8259A中断控制器硬件中断的应用_第2页
第2页 / 共13页
基于手动按钮建立8259A中断控制器硬件中断的应用_第3页
第3页 / 共13页
基于手动按钮建立8259A中断控制器硬件中断的应用_第4页
第4页 / 共13页
基于手动按钮建立8259A中断控制器硬件中断的应用_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《基于手动按钮建立8259A中断控制器硬件中断的应用》由会员分享,可在线阅读,更多相关《基于手动按钮建立8259A中断控制器硬件中断的应用(13页珍藏版)》请在金锄头文库上搜索。

1、学 号: 0120810340802课 程 设 计题 目基于手动按钮建立 8259A 中断控制器硬件中断的应用学 院 计算机科学与技术专 业 计算机科学与技术班 级 计科 0808 班姓 名 朱林指导教师 周银良2011 年 7 月 5 日接口课程设计任务书学生姓名 朱林 专业班级 计科 0808 班 指导老师 周银良 工作单位 题目:基于手动按钮建立 8259A 中断控制器硬件中断的应用(采用汇编语言设计)一、内容:根据附录中由 8259 中断控制器建立的硬件中断图,建立硬件中断应用。在 MIFID 微机实验台上的 IDE 使用汇编程序设计语言编程实现。二、要求:1、使用 MIFID 微机实

2、验台上的 SW3 按钮产生脉冲,让并行接口 8255A 的PC2 接收,然后并行接口 8255A 的 PC4 产生一个方波,作为中断请求信号给 IRQ10。发出一次中断请求信号由按下 SW3 按钮决定。2、在中断服务子程序中,设计按一定的规律点亮 LED 发光二极管。3、按一定的规律点亮 LED 发光二极管的数据存入文件中,同时数据在CRT 上的指定位置显示出来。4、设计程序运行时的界面友好。三、 进度安排:序号 内容 所用时间1 接口电路设计 2 天2 编写程序 1 天3 调试程序 1 天4 撰写课程设计报告 1 天合计 5 天指导教师签名: 年 月 日 系主任(责任教师)签名: 年 月 日

3、1 设计题目及要求1.1 设计内容根据附录中由 8259 中断控制器建立的硬件中断图,建立硬件中断应用。在 MIFID 微机实验台上的 IDE 使用汇编程序设计语言编程实现。1.2 设计要求1、使用 MIFID 微机实验台上的 SW3 按钮产生脉冲,让并行接口 8255A 的PC2 接收,然后并行接口 8255A 的 PC4 产生一个方波,作为中断请求信号给 IRQ10。发出一次中断请求信号由按下 SW3 按钮决定。2、在中断服务子程序中,设计按一定的规律点亮 LED 发光二极管。3、按一定的规律点亮 LED 发光二极管的数据存入文件中,同时数据在CRT 上的指定位置显示出来。4、设计程序运行

4、时的界面友好。2 设计思路2.1 8255A 工作说明8255A 是控制系统中应用非常广泛的可编程并行接口芯片,它有 PA、PB 和PC3 个并行端口,可实现查询、中断等数据传输。(1)基本特征8255 具有两个 8 位(PA 和 PB)和两个 4 位(PC 高/低 4 位)并行输入/输出端口,PC 端口具有按位复位/置位功能。有 0 方式、1 方式和 2 方式等,可适应 CPU 和 I/O 接口多种数据传送方式,分别对应无条件传送、应答传送和中断传送等。PC 端口除用作数据端口外,当工作在 1 方式和 2 方式时,它的部分引线被分配为专用联络信号,PC 端口可单独指定按位控制,当状态信号使用

5、等。8255A 内部主要由控制寄存器、状态寄存器和数据寄存器组成,PA、PB 和 PC 均具有输出锁存、输出缓冲功能。(2)8255A 内部结构数据总线缓冲器这是一个三态双向 8 位缓冲器,是 8255A 与 CPU 系统数据总线的接口,所有的数据发送和接收,以及 CPU 发出的控制字和从 8255A 输出的状态信息均通过该缓冲器传送。读写控制逻辑读写控制逻辑由读信号 RD、写信号 WR、片选信号及端口选择地址信号 A1A0 来实现。读写控制逻辑控制总线的开放和关闭,以及信息的传送路径(通道)和传送方向。它可把 CPU 的控制命令或数据传送到相应的端口,也可控制外设信息或输入数据从相应端口传送

6、到 CPU。数据端口 PA、PB、PC8255A 包括 3 个 8 位的输入输出端口,每个端口都有一个数据输入寄存器和一个数据输出寄存器,根据处理器对接口的要求,作为输入端口都有三态输入缓冲和输出锁存功能。在实际应用中,PC 的 8 位可分为两个 4 位端口(仅在 0 方式下) ,也可以分为一个 5 位端口和一个 3 位端口(1 方式下)来使用。A 组和 B 组控制电路PA、PB 和 PC3 个端口的工作方式是 CPU 通过向 A、B 两组控制寄存器写方式控制字来设定的。A 组控制 PA 和 PC 的高 4 位,B 组控制 PB 和 PC 的低 4 位,A 组和 B 组的控制寄存器还接收 PC

7、 的按位控制命令,以实现 PC 的按位置位/复位功能。(3)8255A 控制字控制字用于控制 8255A 各个端口的工作方式和端口的输入/输出,它通过 CS+11 端口输入到 8255A。本次实验中使用到两个主要芯片: Intel 8255(并行输入/输出接口芯片),Intel 8259(中断控制芯片)。2.2 8259A 工作原理中断控制器 8259A 用于管理 PC 的硬件中断,在接口技术中的中断编程是指通过中断方式实现控制、数据采集等功能。在实际应用中,控制板通常使用 PC主机板上的 8259A 实现中断,因此在进行中断编程时必须遵守 PC 对 8259A 的设置,也就是说在应用程序中无

8、须对 8259A 进行编程设置,但必须了解 8259A 在PC 中的设置。(1)8259A 功能Intel8259A 是与 8080/8085 系列及 8088/8086 系列兼容的可编程中断控制器,它的主要功能如下。具有 8 级优先权控制,通过级联可拓展至 64 级优先权控制。每一级中断都可以独立被屏蔽或允许。在中断相应周期,8259A 可提供中断向量,从而快速地转入中断服务程序。8259A 有多种工作方式,均可通过程序来选择。Intel 8259A 用于管理和控制 80x86 的可屏蔽中断请求,实现优先级判决,提供中断类型码,屏蔽中断请求等功能。使用单片 8259A 可以管理 8 级中断;

9、采用级联方式,可扩充到 64 级(用 9 片 8259A) 。这次实验用到级联方式。在第 1 个中断响应周期,主从片均接受到中断响应信号;随后,主片在 CAS2 - CAS0 上发出被响应的从片 ID 码,通知从片在第 2 个中断响应周期将中断类型号传送至数据总线。(2)8259A 结构8259A 的内部由 8 个功能模块组成,如上图所示。其中与中断处理有关的有:中断请求寄存器(IRR) 、中断服务寄存器(ISR) 、中断屏蔽寄存器(IMR) 、优先权电路及控制逻辑。中断请求寄存器(IRR):用于保存外设在 IR7IR0 线上提出的中断请求,由链接在 IR7IR0 线上的外设产生的触发信号来置

10、位,其内容可用OCW2 命令读出。中断服务寄存器(ISR):在中断相应之后的第一个 INTA周期,将ISR 中与 IRR 对应的中断源置位,表明该中断源正处在被服务中,ISR 的复位需要用中断结束命令 OCW2 来执行。中断屏蔽寄存器(IMR):IMR 对 IRR 中相应的中断请求起屏蔽的作用,用户可根据需要允许某些中断发生(相应位置 0)或禁止某些中断(相应位置 1) 。优先权电路(PR):用于判断当前的中断请求是否输入到 CPU,当中断优先权高于 CPU 在服务中断的优先权,则当前中断终止在服务中断,并响应当前中断请求;若当前中断优先权低于 CPU 在服务中断,则等待 CPU 完成当前中断

11、后再响应该中断。8259A 的中断优先权电路是一个采用优先权编码的数字比较电路,所谓优先权高低也就是中断类型编号的大小。读写控制逻辑:CPU 对 8259A 的读写操作除 INTA信号作特殊操作外,一般的读写操作由 CS、WR、RD和 A0 等几个输入线控制,使 8259A 可以接收 CPU 写入的初始化命令字(ICW)和操作命令字(OCW) ,向 CPU 送出状态信息。(3)操作命令字8259A 工作之前,需要用两类控制字对 8259A 进行工作方式的设定,并启动 8259A 进行规定的操作。初始化命令字 ICW1ICW4:计算机系统启动时由系统软件(初始化程序)设置,在计算机系统工作过程中

12、一般不会改变。操作命令字 OCW1OCW3:由应用程序设定,用来对中断处理过程进行动态控制。初始化过程结束,8259A 进入工作状态后,才能写入操作命令字(OCW) 。操作命令字 OCW1OCW3 的设置没有规定先后顺序。OCW1OCW1 为中断屏蔽操作命令字,用来实现中断屏蔽功能,要求写入8259A 的奇地址端口(A0=1)。OCW1 的内容被直接置入中断屏蔽寄存器 IMR 中。其中 M0M7 分别对应 8259A 的 IR0IR7。当 OCW1 中的 Mi 位为 1 时,则相应的 IRi 的中断请求就被屏蔽。M7 M6 M5 M4 M3 M2 M1 M01 OCW1A0 D7 D6 D5

13、D4 D3 D2 D1 D0 OCW2a:设置中断优先级是否采用循环方式。 R1,采用循环方式;R0,采用非循环方式。b:中断结束操作。 EOI=1,采用非自动中断结束方式,需要发送中断结束命令;EOI=0,采用自动中断结束方式,不需要发送中断结束命令。 OCW3主要作用是读出 IRR、ISR 的状态。ESMM SMM 0 1 P PR RIS0OCW3A0 D7 D6 D5 D4 D3 D2 D1 D0本次实验用操作命令字 ocw1 来开放以及屏蔽 IRQ10 和 IRQ2,ocw2 发中断结束命令。3 设计方案说明3.1 硬件连接图3.2 程序流程图4 源程序STACK1 SEGMENT

14、STACKDW 200 DUP(?)STACK1 ENDSDATA SEGMENTMESG1 DB Press SW3 one time to invoke interrupt one time,and to light one of LEDs,0ah,0dh初始化变量设置 8259A设置 8255A退出开始检测是否按 Q 或 q? DB Exit with q/Q,0ah,0dh,$LEDDATA DB 01H,02H,04H,08H,10H,20H,40H,80HNUM DW(0) INT0A_OFF DW(?)INT0A_SEG DW(?) DATA ENDSCODE SEGMENTAS

15、SUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AH,09HMOV DX,OFFSET MESG1INT 21h ;显示提示信息 MOV DX,303H ;初始化8255MOV AL,83HOUT DX,ALMOV DX,300H ;LED灯熄灭MOV AL,00HOUT DX,ALMOV AX,3572H ;获取原中断向量INT 21HMOV INT0A_OFF,BX ;保存原中断向量MOV BX,ESMOV INT0A_SEG,BXCLI ;关中断MOV AX,2572HMOV DX,SEG LEDLIGHT ;设置新的中断向量PUSH DSMOV DS,DXMOV DX,OFFSET LEDLIGHTINT 21HP

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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