天津职业技术师范大学2011届本科生毕业设计
}
lcm_w_mm();//刷新 分 lcm_w_hh();//刷新 小时 lcm_w_dd();//刷新 日 lcm_w_xq();//更新星期值 lcm_w_mo();//刷新 月 lcm_w_yy();//刷新 年
//向LCM中填写 秒 数据 void lcm_w_ss(void){
unsigned int i=0;
unsigned char a=0,b=0,c=0; if(read_clock(0x81) != ss){
ss = read_clock(0x81); lcm_w_test(0,0x8b);
//判断是否需要更新 //更新数据
//秒值在LCM上的写入位置
lcm_w_test(1,(ss/16)+0x30); //写十位 lcm_w_test(1,ss+0x30); //写个位 lcm_w_word(\ \led_b = ~led_b; updata ();
write_com(0x8d); a=i/100; write_com(0x30);
lcm_w_test(1,1+0x30); //显示温度十位 b=i/10-a*10; write_com(0x30);
lcm_w_test(1,6+0x30); //个位 lcm_w_test(1,0x2e); //\c=i-a*100-b*10; write_com(0x30);
lcm_w_test(1,c+0x30); //小位1位 lcm_w_word(\℃\//度C } }
51
//LED闪烁
//刷新数据
//温度在LCM上的写入位置
i=ReadTemperature();//读温度并送显
天津职业技术师范大学2011届本科生毕业设计
void welcome(void){ }
//---主程序---// main()
{ KEY_1=1;KEY_2=1;KEY_3=1;KEY_4=1;//初始键盘
yy=0xff;mo=0xff;dd=0xff;xq=0xff;hh=0xff;mm=0xff;ss=0xff; //各数据刷新
Beep(); if(KEY_I ==1) { lcm_init();
lcm_clr();//清屏 write_add(0x83); while(1) {
key=keyscan(); delay(); if(exit==1) {display(key);} if(KEY_I ==0) break; } }
if(KEY_I ==0) { // PSB=1;RES=1; // KEY_I=1;
//led_back = 0;
//welcome();//显示欢迎信息 //DelayM(600); //显示等留3秒 Init_1302();
lcm_init();//初始化液晶显示器 lcm_clr();//清屏
lcm_w_word(\电子时钟 按K1进入系统\
while(1) {//主循环
if (w == 0){ //正常走时
52
天津职业技术师范大学2011届本科生毕业设计
lcm_w_ss();//刷新 秒 } else { }
//------------------------------------------------------------------ if (KEY_3 == 0) // 设置时间
DelayM(20); //去抖
//启动调时
{
led_g3 = 0;led_r = 1;
if(KEY_3 == 0 && w == 1) //当是调时状态 本键用于调整下一项 { }
if(KEY_3 == 0 && w == 0) //当是正常状态时就进入调时状态 { }
while(KEY_3 == 0);//等待键松开 led_g3 = 1;
53
Beep_key();//按键音 e++;
if (e >= 6 ){e = 0;} Set_time(e);//调整
Beep_set();//确定按键音 led_b = 1;// lcm_clr();//清屏 w=1;
//进入调时
lcm_w_test(0,0x9e); lcm_w_word(\lcm_w_test(0,0x80); lcm_w_word(\lcm_w_test(0,0x85); lcm_w_word(\lcm_w_test(0,0x98); lcm_w_word(\Set_time(e);//调整
天津职业技术师范大学2011届本科生毕业设计
led_r = 0;//红灯亮,表示调时 }
//------------------------------------------------------------------ if (KEY_1 == 0) // 当在调时状态时就退出调时
DelayM(20);
{
led_g1 = 0; }
if(KEY_1 == 0 && w == 0){ }
lcm_clr();//清屏 updata ();
//刷新数据
lcm_w_mm();//刷新 分
while(KEY_1 == 0);//等待键松开 lcm_clr();//清屏 lcm_w_test(0,0x80); welcome();//显示欢迎信息 while(KEY_1 == 0);//等待键松开
if(KEY_1 == 0 && w == 1){ Beep_set();//确定按键音 w = 0; //退出调时 e = 0;
//“下一项”计数器清0
led_r = 1;
//------------------------------------------------------------------ if (KEY_2 == 0 && w == 1){ // 加减调整{
DelayM(20);
if(KEY_2 == 0 && w == 1){ Beep_key();//按键音
54
}
led_g1 = 1;
led_g2 = 0;led_r = 1;
天津职业技术师范大学2011届本科生毕业设计
}
Set_time(e);//调整
while(KEY_2 == 0);//等待键松开
led_g2 = 1; led_r = 0;
}
//------------------------------------------------------------------ if (KEY_4 == 0 && w == 1){ // 加减调整
DelayM(20);
led_g4 = 0; led_r = 1; }
if(KEY_4 == 0 && w == 1){ Beep_key();//按键音 Set_time(e);//调整
while(KEY_4 == 0);//等待键松开
}
led_g4 = 1; led_r = 0;
if(KEY_I ==1) break; } } }
55