实验笔记11:中断查询式矩阵键盘 使用protues仿真,P0口接键盘,P2口接LED显示。这里要注意一下,只有在P0口接上拉电阻,接键盘的时候列才能被拉低,换了其它口则行被拉高。 原理是这样的: P0.0 P0.1 P0.2 P0.3 分别接第一行,第二行,第三行,第四行 P0.4 P0.5 P0.6 P0.7 分别接第一列,第二列,第三列,第四列 每列与双四输入与门 74LS21的一个输入管脚相连。 开始时,行为低电平,列为高电平,当有键按下时,行列导通,列被拉低,从而使与门74LS21输出低电平,产生中断。 在中断服务函数中判断是哪行,哪列的键被按下。 方法是: 所有行置高电平,再逐一拉低每一行,查询哪一列被拉低, 例如:如果第二行被拉低,那么可能按下的是5、6、7、8这四个键,那么具体是哪一个键被按下了呢?这就要判断哪一列是低电平,因为按键使行和列导通了,也就是说,行为低电平,与它相通的列也是低电平。如果此时检测到第一列是低电平,那么被按下的键就判断出来了是第二行,第一列,也就是5。 使用这种方法就实现了只有当有键按下的时候,CPU才去做键盘查询的工作,从而可以使CPU有更多的时间做其它处理工作。
|
|