//--菜单11
--设置时间--
//--菜单12
--时间日期--
--菜单21
--设置闹钟--
--菜单22
主界面---
--菜单31
--菜单3--
--菜单32
--主菜单2--
--菜单41
--菜单4--
--菜单42
******************************************************/
#include <reg52.h>
#define uchar unsigned char
extern uchar code jiantou_shang[]; //上
extern uchar code jiantou_zhong[]; //中
extern uchar code jiantou_xia[]; //下
extern uchar code xiegang[]; ///
extern uchar code henggang[]; //-
extern uchar code maohao[]; //:
extern uchar code zhu[]; //主
extern uchar code cai[]; //菜
extern uchar code dan[]; //单
extern uchar code yan[]; //演
extern uchar code si[]; //示
extern uchar code cheng[]; //程
extern uchar code xu[]; //序
extern uchar code shi[]; //时
extern uchar code jian[]; //间
extern uchar code ri[]; //日
extern uchar code qi[]; //期
extern uchar code she[]; //设
extern uchar code zi[]; //置
extern uchar code nao[]; //闹
extern uchar code zhong[]; //钟
extern uchar code pic0[]; //图片
extern uchar code num0[]; //0
extern uchar code num1[]; //1
extern uchar code num2[]; //2
extern uchar code num3[]; //3
extern uchar code num4[]; //4
extern uchar code num5[]; //5
extern uchar code num6[]; //6
extern uchar code num7[]; //7
extern uchar code num8[]; //8
extern uchar code num9[]; //9
extern void Get1302(uchar ucCurtime[]);
extern void Set1302(uchar *pClock);
extern void settime_year(void);
extern void start(void);
extern unsigned char key_scan_once();
extern unsigned char key_scan_cyc();
extern void Set1302(uchar *pClock);
extern void Get1302(uchar ucCurtime[]);
extern void init_lcd (void);
extern void delay (unsigned int us);
extern void delay1 (unsigned int ms);
extern void disphz (uchar code *chn,uchar page,uchar line);
extern void dispzf (uchar code *eng,uchar page,uchar line);
extern void dispjt (uchar code *jiantou,uchar page);
extern void disptu (uchar code *img);
extern void wrlattice (uchar data1,uchar data2);
//00 //32 //23 //19 //12 //07 //05
//秒 //分 //时 //日 //月 //星期//年
uchar time_set[7]= {0x00,0x32,0x15,0x18,0x12,0x07,0x05};
uchar time_get[7];
//////////////////////////////////////////////////////////////
void zhujiemian(void);
void zhu_menu1(void);
void zhu_menu2(void);
void menu1(void);
void menu2(void);
void menu3(void);
void menu4(void);
void menu1_1(void);
void menu1_2(void);
void menu2_1(void);
void menu2_2(void);
void menu3_1(void);
void menu3_2(void);
void menu4_1(void);
void menu4_2(void);
void disptime(void);
uchar gewei(uchar zhi);
uchar shiwei(uchar zhi);
/////////////////////////////////////////////////////////////
/*********************************************************
函 数 名:zhu_menu1()
功 能:显示1级菜单的第一行
说 明:
调 用:disphz (uchar code *chn,uchar page,uchar line),
dispzf (uchar code *eng,uchar page,uchar line);
dispjt (uchar code *jiantou,uchar page);
入口参数:无
返 回 值:无
设 计: 汪建斌 日 期:2005-09-11
**********************************************************/
void zhu_menu1()
{
wrlattice (0x00,0x00); //清屏
// dispjt (jiantou_shang,0); //箭头上
dispjt (jiantou_xia,1); //箭头下
disphz (jiantou_zhong,0,0); //箭头中(指向该行)
disphz (shi,0,1); //菜单标题 //时间日期
disphz (jian,0,2); //菜单标题
disphz (ri,0,3); //菜单标题
disphz (qi,0,4);
//第一行
////////////////////////////
disphz (zhu,1,1); //第二行
disphz (cai,1,2);
disphz (dan,1,3);
dispzf (num2,1,10);
while(1)
{
if (key_scan_once()==11) menu1(); //"#"
if (key_scan_once()==10)
{
wrlattice (0x00,0x00);
start(); //"*"
}
if (key_scan_once()==7) zhu_menu2(); //上
if (key_scan_once()==9) zhu_menu2(); //下
}
}
////////////////////////////////////////////////
/*********************************************************
函 数 名:zhu_menu2()
功 能:显示1级菜单的第二行
说 明:
调 用:disphz (uchar code *chn,uchar page,uchar line),
dispzf (uchar code *eng,uchar page,uchar line);
dispjt (uchar code *jiantou,uchar page);
入口参数:无
返 回 值:无
设 计: 汪建斌 日 期:2005-09-11
**********************************************************/
void zhu_menu2()
{
wrlattice (0x00,0x00); //清屏
dispjt (jiantou_shang,0); //箭头上
// dispjt (jiantou_xia,1); //箭头下
// disphz (jiantou_zhong,0,0); //箭头中(指向该行)
disphz (shi,0,1); //菜单标题 //时间日期
disphz (jian,0,2); //菜单标题
disphz (ri,0,3); //菜单标题
disphz (qi,0,4);
//第一行
////////////////////////////
disphz (jiantou_zhong,1,0);
disphz (zhu,1,1); //第二行
disphz (cai,1,2);
disphz (dan,1,3);
dispzf (num2,1,10);
while(1)
{
if (key_scan_once()==11) menu3(); //"#"
if (key_scan_once()==10)
{
wrlattice (0x00,0x00);
start(); //"*"
}
if (key_scan_once()==7) zhu_menu1(); //上
if (key_scan_once()==9) zhu_menu1(); //下
}
}
/////////////////////////////////////////
/*********************************************************
函 数 名:menu1()
功 能:显示2级菜单的第一行
说 明:
调 用:disphz (uchar code *chn,uchar page,uchar line),
dispzf (uchar code *eng,uchar page,uchar line);
dispjt (uchar code *jiantou,uchar page);
入口参数:无
返 回 值:无
设 计: 汪建斌 日 期:2005-09-11
**********************************************************/
void menu1() //设置时间
{
wrlattice (0x00,0x00);
// dispjt (jiantou_shang,0);
dispjt (jiantou_xia,1);
disphz (jiantou_zhong,0,0);
disphz (she,0,1);
disphz (zi,0,2);
disphz (shi,0,3);
disphz (jian,0,4);
//////////////////////
// disphz (jiantou_zhong,1,0);
disphz (she,1,1);
disphz (zi ,1,2);
disphz (nao ,1,3);
disphz (zhong ,1,4);
while(1)
{
if (key_scan_once()==11)
{
settime_year();
//Set1302(time_set);
}
if (key_scan_once()==10) zhu_menu1();
if (key_scan_once()==7) menu2();
if (key_scan_once()==9) menu2();
}
}
///////////////////////////////////////////////
/*********************************************************
函 数 名:menu2()
功 能:显示2级菜单的第二行
说 明:
调 用:disphz (uchar code *chn,uchar page,uchar line),
dispzf (uchar code *eng,uchar page,uchar line);
dispjt (uchar code *jiantou,uchar page);
入口参数:无
返 回 值:无
设 计: 汪建斌 日 期:2005-09-11
**********************************************************/
void menu2() //设置闹钟
{
wrlattice (0x00,0x00);
dispjt (jiantou_shang,0);
// dispjt (jiantou_xia,1);
// disphz (jiantou_zhong,0,0);
disphz (she,0,1);
disphz (zi,0,2);
disphz (shi,0,3);
disphz (jian,0,4);
//////////////////////
disphz (jiantou_zhong,1,0);
disphz (she,1,1);
disphz (zi ,1,2);
disphz (nao,1,3);
disphz (zhong,1,4);
while(1)
{
if (key_scan_once()==11) menu2_1();
if (key_scan_once()==10) zhu_menu1();
if (key_scan_once()==7) menu1();
if (key_scan_once()==9) menu1();
}
}
/*********************************************************
函 数 名:menu3()
功 能:显示2级菜单的第三行
说 明:
调 用:disphz (uchar code *chn,uchar page,uchar line),
dispzf (uchar code *eng,uchar page,uchar line);
dispjt (uchar code *jiantou,uchar page);
入口参数:无
返 回 值:无
设 计: 汪建斌 日 期:2005-09-11
**********************************************************/
void menu3()
{
wrlattice (0x00,0x00);
// dispjt (jiantou_shang,0);
dispjt (jiantou_xia,1);
disphz (jiantou_zhong,0,0);
disphz (cai,0,1);
disphz (dan,0,2);
dispzf (num3,0,8);
//////////////////////
// disphz (jiantou_zhong,1,0);
disphz (cai,1,1);
disphz (dan,1,2);
dispzf (num4,1,8);
while(1)
{
if (key_scan_once()==11) menu3_1();
if (key_scan_once()==10) zhu_menu2();
if (key_scan_once()==7) menu4();
if (key_scan_once()==9) menu4();
}
}
/*********************************************************
函 数 名:menu4()
功 能:显示2级菜单的第四行
说 明:
调 用:disphz (uchar code *chn,uchar page,uchar line),
dispzf (uchar code *eng,uchar page,uchar line);
dispjt (uchar code *jiantou,uchar page);
入口参数:无
返 回 值:无
设 计: 汪建斌 日 期:2005-09-11
**********************************************************/
void menu4()
{
wrlattice (0x00,0x00);
dispjt (jiantou_shang,0);
// dispjt (jiantou_xia,1);
// disphz (jiantou_zhong,0,0);
disphz (cai,0,1);
disphz (dan,0,2);
dispzf (num3,0,8);
//////////////////////
disphz (jiantou_zhong,1,0);
disphz (cai,1,1);
disphz (dan,1,2);
dispzf (num4,1,8);
while(1)
{
if (key_scan_once()==11) menu4_1();
if (key_scan_once()==10) zhu_menu2();
if (key_scan_once()==7) menu3();
if (key_scan_once()==9) menu3();
}
}
////////////////////////////////////////////////
void menu1_1()
{
wrlattice (0x00,0x00);
// dispjt (jiantou_shang,0);
dispjt (jiantou_xia,1);
disphz (jiantou_zhong,0,0);
disphz (cai,0,1);
disphz (dan,0,2);
dispzf (num1,0,8);
dispzf (num1,0,9);
//////////////////////
// disphz (jiantou_zhong,1,0);
disphz (cai,1,1);
disphz (dan,1,2);
dispzf (num1,1,8);
dispzf (num2,1,9);
while(1)
{
if (key_scan_once()==11) P1=11;
if (key_scan_once()==10) menu1();
if (key_scan_once()==7) menu1_2();
if (key_scan_once()==9) menu1_2();
}
}
///////////////////////////////////////
void menu1_2()
{
wrlattice (0x00,0x00);
dispjt (jiantou_shang,0);
// dispjt (jiantou_xia,1);
// disphz (jiantou_zhong,0,0);
disphz (cai,0,1);
disphz (dan,0,2);
dispzf (num1,0,8);
dispzf (num1,0,9);
//////////////////////
disphz (jiantou_zhong,1,0);
disphz (cai,1,1);
disphz (dan,1,2);
dispzf (num1,1,8);
dispzf (num2,1,9);
while(1)
{
if (key_scan_once()==11) P1=12;
if (key_scan_once()==10) menu1();
if (key_scan_once()==7) menu1_1();
if (key_scan_once()==9) menu1_1();
}
}
/////////////////////////////////////////////////
void menu2_1()
{
wrlattice (0x00,0x00);
// dispjt (jiantou_shang,0);
dispjt (jiantou_xia,1);
disphz (jiantou_zhong,0,0);
disphz (cai,0,1);
disphz (dan,0,2);
dispzf (num2,0,8);
dispzf (num1,0,9);
//////////////////////
// disphz (jiantou_zhong,1,0);
disphz (cai,1,1);
disphz (dan,1,2);
dispzf (num2,1,8);
dispzf (num2,1,9);
while(1)
{
if (key_scan_once()==11) P1=21;
if (key_scan_once()==10) menu2();
if (key_scan_once()==7) menu2_2();
if (key_scan_once()==9) menu2_2();
}
}
void menu2_2()
{
wrlattice (0x00,0x00);
dispjt (jiantou_shang,0);
// dispjt (jiantou_xia,1);
// disphz (jiantou_zhong,0,0);
disphz (cai,0,1);
disphz (dan,0,2);
dispzf (num2,0,8);
dispzf (num1,0,9);
//////////////////////
disphz (jiantou_zhong,1,0);
disphz (cai,1,1);
disphz (dan,1,2);
dispzf (num2,1,8);
dispzf (num2,1,9);
while(1)
{
if (key_scan_once()==11) P1=22;
if (key_scan_once()==10) menu2();
if (key_scan_once()==7) menu2_1();
if (key_scan_once()==9) menu2_1();
}
}
void menu3_1()
{
wrlattice (0x00,0x00);
// dispjt (jiantou_shang,0);
dispjt (jiantou_xia,1);
disphz (jiantou_zhong,0,0);
disphz (cai,0,1);
disphz (dan,0,2);
dispzf (num3,0,8);
dispzf (num1,0,9);
//////////////////////
// disphz (jiantou_zhong,1,0);
disphz (cai,1,1);
disphz (dan,1,2);
dispzf (num3,1,8);
dispzf (num2,1,9);
while(1)
{
if (key_scan_once()==11) P1=31;
if (key_scan_once()==10) menu3();
if (key_scan_once()==7) menu3_2();
if (key_scan_once()==9) menu3_2();
}
}
void menu3_2()
{
wrlattice (0x00,0x00);
dispjt (jiantou_shang,0);
// dispjt (jiantou_xia,1);
// disphz (jiantou_zhong,0,0);
disphz (cai,0,1);
disphz (dan,0,2);
dispzf (num3,0,8);
dispzf (num1,0,9);
//////////////////////
disphz (jiantou_zhong,1,0);
disphz (cai,1,1);
disphz (dan,1,2);
dispzf (num3,1,8);
dispzf (num2,1,9);
while(1)
{
if (key_scan_once()==11) P1=32;
if (key_scan_once()==10) menu3();
if (key_scan_once()==7) menu3_1();
if (key_scan_once()==9) menu3_1();
}
}
void menu4_1()
{
wrlattice (0x00,0x00);
// dispjt (jiantou_shang,0);
dispjt (jiantou_xia,1);
disphz (jiantou_zhong,0,0);
disphz (cai,0,1);
disphz (dan,0,2);
dispzf (num4,0,8);
dispzf (num1,0,9);
//////////////////////
// disphz (jiantou_zhong,1,0);
disphz (cai,1,1);
disphz (dan,1,2);
dispzf (num4,1,8);
dispzf (num2,1,9);
while(1)
{
if (key_scan_once()==11) P1=41;
if (key_scan_once()==10) menu4();
if (key_scan_once()==7) menu4_2();
if (key_scan_once()==9) menu4_2();
}
}
void menu4_2()
{
wrlattice (0x00,0x00);
dispjt (jiantou_shang,0);
// dispjt (jiantou_xia,1);
// disphz (jiantou_zhong,0,0);
disphz (cai,0,1);
disphz (dan,0,2);
dispzf (num4,0,8);
dispzf (num1,0,9);
//////////////////////
disphz (jiantou_zhong,1,0);
disphz (cai,1,1);
disphz (dan,1,2);
dispzf (num4,1,8);
dispzf (num2,1,9);
while(1)
{
if (key_scan_once==11) P1=42;
if (key_scan_once()==10) menu4();
if (key_scan_once()==7) menu4_1();
if (key_scan_once()==9) menu4_1();
}
}
/////////////////////////////////////////////////
void zhujiemian()
{
disptime();
///////////////////////////////
// disphz (cai,0,1);
// disphz (dan,0,2);
// disphz (yan,0,3);
// disphz (si ,0,4);
}