版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1实验四、实验四、软中断、硬中断程序设计软中断、硬中断程序设计一、实验目的一、实验目的 通过对软中断、可屏蔽硬中断程序的编写和调试,通过对软中断、可屏蔽硬中断程序的编写和调试, 掌握掌握IBM-PC机的软中断、可屏蔽硬中断程序的编机的软中断、可屏蔽硬中断程序的编写和调试,写和调试, 掌握掌握 IBM PC 系列微机的中断系统及中断程序设计系列微机的中断系统及中断程序设计方法。方法。2二、实验任务二、实验任务1编写一个类型为编写一个类型为60H的中断程序,其功能发出一阵铃响,的中断程序,其功能发出一阵铃响,在主程序中用中断在主程序中用中断INT60H调用该中断程序。调用该中断程序。2 .可屏蔽硬
2、中断程序设计可屏蔽硬中断程序设计(1) 改写键盘硬中断子程改写键盘硬中断子程 每按下一个键,在屏幕上将该键对应的扫描码每按下一个键,在屏幕上将该键对应的扫描码 以二进制形式显示出来。以二进制形式显示出来。(2) 利用键盘控制定时显示功能利用键盘控制定时显示功能 每隔每隔1秒钟显示字符串秒钟显示字符串Can I help you ? , 当按下一个键时,则停止定时显示功能,当按下一个键时,则停止定时显示功能, 再按下一键时,恢复定时显示功能。再按下一键时,恢复定时显示功能。33.(选作)选作)用用TPC-1 型微机实验箱上单脉冲电路产生的正脉冲信型微机实验箱上单脉冲电路产生的正脉冲信号做中断源,
3、号做中断源,依次检测依次检测 PC 总线上的中断申请插孔总线上的中断申请插孔IRQ2IRQ7,确定哪些未被微机系统占用。确定哪些未被微机系统占用。4三、实验说明三、实验说明1. 关于任务关于任务1(1) 进行软中断程序设计最好使用进行软中断程序设计最好使用DOS系统保留给用户应用系统保留给用户应用的中断类型,否则处理不当,会引起意想不到的后果。的中断类型,否则处理不当,会引起意想不到的后果。(2) 用用INT 60H即可调用即可调用60H中断子程中断子程 60H属于系统保留给用户的软中断类型号,属于系统保留给用户的软中断类型号,只要在中断向量表只要在中断向量表0 :460H单元中存放用户编写的
4、单元中存放用户编写的60H中断中断程序入口地址,用程序入口地址,用INT 60H即可调用即可调用60H中断子程中断子程 。52. 关于任务关于任务2(1)键盘中断类型号为键盘中断类型号为09H,编写键盘硬中断程序要点是,编写键盘硬中断程序要点是:(1) 键盘接口键盘接口按下键和释放键按下键和释放键都向都向 8259A 发出中断申请发出中断申请若满足响应条件:若满足响应条件:对键盘上的一个按键操作对键盘上的一个按键操作(包括按下键和释放键包括按下键和释放键),CPU 将执行两次键盘中断将执行两次键盘中断(按下键一次,释放键一次按下键一次,释放键一次)。(2) CPU 响应键盘中断时响应键盘中断时
5、可从可从 60H 端口读取按下键的扫描码,端口读取按下键的扫描码,可据扫描码的最高位确定是按下键操作还是释放键操作,可据扫描码的最高位确定是按下键操作还是释放键操作,最高位为最高位为 1 (扫描码为断码扫描码为断码),则说明是释放键引起的中断;,则说明是释放键引起的中断;最高位为最高位为 0 (扫描码为通码扫描码为通码),则说明是按下键引起的中断。,则说明是按下键引起的中断。6(3) 若在若在IBM PC和和XT上上在读取扫描码后,应置键盘应答信号,键盘接口才能在读取扫描码后,应置键盘应答信号,键盘接口才能 为接收下一个键做好准备。置键盘应答位的方法是:为接收下一个键做好准备。置键盘应答位的方
6、法是:先将先将 61H 端口的最高位置端口的最高位置 1,再将再将 61H 的最高位置的最高位置 0。原理可参看键盘接口有关资料。原理可参看键盘接口有关资料。若在若在AT及以上微机做实验,及以上微机做实验,在读取扫描码后,可不用键盘应答信号。在读取扫描码后,可不用键盘应答信号。7在在PC和和XT机上,键盘中断处理程序中置机上,键盘中断处理程序中置键盘应答和键盘应答和判断通码、断码判断通码、断码的过程:的过程:PUSHAX;保存寄存器值;保存寄存器值(保存现场保存现场)INAL,60H;读扫描码;读扫描码MOVAH,AL;保存在;保存在AH中中INAL,61H;置键盘应答;置键盘应答ORAL,8
7、0HOUT61h,AL;使;使61H口最高位为口最高位为1ANDAL,7FHOUT61H,AL;使;使61H口最高位为口最高位为0TESTAH,80H;检查是按下键还是释放键,即是通码吗;检查是按下键还是释放键,即是通码吗?JNZrelease;不是通码则转去作释放键处理;不是通码则转去作释放键处理;按下键处理;按下键处理release:;释放键处理;释放键处理MOVAL,20H;发中断结束;发中断结束OUT20H,ALPOPAX;恢复寄存器值;恢复寄存器值(恢复现场恢复现场)IRET;中断返回;中断返回8在在AT及以上微机,去掉键盘应答部分,及以上微机,去掉键盘应答部分,键盘中断处理程序键盘
8、中断处理程序可简化为:可简化为:PUSHAX;保存寄存器值;保存寄存器值(保存现场保存现场)INAL,60H;读扫描码;读扫描码TESTAL,80H ;检查是按下键还是释放键,即是通码吗;检查是按下键还是释放键,即是通码吗?JNZrelease;不是通码则转去作释放键处理;不是通码则转去作释放键处理;按下键处理;按下键处理release:;释放键处理;释放键处理MOVAL, 20H;发中断结束;发中断结束OUT20H,ALPOPAX;恢复寄存器值;恢复寄存器值(恢复现场恢复现场)IRET;中断返回;中断返回 9(4) 在键盘中断处理程序的最后应发中断结束命令,在键盘中断处理程序的最后应发中断结
9、束命令,否则将屏蔽键盘中断。否则将屏蔽键盘中断。103. 关于任务关于任务2 (2)要用到定时和键盘两个中断源。要用到定时和键盘两个中断源。可在任务可在任务2(1)的基础上完成的基础上完成,在键盘中断子程中,设置一个标志变量在键盘中断子程中,设置一个标志变量 flag,用以区分是奇数次按键还是偶数次按键。用以区分是奇数次按键还是偶数次按键。对奇数次按键对奇数次按键,可重置,可重置 8259A 的屏蔽字,屏蔽定时的屏蔽字,屏蔽定时器中断,使器中断,使 CPU 不再响应定时中断,从而停止了定时显不再响应定时中断,从而停止了定时显示功能;示功能;对偶数次按键,对偶数次按键,则清除对定时中断的屏蔽,以
10、恢复定则清除对定时中断的屏蔽,以恢复定时显示的功能。时显示的功能。114. 关于任务关于任务3(选做选做)计算机上实际配置的外设不同,计算机上实际配置的外设不同,8259A的的IR2IR7的的占用情况也就会不同。占用情况也就会不同。利用利用PC 总线上的中断申请插孔总线上的中断申请插孔IRQ2IRQ7,自编程序,自编程序进行检测。进行检测。(1) IRQ2IRQ7对应的中断类型号为对应的中断类型号为0A0FH。(2) 在中断子程中,显示字符串在中断子程中,显示字符串Interrupt is OK!。 对可用的中断申请插孔对可用的中断申请插孔,运行的结果是,运行的结果是能够正常显能够正常显示示该
11、该字符串字符串; 对于发生冲突的不可用中断申请插孔对于发生冲突的不可用中断申请插孔,运行的结果运行的结果是是不能够正常显示该字符串不能够正常显示该字符串,甚至出现死机等异常情况。,甚至出现死机等异常情况。125. 有关有关8259A (1)IBM PC 系列微机的可屏蔽中断系统由主板上的系列微机的可屏蔽中断系统由主板上的8259A控控制。制。(2)8259A是一个可编程中断控制器是一个可编程中断控制器IBM PC和和XT机使用机使用1片片8259A,可管理,可管理8个中断申请,个中断申请,IBM PC/AT及以上微机使用及以上微机使用2片片8259A级连,可管理级连,可管理15个中断申请。主个
12、中断申请。主8259A的端口地址为的端口地址为20H和和21H。(3)BIOS对主对主8259A的设置如下:的设置如下:q边沿触发方式,当输入端边沿触发方式,当输入端IR0IR7出现上升沿信号时,发出中断申出现上升沿信号时,发出中断申请信号。请信号。q中断向量初值为中断向量初值为08H,IR0IR7对应的中断类型号为对应的中断类型号为08H0FH。q固定优先级,固定优先级,IR0优先级最高,优先级最高,IR7优先级最低。优先级最低。q一般屏蔽方式,用中断屏蔽寄存器一般屏蔽方式,用中断屏蔽寄存器IMR控制各级中断的允许或屏控制各级中断的允许或屏蔽。蔽。q一般全嵌套方式,中断服务结束时,需发中断结
13、束命令一般全嵌套方式,中断服务结束时,需发中断结束命令EOI,清除,清除ISR中的记录,否则屏蔽同级或低级的中断。中的记录,否则屏蔽同级或低级的中断。13(4) 每片每片8259A有有8个中断申请输入端个中断申请输入端IR0IR7 主主8259A的连接情况如下:的连接情况如下: IR0 与主板上的与主板上的8253计数器计数器0相连,该计数器输出频率相连,该计数器输出频率为为18.2hz的方波。的方波。 IR1 与键盘接口发出的中断申请相连。与键盘接口发出的中断申请相连。 IR2 IR7 分配给其它外设,或未使用。分配给其它外设,或未使用。 在在PC总线上可由插孔总线上可由插孔IRQ2IRQ7
14、引入中断申请信号。引入中断申请信号。14(5) 有关有关8259A的编程:的编程:q 设置中断屏蔽字设置中断屏蔽字中断屏蔽寄存器的端口地址为中断屏蔽寄存器的端口地址为21H。通过改变中断屏蔽寄存器各位的值实现:通过改变中断屏蔽寄存器各位的值实现:某位为某位为0,允许该级中断申请进入;,允许该级中断申请进入;某位为某位为1,禁止该级中断申请进入。,禁止该级中断申请进入。例:新增允许例:新增允许IR2的中断申请的中断申请 INAL,21H;读入原;读入原IMR的内容的内容ANDAL,11111011B;新增允许;新增允许IR2的中断申请的中断申请OUT21H,AL;写入中断屏蔽寄存器;写入中断屏蔽
15、寄存器IMR例:屏蔽例:屏蔽IR7的中断申请的中断申请INAL,21H;读入原;读入原IMR的内容的内容 ORAL,10000000B;屏蔽;屏蔽IR7的中断申请的中断申请OUT21H,AL;写入中断屏蔽寄存器;写入中断屏蔽寄存器IMR15(6) 发中断结束命令发中断结束命令EOI通过往通过往8259A的偶地址写入的偶地址写入20H实现,实现,8259A的偶地址为的偶地址为20H,指令如下:,指令如下:MOV AL,20H OUT20H,AL 16(7)可屏蔽硬中断程序的编写方法可屏蔽硬中断程序的编写方法 保存原中断向量可用保存原中断向量可用DOS的的35H功能调用。功能调用。 设置新中断向量
16、和恢复原中断向量可用设置新中断向量和恢复原中断向量可用DOS的的25H功能调用。功能调用。中断向量的类型号由中断源与中断向量的类型号由中断源与8259A的连接关系确定。的连接关系确定。主程完成与中断有关的设置工作后,主程完成与中断有关的设置工作后,即可进行其它工作的处理,通常此处可用一双重循环延时程序段,或用即可进行其它工作的处理,通常此处可用一双重循环延时程序段,或用计数中断子程被执行次数,或用判断是否有按键动作等代替。计数中断子程被执行次数,或用判断是否有按键动作等代替。 在结束主程,返回在结束主程,返回DOS之前,应据中断源的不同情况做处理:之前,应据中断源的不同情况做处理: 或恢复原中
17、断向量,或通过设置或恢复原中断向量,或通过设置8259A的中断屏蔽字屏蔽对此级中断源的中断屏蔽字屏蔽对此级中断源 的反应。的反应。 中断子程中,处理中断源请求的任务,在中断返回前,应发中断结束命中断子程中,处理中断源请求的任务,在中断返回前,应发中断结束命令令EOI。图图1和图和图2分别是可屏蔽硬中断的主程序和中断子程序流程图。分别是可屏蔽硬中断的主程序和中断子程序流程图。17开始开始CLI关中断关中断 保存原中断向量保存原中断向量 设置新中断向量设置新中断向量 设置设置8259A的中断屏蔽字的中断屏蔽字 中断子程有关量的初始化中断子程有关量的初始化 STI开中断开中断 主程其它工作处理主程其
18、它工作处理 (可用双重循环延时代替可用双重循环延时代替) 恢复原中断向量恢复原中断向量返回返回DOS 图图1 主程序流程图主程序流程图开始开始 保存现场保存现场 完成中断源完成中断源 申请的任务申请的任务 发中断结束命令发中断结束命令EOI 恢复现场恢复现场 IRET中断返回中断返回图图2 中断子程流程图中断子程流程图18三、实验箱上相关电路三、实验箱上相关电路 参看附参看附3,了解,了解TPC-1 型微机实验系统,掌握实验箱上型微机实验系统,掌握实验箱上IBM PC/XT 总线、单脉冲电路和总线、单脉冲电路和8MHz脉冲电路。脉冲电路。图图3-1 TPC-1型实验箱实物型实验箱实物1、TPC
19、-1型实验箱实物型实验箱实物19 60 芯 扁 平 电 缆 插 槽 电源开关电源开关J6PC总线插槽1PC总线插槽2PC总总线线插插孔孔排排 DAC0832U18U16U42CSAOUTU11RAM 6116A9A10A8 A7 A6 A5 A4 A3 A2 A1 A0U39DMAU14U20U43U13U15U381J41J31J2JSDRQADC0809IN0IN1IN2 IN3 IN4IN5IN6 IN7EOC500kHzCS8253CLK1CLK2CLK3CSOUT1OUT2OUT3GATE1GATE2GATE3U37U1074LS138U44U27U28U32U26ABQ3Q2Q1Q
20、0Q7Q6Q5Q474LS393Q11Q10Q9Q8Q15Q14Q13Q1274LS393200-207208-20F210-217218-21F220-227228-22F230-237238-23FPB3PB4PB5PB6P B 73PC0PC1PC2PC3PC4PC5PC6PC7W G O 4 8 CX M 1 5 9 DY P 2 6 A ES R 3 7 B FPB2PB1PB0PA7PA6PA5PA4PA3PA2PA1PA0CS8251ARxRDYTxCRxCCSTxRDYTxE14881489RTSDTRGNDRxDTxDU45L2 L1 L3L4L5L6 L7L8L9L10L11L12K2 K1 K3 K4K5 K6 K7 K8K9K10K11K12GND+5v+12v-5v-12v8MHz 可可 调调 电电 阻阻12 个个 逻逻 辑辑 电电 平平 开开 关关12 个个 发发 光光 二二 极极 管管RESU33CSU9U1U2U3U6U4U7U40U41U29U30U31U34 面包板面包板8255A图3-2 TPC-1型实验箱面板布置图型实验箱
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络安全教育课件图文完美版
- 合规转利润:降本增效全指南(2026)《GBT 39300-2020含铬电镀污泥处理处置方法》
- 标识设施安装实施方案
- 合规转利润:降本增效全指南(2026)《GBT 39183-2020消费品中亚硝胺迁移量的测定 气相色谱-串联质谱法》
- 2026年浙江省人教版初中数学下册概率统计综合测试题
- 合规转利润:降本增效全指南(2026)《GBT 39043-2020游乐设施风险评价 危险源》
- 合规转利润:降本增效全指南(2026)《GBT 38697-2020块菌(松露)鲜品质量等级规格》从合规成本到利润增长全案:避坑防控+降本增效+商业壁垒构建
- 运动康复概论与分类
- 《生产运作与生产率管理》-第九章
- JJF(晋) 178-2026新能源汽车检验用底盘测功机校准规范
- 2027届高考语文复习:厘清语法逻辑 解锁语用考题 课件
- 2026天津地铁1号线综合站务员招聘笔试备考试题及答案详解
- 培智数学16册全册教学设计
- 2026年中国广电5g试题及答案
- 电梯装修施工方案
- GB/T 47911-2026小微型企业安全生产标准化管理体系要求
- 自动化胰岛素输注系统临床应用护理专家共识(2026版)
- 2026年秋季小学数学苏教版六年级上册数学教学计划含教学进度表
- SYT 6696-2025《储油罐机械清洗作业规程》
- 2026年部编版新教材道德与法治小学三年级上册全册教案(含教学计划)
- 英语报刊选读第一章文体概述
评论
0/150
提交评论