刘涛论文最新 (修复的) 下载本文

天津职业技术师范大学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