单片机/MCU论坛
直播中

罗克老狼

12年用户 4经验值
擅长:模拟技术
私信 关注
[问答]

51单片机矩阵键盘控制液晶显示菜单问题求助!急啊!!!

下面的程序 是用4个键来控制12864的菜单上下选择并确认,这种方法很简单,只要判断高低状态就可以了,但是现在想用4*4的矩阵键盘来控制,。矩阵键盘接在P2口上。矩阵键盘是通过定时器中断来获得键值的。原来的程序如下,请问各位大侠们怎么改啊。急啊!!!

while(ok)     //OK为P1.1口,控制确认键
{
if(up==0)      //up=P1.2,向上
{
select--;
if(select==-1)
select=3;
while(!up);//等待松手         
}
if(down==0)   //up=P1.2,向上
{
select++;
if(select==4)
select=0;
while(!down);//等待松手
}
menu_page(select);//反白选择
while(ok&up&down); //如果没有按键则等待
}
while(!ok);  //等待松手
switch(select)
{
case 0: set_temp();break;//设置温度
case 1: set_humi();break;//设置湿度
case 2: set_temp2();break;//设置土温
case 3: set_humi2();break;//设置土湿
default:break;
}
delay

回帖(2)

yuying2015

2013-3-29 16:23:54
定时器中断一次就对键盘进行扫描,然后得到行值和列值,就知道摁了哪个键然后执行相应的操作
举报

╭腐朽的誓言只

2013-3-29 22:34:19
我做毕业设计业用到这个  矩阵按键的中断程序我会   但是我不会lcd菜单显示  你能把你的整个程序发给我吗?
中断矩阵可以直接用单片机内部中断int0  矩阵按键连接好之后,按键的一个公共端用与门连接到单片机的内部中端口上,程序  就在中断扫描哪个按键被按下,这个网上应该很多
举报

更多回帖

发帖
×
20
完善资料,
赚取积分