12864并行多级菜单程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include "includes.h"
u8 key=0,hua;
extern u32 Second;
extern u32 minite,hour,day,k,month,year,shan;
u8 xingqi[]={"一二三四五六日"};
u8 ModeFlag=0,wei=0;//液晶界面选择
int main(void)
{
u8 PasswordIndex=0;//密码数组索引
u8 Password[4]={" "};//存储密码数组
BSP_Init();//初始化外部资源
ModeFlag=0;
while(1)
{
//////////////////////////////////////// 界面一//////////////////////////////////
if(ModeFlag==0)
{ LCD12864_Waddr(1,3);
LCD12864_WPoss(0,"WELCOME!");
LCD12864_Waddr(2,2);
LCD12864_WPoss(0,"--欢迎使用--");
Delay_1ms(8000);
LCD12864_Clear();
}
//////////////////////////////////////// 界面二//////////////////////////////////
// ModeFlag=0; ///// 改
while(ModeFlag==0) //进入登录界面
{
LCD12864_Waddr(1,1);
LCD12864_WPoss(0,"请输入登陆密码:");
LCD12864_Waddr(2,3);
//LCD12864_WPoss(0," ");
LCD12864_Waddr(3,1);
LCD12864_WPoss(0,"密码为四位数字");
LCD12864_Waddr(4,1);
LCD12864_WPoss(0,"删除*");
LCD12864_Waddr(4,6);
LCD12864_WPoss(0,"确定#");
key=Key_Scan();//键盘扫描
if(key_check==1)//检测是否有按键按下
{
if(key<='9'&&key>='0')//密码只能是数字
{
Password[PasswordIndex]=key;//存储输入的密码
// LCD12864_WPoss(0," ");
//////////////// 改动过
++PasswordIndex; //记录输入密码的次数
if(PasswordIndex>4) //如果次数超过4次返回重新输入
{
PasswordIndex=0;//清空索引
Password[0]=0;//清空数组
Password[1]=0;
Password[2]=0;
Password[3]=0;
LCD12864_Clear();
LCD12864_Waddr(3,1);
LCD12864_WPoss(0,"密码只能为四位");
Delay_1ms(4000);//延时两秒显示
LCD12864_Clear(); //延时清空
break;
}
if(PasswordIndex<=4)
{
LCD12864_Waddr(2,3);
LCD12864_WPoss(0,Password);//显示输入的密码
LCD12864_WPoss(0," ");
/// 改
}
//ModeFlag=10;//进入while(1) 重新开始
///// 改
}
if(key=='#') //确认密码
{
if(PasswordIndex<4)//密码位数少于4位则返回重新输入
{
PasswordIndex=0;
Password[0]=0;
Password[1]=0;
Password[2]=0;
Password[3]=0;
LCD12864_Clear();
LCD12864_Waddr(3,1);
LCD12864_WPoss(0,"密码只能为四位");
Delay_1ms(4000);
LCD12864_Clear();
break;
}
if(Password[0]=='1'&&Password[1]=='2'&&
Password[2]=='3'&&Password[3]=='4')
{//如果输入密码正确则进入计数界面
//
ModeFlag=2;
LCD12864_Clear();
//
// LCD12864_Waddr(1,5);
//
// LCD12864_WPoss(0,"00:00");
// LCD12864_Waddr(2,4);
//
// LCD12864_WPoss(0,"2013/01/01");
// LCD12864_Waddr(3,4);
// LCD12864_WPoss(0,"星期一");
//
// LCD12864_Waddr(4,6);
//
// LCD12864_WPoss(0,"返回*");
//
//
// Second=0;//计数器清零
// minite=0;//计数器清零
// hour=0;
// day=1;
// month=1;
}
else //如果密码错误重新输入
{
//ModeFlag=10;//进入while(1) 重新开始
LCD12864_Clear();