收藏 分销(赏)

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

上传人:pc****0 文档编号:6381757 上传时间:2024-12-07 格式:DOCX 页数:13 大小:643KB 下载积分:10 金币
下载 相关 举报
基于手动按钮建立8259A中断控制器硬件中断的应用.docx_第1页
第1页 / 共13页
基于手动按钮建立8259A中断控制器硬件中断的应用.docx_第2页
第2页 / 共13页


点击查看更多>>
资源描述
学 号: 0120810340802 课 程 设 计 题 目 基于手动按钮建立8259A中断控制器硬件中断的应用 学 院 计算机科学与技术 专 业 计算机科学与技术 班 级 计科0808班 姓 名 朱林 指导教师 周银良 2011 年 7 月 5 日 接口课程设计任务书 学生姓名 朱林 专业班级 计科0808班 指导老师 周银良 工作单位 题目:基于手动按钮建立8259A中断控制器硬件中断的应用 (采用汇编语言设计) 一、 内容: 根据附录中由8259中断控制器建立的硬件中断图,建立硬件中断应用。在MIFID微机实验台上的IDE使用汇编程序设计语言编程实现。 二、 要求: 1、 使用MIFID微机实验台上的SW3按钮产生脉冲,让并行接口8255A的PC2接收,然后并行接口8255A的PC4产生一个方波,作为中断请求信号给IRQ10。发出一次中断请求信号由按下SW3按钮决定。 2、 在中断服务子程序中,设计按一定的规律点亮LED发光二极管。 3、 按一定的规律点亮LED发光二极管的数据存入文件中,同时数据在CRT上的指定位置显示出来。 4、 设计程序运行时的界面友好。 三、 进度安排: 序号 内容 所用时间 1 接口电路设计 2天 2 编写程序 1天 3 调试程序 1天 4 撰写课程设计报告 1天 合计 5天 指导教师签名: 年 月 日 系主任(责任教师)签名: 年 月 日 1 设计题目及要求 1.1 设计内容 根据附录中由8259中断控制器建立的硬件中断图,建立硬件中断应用。在MIFID微机实验台上的IDE使用汇编程序设计语言编程实现。 1.2 设计要求 1、 使用MIFID微机实验台上的SW3按钮产生脉冲,让并行接口8255A的PC2接收,然后并行接口8255A的PC4产生一个方波,作为中断请求信号给IRQ10。发出一次中断请求信号由按下SW3按钮决定。 2、 在中断服务子程序中,设计按一定的规律点亮LED发光二极管。 3、 按一定的规律点亮LED发光二极管的数据存入文件中,同时数据在CRT上的指定位置显示出来。 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端口可单独指定按位控制,当状态信号使用等。 ④8255A内部主要由控制寄存器、状态寄存器和数据寄存器组成,PA、PB和PC均具有输出锁存、输出缓冲功能。 (2)8255A内部结构 ①数据总线缓冲器 这是一个三态双向8位缓冲器,是8255A与CPU系统数据总线的接口,所有的数据发送和接收,以及CPU发出的控制字和从8255A输出的状态信息均通过该缓冲器传送。 ②读写控制逻辑 读写控制逻辑由读信号RD ̄、写信号WR ̄、片选信号及端口选择地址信号A1A0来实现。读写控制逻辑控制总线的开放和关闭,以及信息的传送路径(通道)和传送方向。它可把CPU的控制命令或数据传送到相应的端口,也可控制外设信息或输入数据从相应端口传送到CPU。 ③数据端口PA、PB、PC 8255A包括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的按位控制命令,以实现PC的按位置位/复位功能。 (3)8255A控制字 控制字用于控制8255A各个端口的工作方式和端口的输入/输出,它通过CS ̄+11端口输入到8255A。 本次实验中使用到两个主要芯片: Intel 8255(并行输入/输出接口芯片),Intel 8259(中断控制芯片)。 2.2 8259A工作原理 中断控制器8259A用于管理PC的硬件中断,在接口技术中的中断编程是指通过中断方式实现控制、数据采集等功能。在实际应用中,控制板通常使用PC主机板上的8259A实现中断,因此在进行中断编程时必须遵守PC对8259A的设置,也就是说在应用程序中无须对8259A进行编程设置,但必须了解8259A在PC中的设置。 (1)8259A功能 Intel8259A是与8080/8085系列及8088/8086系列兼容的可编程中断控制器,它的主要功能如下。 ①具有8级优先权控制,通过级联可拓展至64级优先权控制。 ②每一级中断都可以独立被屏蔽或允许。 ③在中断相应周期,8259A可提供中断向量,从而快速地转入中断服务程序。 ④8259A有多种工作方式,均可通过程序来选择。 Intel 8259A用于管理和控制80x86的可屏蔽中断请求,实现优先级判决,提供中断类型码,屏蔽中断请求等功能。使用单片8259A可以管理8级中断;采用级联方式,可扩充到64级(用9片8259A)。这次实验用到级联方式。在第1个中断响应周期,主从片均接受到中断响应信号;随后,主片在CAS2 - CAS0上发出被响应的从片ID码,通知从片在第2个中断响应周期将中断类型号传送至数据总线。 (2)8259A结构 8259A的内部由8个功能模块组成,如上图所示。其中与中断处理有关的有:中断请求寄存器(IRR)、中断服务寄存器(ISR)、中断屏蔽寄存器(IMR)、优先权电路及控制逻辑。 ①中断请求寄存器(IRR):用于保存外设在IR7~IR0线上提出的中断请求,由链接在IR7~IR0线上的外设产生的触发信号来置位,其内容可用OCW2命令读出。 ②中断服务寄存器(ISR):在中断相应之后的第一个INTA ̄周期,将ISR中与IRR对应的中断源置位,表明该中断源正处在被服务中,ISR的复位需要用 中断结束命令OCW2来执行。 ③中断屏蔽寄存器(IMR):IMR对IRR中相应的中断请求起屏蔽的作用,用户可根据需要允许某些中断发生(相应位置0)或禁止某些中断(相应位置1)。 ④优先权电路(PR):用于判断当前的中断请求是否输入到CPU,当中断优先权高于CPU在服务中断的优先权,则当前中断终止在服务中断,并响应当前中断请求;若当前中断优先权低于CPU在服务中断,则等待CPU完成当前中断后再响应该中断。8259A的中断优先权电路是一个采用优先权编码的数字比较电路,所谓优先权高低也就是中断类型编号的大小。 ⑤读写控制逻辑:CPU对8259A的读写操作除INTA ̄信号作特殊操作外,一般的读写操作由CS ̄、WR ̄、RD ̄和A0等几个输入线控制,使8259A可以接收CPU写入的初始化命令字(ICW)和操作命令字(OCW),向CPU送出状态信息。 (3)操作命令字 8259A工作之前,需要用两类控制字对8259A进行工作方式的设定,并启动8259A进行规定的操作。初始化命令字ICW1—ICW4:计算机系统启动时由系统软件(初始化程序)设置,在计算机系统工作过程中一般不会改变。操作命令字OCW1—OCW3:由应用程序设定,用来对中断处理过程进行动态控制。 初始化过程结束,8259A进入工作状态后,才能写入操作命令字(OCW)。操作命令字OCW1~OCW3 的设置没有规定先后顺序。 ①OCW1 OCW1 为中断屏蔽操作命令字,用来实现中断屏蔽功能,要求写入8259A的奇地址端口(A0=1)。OCW1 的内容被直接置入中断屏蔽寄存器IMR中。其中M0~M7 分别对应8259A的IR0~IR7。当OCW1 中的Mi 位为1时,则相应的IRi 的中断请求就被屏蔽。 M7 M6 M5 M4 M3 M2 M1 M0 1 OCW1 A0 D7 D6 D5 D4 D3 D2 D1 D0 ② OCW2 a:设置中断优先级是否采用循环方式。 R=1,采用循环方式;R=0,采用非循环方式。 b:中断结束操作。 EOI=1,采用非自动中断结束方式,需要发送中断结束命令;EOI=0,采用自动中断结束方式,不需要发送中断结束命令。 ③ OCW3 主要作用是读出IRR、ISR的状态。 ESMM SMM 0 1 P PR RIS 0 OCW3 A0 D7 D6 D5 D4 D3 D2 D1 D0 本次实验用操作命令字ocw1来开放以及屏蔽IRQ10和IRQ2,ocw2发中断结束命令。 3 设计方案说明 3.1 硬件连接图 3.2 程序流程图 初始化变量 设置8259A 设置8255A 退出 开始 检测是否按Q或q? 4 源程序 STACK1 SEGMENT STACK DW 200 DUP(?) STACK1 ENDS DATA SEGMENT MESG1 DB 'Press SW3 one time to invoke interrupt one time,and to light one of LEDs',0ah,0dh DB 'Exit with q/Q',0ah,0dh,'$' LEDDATA DB 01H,02H,04H,08H,10H,20H,40H,80H NUM DW(0) INT0A_OFF DW(?) INT0A_SEG DW(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AH,09H MOV DX,OFFSET MESG1 INT 21h ;显示提示信息 MOV DX,303H ;初始化8255 MOV AL,83H OUT DX,AL MOV DX,300H ;LED灯熄灭 MOV AL,00H OUT DX,AL MOV AX,3572H ;获取原中断向量 INT 21H MOV INT0A_OFF,BX ;保存原中断向量 MOV BX,ES MOV INT0A_SEG,BX CLI ;关中断 MOV AX,2572H MOV DX,SEG LEDLIGHT ;设置新的中断向量 PUSH DS MOV DS,DX MOV DX,OFFSET LEDLIGHT INT 21H POP DS STI ;开中断 IN AL,0A1H ;打开IRQ10 AND AL,0FBH OUT 0A1H,AL IN AL,21H ;打开IRQ2 AND AL,0FBH OUT 21H,AL L1: MOV AH,0BH ;检查是否有’Q’或’q’键按下 INT 21H INC AL JNZ NEXT0 ; 若无键按下,则程序往下执行 MOV AH,08H ;如有’Q’或’q’键按下,则程序退出 INT 21H CMP AL,'q' JZ EXIT CMP AL,'Q' JZ EXIT NEXT0: MOV DX,302H ;查PC2是否为0 IN AL,DX AND AL,04H JNZ L1 PUSH CX MOV CX,0FFH LOOP1:LOOP LOOP1 POP CX IN AL,DX AND AL,04H JZ L1 MOV DX,303H ;按下SW3,则PC4=1申请中断 MOV AL,09H OUT DX,AL PUSH CX MOV CX,100 WT: LOOP WT POP CX MOV DX,303H ;置PC4=0 MOV AL,08H OUT DX,AL JMP L1 EXIT: MOV AX,2572H ;恢复中断向量 MOV DX,INT0A_SEG PUSH DS MOV DS,DX MOV DX,INT0A_OFF INT 21H POP DS IN AL,0A1H ;屏蔽IRQ10 OR AL,04H OUT 0A1H,AL IN AL,21H ;屏蔽IRQ2 OR AL,04H OUT 21H,AL MOV AX,4C00H ;程序退出 INT 21H LEDLIGHT PROC FAR ;中断服务程序 PUSH SI PUSH AX PUSH DX CLI ;关中断 MOV SI,OFFSET LEDDATA ADD SI,NUM MOV AL,[SI] MOV DX,300H OUT DX,AL ;点亮LED INC NUM CMP NUM,07H JNE NEXT MOV NUM,00H NEXT : MOV AL,62H ;发中断结束命令 MOV DX,0A0H OUT DX,AL ;向从片8259发EOI命令 OUT 020H,AL ;向主片8259发EOI命令 STI ;开中断 POP DX POP AX POP SI IRET LEDLIGHT ENDP CODE ENDS END START 5 实验心得及体会 通过这次课程设计,我学到很多东西。首先,在做这次实验之前,我将书本上关于中断控制器和并行接口的相关内容温习了一遍,熟悉了8259A和8255A的相关控制字的设置以及每个控制字的含义,这样,在做这个实验的时候,能够很清楚的知道怎样接线,怎样实现达到要求,虽然程序已经给出,但要明白程序中每个语句的含义,还是花费了不少时间。其次,这次实验增强了我的动手能力,接好线后,才能运行程序,得到预期效果,我的实验题目是基于手动按钮建立8259A中断控制器硬件中断的应用,并且要在中断服务子程序中,设计按一定的规律点亮LED发光二极管。最后,我希望通过这次课程设计,在以后的学习和工作中,找出自己的不足,并努力克服和改善这些缺点。 本科生课程设计成绩评定表 班级:计算机0808班 姓名:朱林 学号:0120810340802 序号 评分项目 满分 实得分 1 学习态度认真、遵守纪律 10 2 设计分析合理性 10 3 设计方案正确性、可行性、创造性 20 4 设计结果正确性 40 5 设计报告的规范性 10 6 设计验收 10 总得分/等级 评语: 注:最终成绩以五级分制记。优(90-100分)、良(80-89分)、中(70-79分)、 及格(60-69分)、60分以下为不及格                       指导教师签名:                   2011 年 月 日
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服