首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 消费类电子 > 矩阵键盘的实现方法

矩阵键盘的实现方法

资料介绍
矩阵键盘的实现方法

矩阵键盘的实现方法
—————2010年5月于杨国宏无锡

在我们学习单片机的过程中,经常遇到的实验就是矩阵键盘的实验,如何理解键盘的识
别方法也是在以后经常遇到的事情,因此搞清楚矩阵键盘至关重要。本文就此详细介绍
一种矩阵键盘的使用方法。
[pic]

如上图,所示即为我系统板的硬件电路,矩阵键盘的高四位和低四位接到P1口,P3口接
的是一只数码管。我们今天要完成的是按下一个按键,数码管显示不同的数值,我们就
此显示到0到F。

我们的思路是不断的检测P1口的状态数,当然我们就需要给P1口先给数据才可以检测,
我们可以先给P1口00001111,然后再给P1口11110000,再将两次给的数据使用或指令,得
到一个数值,当没有按键按下的时候,只要是检测P1口数据,就是11111111,而有按键
按下的时候数值就不再是11111111了。然后根据不同的按键键码值,给与数码管相应的
显示。如上图所示当按下不同的按键时,相应的键码值都已在图中标识。下面就给出一
段程序:

#include
#define uchar unsigned char
#define uint unsigned int
/*P1为4X4键盘的高四位与低四位硬件接线,P3为具体接数码管显示表示不同事件*/
void main ()
{

uchar pz,pg,pd;

P1=0x0f;
pd=P1;
P1=0xf0;
pg=P1;
pz=pd+pg;
if(pz!=255)

{
switch(pz)
{
case 0xee: /*1110 1110 第一列键盘开始键码值 */
P3=0x00;
break;
矩阵键盘的实现方法
本地下载

评论