程序預覽:
#include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
#include<intrins.h>
#include<key1.h>
#include<key1.c>
#include<1602.h>
#include<1602.c>
unsigned char hh=0,ho=1,i=0,LCD_L=0,LCD_H=3; //LCD_H 如1602=1 1604=3
unsigned char dis=0,dis_botton=0,dis_top=3;
unsigned char menu_upmax=6,dis_huo=0; //dis_huo在0-3之間 menu_upmax 0-6
char menu1[] ="1.sick";
char menu2[] ="2.tamagawa";
char menu3[] ="3.heide";
char menu4[] ="4.ltn";
char menu5[] ="5.opt";
char menu6[] ="6.66666";
char menu7[] ="7.77777";
char *MENU[]={menu1,menu2,menu3,menu4,menu5,menu6,menu7};
void main(void)
{
LCD_Init() ;
LCD_Clear() ;
while(1)
{
key_scan();
for(i=0;i<4;i++)
{
LCD_Write_String(1,i,MENU[dis_botton+i]);
}
LCD_Write_String(0,hh,"*");
LCD_Write_String(0,ho," ");
if(dis_top<menu_upmax)
{
if(key_num==4) //加
{
key_num=0;
if(dis_huo>=LCD_H)
{
dis_top++;
dis_botton++;
}
if (dis_huo<LCD_H)
{
dis_huo++;
ho=hh;
hh++;
}
}
}
if(dis_botton>0) //減
{
if(key_num==3)
{
key_num=0;
if(dis_huo<=LCD_L)
{
dis_top--;
dis_botton--;
}
if (dis_huo>LCD_L)
{
dis_huo--;
ho=hh;
hh--;
}
}
}
}
}
|