微机原理实验4.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 实验四、软中断、硬中断程序设计 一、实验目的 通过对软中断、可屏蔽硬中断程序的编写和调试, 掌握IBM-PC机的软中断、可屏蔽硬中断程序的编写和调试, 掌握 IBM PC 系列微机的中断系统及中断程序设计方法。 * 二、实验任务 1.编写一个类型为60H的中断程序,其功能发出一阵铃响, 在主程序中用中断INT60H调用该中断程序。 2 .可屏蔽硬中断程序设计 (1) 改写键盘硬中断子程 每按下一个键,在屏幕上将该键对应的扫描码 以二进制形式显示出来。 (2) 利用键盘控制定时显示功能 每隔1秒钟显示字符串’Can I help you ? ’, 当按下一个键时,则停止定时显示功能, 再按下一键时,恢复定时显示功能。 * 3.(选作) 用TPC-1 型微机实验箱上单脉冲电路产生的正脉冲信号做中断源, 依次检测 PC 总线上的中断申请插孔IRQ2~IRQ7, 确定哪些未被微机系统占用。 * 三、实验说明 关于任务1 (1) 进行软中断程序设计最好使用DOS系统保留给用户应用的中断类型,否则处理不当,会引起意想不到的后果。 (2) 用INT 60H即可调用60H中断子程 60H属于系统保留给用户的软中断类型号, 只要在中断向量表0 :4?60H单元中存放用户编写的60H中断程序入口地址,用INT 60H即可调用60H中断子程 。 * 2. 关于任务2(1) 键盘中断类型号为09H,编写键盘硬中断程序要点是: (1) 键盘接口按下键和释放键都向 8259A 发出中断申请 若满足响应条件: 对键盘上的一个按键操作(包括按下键和释放键), CPU 将执行两次键盘中断(按下键一次,释放键一次)。 (2) CPU 响应键盘中断时 可从 60H 端口读取按下键的扫描码, 可据扫描码的最高位确定是按下键操作还是释放键操作, 最高位为 1 (扫描码为断码),则说明是释放键引起的中断; 最高位为 0 (扫描码为通码),则说明是按下键引起的中断。 * (3) 若在IBM PC和XT上 在读取扫描码后,应置键盘应答信号,键盘接口才能 为接收下一个键做好准备。置键盘应答位的方法是: 先将 61H 端口的最高位置 1, 再将 61H 的最高位置 0。 原理可参看键盘接口有关资料。 若在AT及以上微机做实验, 在读取扫描码后,可不用键盘应答信号。 * 在PC和XT机上,键盘中断处理程序中置键盘应答和判断通码、断码的过程: PUSH AX ;保存寄存器值(保存现场) IN AL,60H ;读扫描码 MOV AH,AL ;保存在AH中 IN AL,61H ;置键盘应答 OR AL,80H OUT 61h,AL ;使61H口最高位为1 AND AL,7FH OUT 61H,AL ;使61H口最高位为0 TEST AH,80H ;检查是按下键还是释放键,即是通码吗? JNZ release ;不是通码则转去作释放键处理 …… ;按下键处理 release: ;释放键处理 …… MOV AL,20H ;发中断结束 OUT 20H,AL POP AX ;恢复寄存器值(恢复现场) IRET ;中断返回 * 在AT及以上微机,去掉键盘应答部分,键盘中断处理程序可简化为: PUSH AX ;保存寄存器值(保存现场) IN AL,60H ;读扫描码 TEST AL,80H ;检查是按下键还是释放键,即是通码吗? JNZ release ;不是通码则转去作释放键处理 …… ;按下键处理 release: ;释放键处理 …… MOV AL, 20H ;发中断结束 OUT 20H,AL POP AX ;恢复寄存器值(恢复现场) IRET ;中断返回 * (4) 在键盘中断处理程序的最后应发中断结束命令, 否则将屏蔽键盘中断。 * 3. 关于任务2 (2) 要用到定时和键盘两个中断源。 可在任务2(1)的基础上完成, 在键盘中断子程中,设置一个标志变量 flag, 用以区分是奇数次按键还是偶数次按键。 对奇数次按键,可重置 8259A 的屏蔽字,屏蔽定时器中断,使 CPU 不再响应定时中断,从而停止了定时显示功能; 对偶数次按键,则清除对定时中断的屏蔽,以恢复定时显示的功能。 * 关于任务3(选做) 计算机上实际配置的外设不同,8259A的IR2~IR7的 占用情况也就会不同。

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档