|
#include<reg51.h>
#include<intrins.h>
#include"lcd.h"
sbit k1=P1^0;
sbit k2=P1^1;
sbit k3=P1^2;
typedef unsigned int u16; //對(duì)數(shù)據(jù)類(lèi)型進(jìn)行聲明定義
typedef unsigned char u8;
static int flag =0; //標(biāo)記
void delay(u16 i) //延時(shí)
{
while(i--);
}
void menu0 ()
{
Lcd1602_Write_Cmd(0x01);
LcdShowStr(0,0," hello ") ;
delay(1000);
}
void menu1 ()
{
Lcd1602_Write_Cmd(0x01);
LcdShowStr(0,0," welcome ") ;
delay(1000);
}
void menu2 ()
{
Lcd1602_Write_Cmd(0x01);
LcdShowStr(0,0," nihao ") ;
delay(1000);
}
void keyscan()
{
if(k1==0)
{
delay(1000);
if(k1==0)
{
flag=1;
}
}
if(k2==0)
{
delay(1000);
if(k2==0)
{
flag=2;
}
}
if(k3==0)
{
delay(1000);
if(k3==0)
{
flag=0;
}
}
}
void menu()
{
keyscan();
switch(flag)
{
case 0:
{
menu0();
}
break;
case 1:
{
menu1();
break;
}
case 2:
{
menu2();
break;
}
}
}
void main(void)
{
InitLcd1602();
while(1)
{
menu();
delay(5000);
}
}
已經(jīng)改好了具體的功能是一開(kāi)始顯示第一個(gè)菜單hello 當(dāng)?shù)谝话存I按下時(shí)顯示第二個(gè)菜單,welcome,當(dāng)?shù)诙䝼(gè)按鍵按下時(shí)顯示第第三個(gè)菜單,當(dāng)?shù)谌齻(gè)按鍵按下時(shí),顯示第一個(gè)菜單,也就是返回鍵。一開(kāi)始的程序里面沒(méi)想清楚switch語(yǔ)句的用法所以搞錯(cuò)了 。謝謝各位啦。具體的菜單想要什么就改動(dòng)就可以了~ |
|