实验三(实验报告)-键盘中断..docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三(实验报告)-键盘中断.

实验三 中断程序设计 学号 201216008 姓名 孙坤 专业 电子信息科学与技术 成绩 【实验目的】 认识微机系统的中断特性。 学习8259中断控制器的工作原理。 学习8259中断控制器的应用编程。 掌握使用PC机内8259的方法 掌握修改中断向量的方法。 【实验原理及内容】 1、实验原理: 我们利用IBM-PC机的8259A,利用键盘输入作为中断请求信号,通过IRQ1来申请中断。 2、实验内容: 当用户每按下一次键盘上的按键时,即相当于从IRQ1端向计算机内部的8259A发送一次中断请求,该中断的服务是将“THIS IS A INTERRUPT!”显示在屏幕上。中断10次后程序退出。 3、编程提示: 1)PC微机系统中的8259 在80x86系列PC微机系统中,系统中包含了两片8259A中断控制器,经级连可以管理15级硬件中断,但其中部分中断号已经被系统硬件占用,具体使用情况如下表所示。两片8259A的端口地址为:主片8259使用020H和021H两个端口;从片使用0A0H和0A1H两个端口。系统初始化两片8259的中断请求信号均采用上升沿触发,采用全嵌套方式,优先级的排列次序为0级最高,依次为1级、8级~15级,然后是3级~7级。 在扩展系统总线上的INTR对应的中断线就是PC机保留中断其中的一个。对INTR中断的初始化PC机已经完成,在使用时主要是将其中断屏蔽打开,修改中断向量。 表 PC微机系统中的硬件中断 中断号 功能 中断向量号 中断向量地址 主8259A IRQ0 日时钟/计数器0 08H 0020H~0023H 主8259A IRQ1 键盘 09H 0024H~0027H 主8259A IRQ2 接从片8259A 0AH 0028H~002BH 主8259A IRQ3 串行口2 0BH 002CH~002FH 主8259A IRQ4 串行口1 0CH 0030H~0033H 主8259A IRQ5 并行口2 0DH 0034H~0037H 主8259A IRQ6 软盘 0EH 0038H~003BH 主8259A IRQ7 并行口1 0FH 003CH~003FH 从8259A IRQ8 实时钟 70H 01C0H~01C3H 从8259A IRQ9 保留 71H 01C4H~01C7H 从8259A IRQ10 保留 72H 01C8H~01CBH 从8259A IRQ11 保留 73H 01CCH~01CFH 从8259A IRQ12 保留 74H 01D0H~01D3H 从8259A IRQ13 协处理器中断 75H 01D4H~01D7H 从8259A IRQ14 硬盘控制器 76H 01D8H~01DBH 从8259A IRQ15 保留 77H 01DCH~01DFH 2)键盘中断注意事项 PC机中使用的是编码键盘,在键盘内部有一单片机对整个键盘上的字符键、功能键、控制键和组合键进行管理,当从键盘上键入一个键时,键盘上的处理器首先向微机产生硬件中断请求(IRQ1),然后将改键的扫描码传送给主机。而PC主机在IRQ1中断的作用下,调用INT 09硬件中断读入键盘的扫描码,并转换成ASCII码,存入键盘缓冲区。本实验中的键盘中断处理程序必须对键盘控制器完成键盘复位1.复位键盘控制器只需读出端口61H的内容,并将最高位置1,再写入该端口。此外,按键按下和抬起均会引起中断,所以实验中断相应次数等于按键次数乘以2。所以,重点如下: PC主机在IRQ1中断的作用下,调用INT 09硬件中断读入键盘的扫描码,并转换成ASCII码,存入键盘缓冲区 ; IN AL,60H ;读入扫描码(用户可对此键值进行处理)IN AL,61H ;读入控制字节 MOV AH,AL OR AL,80H OUT 61H,AL ;复位键盘2。 中断服务结束返回前要使用中断结束命令: MOV AL,20H ;中断结束命令送中断控制器 OUT 20H,AL 【实验程序及步骤】 DATA SEGMENT MESSAGE DB THIS IS A INTERRUPT,$ OLD_VCT DW ?,? OLD_IMR DB ? INT_CNT DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AL,09H MOV AH,35H

文档评论(0)

sfkl + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档