创设报告-多功能电子时钟(7)

2019-03-06 07:21

单片机课程设计

WRITE_LCD1602_DAT('o'); WRITE_LCD1602_DAT('f'); WRITE_LCD1602_DAT('f'); } else { WRITE_LCD1602_DAT(' '); WRITE_LCD1602_DAT('o'); WRITE_LCD1602_DAT('n'); } } }

/************************************ 主界面

************************************/ void Main_display(void) { static uchar Year=80,Month=80,Day=80,Week=80,Hour=80,Min=80,Sec=80; static uchar i; static time_hour1=0; static time_min1=0; i++; if(i>10) i=0; if(beep_flag&&!Timing_flag) { Timing_flag=1; autoplay(VoiceAddTab[23]); } else if(!beep_flag) { Timing_flag=0; } if(Again_flag) { Again_flag=0; Year=80;Month=80;Day=80;Hour=80;Min=80;Sec=80;Week=80; } if(SET_TIM_FLAG==0) { Tim_red_tab[0]=READ_DS1302(READ_DS1302_YEAR); Tim_red_tab[1]=READ_DS1302(READ_DS1302_MONTH);

28

单片机课程设计

Tim_red_tab[2]=READ_DS1302(READ_DS1302_DAY); Tim_red_tab[3]=READ_DS1302(READ_DS1302_WEEK); Tim_red_tab[4]=READ_DS1302(READ_DS1302_HOUR); Tim_red_tab[5]=READ_DS1302(READ_DS1302_MINUTE); Tim_red_tab[6]=READ_DS1302(READ_DS1302_SECOND); if(Timing_min>49) {

if(Timing_hour==23) time_hour1=0; else

time_hour1=Timing_hour+1; time_min1=(Timing_min-50); } else {

time_hour1=Timing_hour;

time_min1=Timing_min+10; }

if(Tim_red_tab[4]==Timing_hour&&Tim_red_tab[5]==Timing_min&&Tim_red_tab[6]<3) beep_flag=1; else

if(Tim_red_tab[4]==Timing_hour&&Tim_red_tab[5]==Timing_min&&Tim_red_tab[6]>45) beep_flag=0;

// if(Tim_red_tab[4]==time_hour1&&Tim_red_tab[5]==time_min1&&Tim_red_tab[6]<3) // beep_flag=1; // else

if(Tim_red_tab[4]==time_hour1&&Tim_red_tab[5]==time_min1&&Tim_red_tab[6]>30) // beep_flag=0; if(Year!=Tim_red_tab[0]) { Year=Tim_red_tab[0]; WRITE_LCD1602_COM(0x80+2); //指定显示字符的地址 WRITE_LCD1602_DAT(LCD1602_Table[Tim_red_tab[0]/10]); //年 WRITE_LCD1602_DAT(LCD1602_Table[Tim_red_tab[0]]); //年 } if(Month!=Tim_red_tab[1]) { Month=Tim_red_tab[1]; WRITE_LCD1602_COM(0x80+5); //指定显示字符的地址 WRITE_LCD1602_DAT(LCD1602_Table[Tim_red_tab[1]/10]); //月 WRITE_LCD1602_DAT(LCD1602_Table[Tim_red_tab[1]]); //月 }

29

单片机课程设计

if(Day!=Tim_red_tab[2]) {

Day=Tim_red_tab[2];

WRITE_LCD1602_COM(0x80+8); //指定显示字符的地址

WRITE_LCD1602_DAT(LCD1602_Table[Tim_red_tab[2]/10]); //日 WRITE_LCD1602_DAT(LCD1602_Table[Tim_red_tab[2]]); //日 }

if(Week!=Tim_red_tab[3]) {

Week=Tim_red_tab[3];

WRITE_LCD1602_COM(0x80+12); //指定显示字符的地址 switch(Week) {

case 0:

WRITE_LCD1602_DAT('S'); WRITE_LCD1602_DAT('U'); WRITE_LCD1602_DAT('N'); break; case 1:

WRITE_LCD1602_DAT('M'); WRITE_LCD1602_DAT('O'); WRITE_LCD1602_DAT('N'); break; case 2:

WRITE_LCD1602_DAT('T'); WRITE_LCD1602_DAT('U'); WRITE_LCD1602_DAT('E'); break; case 3:

WRITE_LCD1602_DAT('W'); WRITE_LCD1602_DAT('E'); WRITE_LCD1602_DAT('D'); break; case 4:

WRITE_LCD1602_DAT('T'); WRITE_LCD1602_DAT('H'); WRITE_LCD1602_DAT('U'); break; case 5:

WRITE_LCD1602_DAT('F'); WRITE_LCD1602_DAT('I'); WRITE_LCD1602_DAT('R'); break; case 6:

30

单片机课程设计

WRITE_LCD1602_DAT('S'); WRITE_LCD1602_DAT('A'); WRITE_LCD1602_DAT('T'); break; default:

WRITE_DS1302(DS1302_WRITE_PROTECT,DS1302_WRITE_PROTECT_NO); //禁止写保护

WRITE_DS1302(WRITE_DS1302_WEEK,0); //星期

WRITE_DS1302(DS1302_WRITE_PROTECT,DS1302_WRITE_PROTECT_OFF); //允许写保护

break; } }

if(Hour!=Tim_red_tab[4]) {

Hour=Tim_red_tab[4];

WRITE_LCD1602_COM(0x80+0x40); //指定显示字符的地址

WRITE_LCD1602_DAT(LCD1602_Table[Tim_red_tab[4]/10]); //时 WRITE_LCD1602_DAT(LCD1602_Table[Tim_red_tab[4]]); //时 }

if(Min!=Tim_red_tab[5]) {

Min=Tim_red_tab[5];

WRITE_LCD1602_COM(0x80+0x40+3); //指定显示字符的地址 WRITE_LCD1602_DAT(LCD1602_Table[Tim_red_tab[5]/10]); //分 WRITE_LCD1602_DAT(LCD1602_Table[Tim_red_tab[5]]); //分 }

//if(Sec!=Tim_red_tab[6]) //{

Sec=Tim_red_tab[6];

WRITE_LCD1602_COM(0x80+0x40+6); //指定显示字符的地址 WRITE_LCD1602_DAT(LCD1602_Table[Tim_red_tab[6]/10]); //秒 WRITE_LCD1602_DAT(LCD1602_Table[Tim_red_tab[6]]); //秒 // WRITE_LCD1602_DAT(' '); //} } else {

beep_flag=0;

WRITE_LCD1602_COM(0x80+2); //指定显示字符的地址

if(i<5&&SET_TIM_FLAG==1){WRITE_LCD1602_DAT(' ');WRITE_LCD1602_DAT(' ');}

else{WRITE_LCD1602_DAT(LCD1602_Table[Tim_red_tab[0]/10]);WRITE_LCD1602_DAT(LCD16

31

单片机课程设计

02_Table[Tim_red_tab[0]]);}

WRITE_LCD1602_COM(0x80+5); //指定显示字符的地址

if(i<5&&SET_TIM_FLAG==2){WRITE_LCD1602_DAT(' ');WRITE_LCD1602_DAT(' ');}

else{WRITE_LCD1602_DAT(LCD1602_Table[Tim_red_tab[1]/10]);WRITE_LCD1602_DAT(LCD1602_Table[Tim_red_tab[1]]);}

WRITE_LCD1602_COM(0x80+8); //指定显示字符的地址

if(i<5&&SET_TIM_FLAG==3){WRITE_LCD1602_DAT(' ');WRITE_LCD1602_DAT(' ');}

else{WRITE_LCD1602_DAT(LCD1602_Table[Tim_red_tab[2]/10]);WRITE_LCD1602_DAT(LCD1602_Table[Tim_red_tab[2]]);}

WRITE_LCD1602_COM(0x80+12); //指定显示字符的地址 if(i<5&&SET_TIM_FLAG==4){WRITE_LCD1602_DAT(' ');WRITE_LCD1602_DAT(' ');WRITE_LCD1602_DAT(' ');} else {

switch(Tim_red_tab[3]) {

case 0:

WRITE_LCD1602_DAT('S'); WRITE_LCD1602_DAT('U'); WRITE_LCD1602_DAT('N'); break; case 1:

WRITE_LCD1602_DAT('M'); WRITE_LCD1602_DAT('O'); WRITE_LCD1602_DAT('N'); break; case 2:

WRITE_LCD1602_DAT('T'); WRITE_LCD1602_DAT('U'); WRITE_LCD1602_DAT('E'); break; case 3:

WRITE_LCD1602_DAT('W'); WRITE_LCD1602_DAT('E'); WRITE_LCD1602_DAT('D'); break; case 4:

WRITE_LCD1602_DAT('T'); WRITE_LCD1602_DAT('H'); WRITE_LCD1602_DAT('U');

32


创设报告-多功能电子时钟(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高校节能监管平台建设现状及未来的发展趋势

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: