1、void init() unsigned char i; init18b20(); ds1302_init(); initina1(); /-LCD字库初始化程序 RdFromROM(state1,8,1); state0=state10; /-界面 RdFromROM(state1,15,1); state1=state10;/- 闹钟 RdFromROM(state1,11,1); key_sound=state10;/-按键音/ state2=state12;/ state3=state13; screennum=1;/-默认一号屏 for(i=0;imax_task;i+)/清除任务延
2、时 task_delayi=0; TMOD=0x11; EA=1; TH0=255-clock/time_task_sec/12/526; TL0=255-clock/time_task_sec/12%526; ET0=1; TR0=1;void main() init(); while(1) if(task_delay0=0)readtemp(); task_delay0=task_delay0; if(task_delay3=0)MenuCheckKey(); task_delay3=task_delay1; if(task_delay1=0)screen_select(screennum
3、);task_delay1=task_delay1; if(task_delay2=0)ds1302_read_time(); task_delay2=task_delay0; void timer0() interrupt 1 uchar i=0; TH1=255-clock/time_task_sec/12%526;i+)if(task_delayi) task_delayi-; / miao=21,fen=33,xiaomiao=94; if(ma_start=1) tt+; if(tt=8) tt=0;xiaomiao+; if(xiaomiao=99) xiaomiao=0;miao
4、+; if(miao=60) miao=0;fen+; if(fen=99) fen=0; Screen.c:delay.hfestival.hidata unsigned char miao=0,fen=78,xiaomiao=0,tt=0;idata unsigned char bai,shi,ge,shinian,genian,shiyue,geyue,shiri,geri,shishi,geshi,shifen,gefen,shimiao,gemiao;idata unsigned char Number4;unsigned char code mainmenu= 主菜单 3.查询 4
5、.温度1.调时 2.秒表5.设置 6.返回;unsigned char code setmenu= 设置 3.查温 4.按键1.界面 2.闹铃5.报时 6.返回void gettime() shinian=(time_buf11%100)/10; genian=(time_buf11%100)%10; shiyue=(time_buf12)/10; geyue=(time_buf12)%10; shiri=(time_buf13)/10; geri=(time_buf13)%10; shishi=(time_buf14)/10; geshi=(time_buf14)%10; shifen=(t
6、ime_buf15)/10; gefen=(time_buf15)%10; shimiao=(time_buf16)/10; gemiao=(time_buf16)%10;void screen_select(uchar num)/ initina1(); gettime() ; if(num=1) /-主界面 Lcd_Set_Post(1,0); TransferData(shinian+48,1);/-年 TransferData(genian+48,1); TransferData(/,1); TransferData(shiyue+48,1);/-月 TransferData(geyu
7、e+48,1); TransferData( TransferData(shiri+48,1);/-日 TransferData(geri+48,1); Lcd_Set_Post(1,4); if(state1=1)/-闹铃的状态图标 TransferData(14,1); Lcd_Set_Post(1,5); if(key_sound=1) TransferData(13,1); if(state0=0) Lcd_Set_Post(1,7); /-农历年 nian(0); Lcd_Set_Post(2,0);/- 农历日月 LCD_WRITE_CHAR(农历); Conversion(0,t
8、ime_buf1,time_buf2,time_buf3); TransferData(month_moon/16+0 TransferData(month_moon%16+ TransferData(day_moon/16+ TransferData(day_moon%16+ if(state0=1)Lcd_Set_Post(3,5);else Lcd_Set_Post(2,5); LCD_WRITE_CHAR(星期/-星期 if(time_buf17=7) LCD_WRITE_CHAR(日 if(time_buf17=6) LCD_WRITE_CHAR(六 if(time_buf17=5)
9、 LCD_WRITE_CHAR(五 if(time_buf17=4) LCD_WRITE_CHAR(四 if(time_buf17=3) LCD_WRITE_CHAR(三 if(time_buf17=2) LCD_WRITE_CHAR(二 if(time_buf17=1) LCD_WRITE_CHAR(一 Lcd_Set_Post(3,0); TransferData(shishi+48,1);/-时 TransferData(geshi+48,1); TransferData(58,1); TransferData(shifen+48,1);/-分 TransferData(gefen+48
10、,1); TransferData(shimiao+48,1);/-秒 TransferData(gemiao+48,1); bai=(temph/100); /-温度 shi=(temph%100)/10; ge=(temph%100)%10; Lcd_Set_Post(3,4); if(zerotemp=0)TransferData(TransferData( Lcd_Set_Post(3,5); TransferData(shi+48,1); TransferData(ge+48,1);. TransferData(templ+48,1); TransferData(0xa1,1);Tr
11、ansferData(0xe6,1); Lcd_Set_Post(4,0); festival(time_buf2,time_buf3,time_buf4);/农历 if(num=3)/-主菜单 Lcd_Set_Post(1,0);/-设置显示位置 LCD_WRITE_CHAR(mainmenu); if(num=4)/-设置菜单 LCD_WRITE_CHAR(setmenu); if(num=5)/-时间设置 Lcd_Set_Post(1,2);时间设置 Lcd_Set_Post(2,1);年月 TransferData(time_buf17+48,1);/-星期 Lcd_Set_Post(
12、3,2);/-时时/-分分/-秒 if(num=6)/-秒表 uchar shi1,shi2,shi3,ge1,ge2,ge3; Lcd_Set_Post(1,3);秒表 shi1=fen/10; ge1=fen%10; TransferData(shi1+48,1); TransferData(ge1+48,1);: shi2=miao/10; ge2=miao%10; TransferData(shi2+48,1); TransferData(ge2+48,1); shi3=xiaomiao/10; ge3=xiaomiao%10; TransferData(shi3+48,1); Tra
13、nsferData(ge3+48,1); if(num=8) Lcd_Set_Post(1,2);/-农历查询温度查询 Lcd_Set_Post(3,0);最高温度 RdFromROM(Number,0,4); if(Number3=0)TransferData(- Lcd_Set_Post(3,5); TransferData(Number0+48,1); TransferData(Number1+48,1); TransferData(Number2+48,1); TransferData(0xa1,1); Lcd_Set_Post(4,0);最低温度 RdFromROM(Number,4,4); Lcd_Set_Post(4,5); if(num=9)/-界面菜单界面选择 Lcd_Set_Post(2,0); TransferData(1+48,1);多功能界面 TransferData(2+48,1);简洁界面
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1