微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 51单片机矩阵键盘控制液晶显示菜单问题求助!急啊!

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

时间:10-02 整理:3721RD 点击:
下面的程序 是用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

定时器中断一次就对键盘进行扫描,然后得到行值和列值,就知道摁了哪个键然后执行相应的操作

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top