22.简单的键盘中断测试

本文介绍了硬件连接中8042芯片作为键盘与处理器间数据传输的中间件,详细阐述了键盘中断的工作原理,包括通码、断码和三种按键状态。在程序部分,讲解了如何设置中断入口,新增中断号0x21对应的键盘中断处理,并展示了在`keyboard.c`和`keyboard.h`中实现的键盘初始化和中断处理函数,以及在`main.c`中如何开启中断。
摘要由CSDN通过智能技术生成

1. 硬件连接

先看一下硬件的连接:
在这里插入图片描述
键盘里有个 8048 芯片,当按下某个按键时, 8048 就把这个键对应的数值发送给 8042 ,8042就知道是哪个键被按下了,就会给 8259A 发送中断。

一个按键被按下,产生的编码叫通码(makecode),断开时叫断码(breakcode)。

按键有 3 种状态,“按下”、“按下保持”、“弹起”。

有好几种键盘扫描码,需要一个“中间件”来隐藏各套扫描码的差异,这个“中间件”就是 8042。

总结:处理器和键盘之间的数据传输、命令控制都是通过这一中间件——8042.

在这里插入图片描述
其实就是 2 个端口, 4 个寄存器。
在这里插入图片描述

2. 编写程序

键盘的中断信号接在 8259A 主片的 IR1 上,对应的中断号就是 0x21。
所以增加中断入口程序中的0x21通道。

VECTOR 0x21,ZERO	;键盘中断对应的入口
VECTOR 0x22,ZERO	;级联用的
VECTOR 0x23,ZERO	;串口2对应的入口
VECTOR 0x24,ZERO	;串口1对应的入口
VECTOR 0x25,ZERO	;并口2对应的入口
VECTOR 0x26,ZERO	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值