外中断笔记1

1.cpu——端口(外部寄存器)——外设芯片——外设硬件
2.外中断源:
(1)可屏蔽中断:
如果if=1,则响应中断
如果if=0,则不响应中断
与内中断的不同点:中断类型码通过数据线传入
设置if位的指令:sti        cli
(2)不可屏蔽中断:
中断类型码固定为2
与内中断的不同点:不用取中断类型码
3.谁发出外中断的问题:中断由各芯片(主板上的,不是外设硬件中的)发出
4.pc机键盘(个人认为就是矩阵键盘+扫描处理程序,即可以用单片机实现)的处理过程:
(1)键盘中的芯片对每个键的状态进行扫描
(2)按下一个键,开关接通,芯片产生扫描码,扫描码说明按键位置。
(3)扫描码被送入主板相关接口芯片的寄存器中,端口地址:60h
(4)松开按键,也产生扫描码,也送入60h
(5)扫描码长度1字节
通码:按下时的扫描码,第七位为0
断码:松开时的扫描码,第七位为1
断码=通码+80h
(6)int 9
是bios中断
主要工作:
<1>读出60h的扫描码
<2>如果是字符键的扫描码,则将扫描码和相应ascii码送入内存中的bios键盘缓冲区。
如果是控制键,则转换为状态字节,写入内存中0040:17字节单元
*关于键盘缓冲区:可存储15个键盘输入,一个键盘输入用一个字,低位字节ascii码,高位字节扫描码。
*0040:17信息:

5.下面是键盘处理过程的一个感性认识图。。:

6.通过以上知识点的总结,我发现了一个显而易见的结论:键盘先于操作系统启动(处理程序在bios中)。

 

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>