APP下载

试述51系列单片机矩阵键盘编程

2011-09-23谭成豪许建明

科技传播 2011年6期
关键词:邵阳赋值按键

谭成豪,许建明

邵阳学院信息工程系,湖南邵阳 422000

试述51系列单片机矩阵键盘编程

谭成豪,许建明

邵阳学院信息工程系,湖南邵阳 422000

在单片机系统中,常常使用键盘向单片机输入信息。键盘由一组常开的按键组成,当按键闭合时就会向单片机系统输入一个电平信息。每个按键都被赋予了一个键码,单片机根据此代码执行任务。在单片机系统按键数量较多时,为了减少I/O口的使用通常使用矩阵键盘。

单片机;键盘;矩阵键盘;I/O口

1 矩阵键盘的结构

矩阵键盘的按键排成矩阵,一般是4×4矩阵,即4行4列,行和列的交叉点接一个常开的独立按键,按键被闭合时就接通行线和列线。8个I/O口产生16个交叉点16个按键,按键数量比独立按键多了一倍,9个I/O口产生20个按键, I/O口越多产生的按键数量越多,效果越明显。可以在键盘扫描程序中对每个按键进行编号,如第一行按键从左到右对应0、1、2、3,第二行按键从左到右对应4、5、6、7,第三行按键从左到右对应8、9、A、B,第四行按键左到右对应C、D、E、F,每按一次键让数码管显示该按键所代表的编号。

2 矩阵键盘的工作原理

矩阵键盘结构比独立键盘复杂,识别难度也比独立按键大很多。矩阵键盘的工作方式有程序扫描方式、定时扫描方式、中断扫描方式3种。本文只讨论程序扫描方式。程序扫描方式是CPU主动调用扫描子函数,响应键盘的输入要求。在子函数里有以下步骤:

1)判断键盘中有无按键闭合;

2)延时去抖消除干扰;

3)检测是否确实有按键闭合,确定闭合键的编号;

4)等待闭合键的释放。

整个步骤中确定闭合键的编号是关键所在,常用的判断方法有逐行扫描法和反转扫描法。

3 硬件仿真

4×4矩阵键盘无需外接电源,电位变化完全由编程来决定。通过软件延时来消抖动,去干扰。4×4矩阵键盘4行4列交叉,每个按键位于交叉点上对应的行列号唯一,共16个按键。4×4矩阵键盘8个I/O口接P1口,7SEG-MPX2-AN-GREEN7段共阳极数码管通过上拉电阻接P0口。键盘中每闭合一个按键让数码管显示对应的编号。如上图所示。

4 编程思路

矩阵键盘编程要实现按键的正确判断、键值的确定和消除抖动去干扰三个目标,闭合键释放后才显示对应按键编号,目标程序要简洁易行。

4.1 逐行扫描法

此方法中,单片机每次扫描其中的一行,循环扫描四行。首先扫描第一行,给P1口赋值0xef,即第一行为低电平,其他行和所有列为高电平,当有第一行有按键闭合时,对应的列线电平会被拉低,软件延时消去抖动干扰后再读取P1口的值,如第一行第一列闭合了就会得到0xee,第一行第一列闭合了就会得到0xed,第一行第三列闭合了就会得到0xeb,第一行第四列闭合了就会得到0xe7;同理,检测第二行时,赋值0xdf给P1口,若各列有按键闭合则会分别得到0xde、0xdd、0xdb、0xd7,类推,检测第三行时赋值0xbf,若各列有按键闭合则会分别得到0xbe、0xbd、0xbb、0xb7,检测第四行时赋值0x7f,若各列有按键闭合则会分别得到0x7e、0x7d、0x7b、0x77然后单片机对应此值处理相应的任务。

4.2 反转扫描法

在这种方法中对单片机P1口赋值两次,第一次给P1口赋值0xf0,即高四位高低平,第四位低电平,若有按键闭合则高四位中对应的某一位会被线拉低,读取P1口的值,赋给一个中间变量这就确定了按键的行;第二次给P1口赋值0x0f,即高四位低低平,第四位高电平,若有键闭合则低四位中对应的某一位会被线拉低,读取P1口的值,赋给另一个中间变量,这样按键的行和列都确定了,然后再对两个变量进行“按位与”运算得到一个最终值,根据次值判断具体按键。从0~F依次是0xee、0xed、0xeb、0xe7、0xde、0xdd、0xdb、0xd7、0xbe、0xbd、0xbb、0xb7、0x7e、0x7d、0x7b、077。然后单片机对应此值处理相应的任务。

5 结论

使用键盘可以实现计算机的人机对话,可以更好的实现工业控制,在单片机I/O口资源紧张的情况下矩阵键盘大大缓解了I/O口资源的紧张,使单片机可以控制更多模块,实现更为强大的功能。

[1]张俊谟.单片机中级教程[M].北京航空航天大学出版社,2006,10.

[2]张洪润,兰清华.单片机应用技术教程[M].北京:清华大学出版社,1997,11.

TP368

A

1674-6708(2011)39-0197-01

谭成豪,学生,所在院校:邵阳学院电子科学与技术专业

指导老师:许建明,硕士研究生,工作单位:邵阳学院信息工程系,职务:教师

猜你喜欢

邵阳赋值按键
邵阳非物质文化遗产的视觉化设计与开发
L-代数上的赋值
邵阳学院艺术设计学院作品选登
基于有限状态机的按键检测程序设计
单圈图的增强型Zagreb指数的下界
邵阳三一工程机械与零部件再制造工程项目开工
强赋值幺半群上的加权Mealy机与加权Moore机的关系*
一种多方向导光按键结构设计
利用赋值法解决抽象函数相关问题オ
P2×Cn的友好标号集