基于c语言和55单片机在实现lcd1602多功能时间显示完全程序(不完全是显示时间这么简单内容摘要:

ek[3*week1])。 lcd_wrcmd(0x91)。 } } else if(ii==5) //sw2=OK { year=year_h*16+year_l。 month=month_h*16+month_l。 date=date_h*16+date_l。 lcd_wrcmd(0x0c)。 set_time()。 lcd_wrcmd(1)。 display(0xc3,str_su)。 //Successful for(n=0。 n1500。 n++) delay(250)。 lcd_wrcmd(1)。 state=2。 //clock()。 break。 } else if(ii==6) //sw1=Exit { lcd_wrcmd(1)。 state=2。 //clock()。 break。 } }}//********************yy************fghfghfghfg****************************//***************dfghshjhyrj*******hhfgh*******************************************//**********************************************************************void write_up(uchar ad,uchar dat)//写时分秒函数{ uchar s,g。 s=dat/10。 g=dat%10。 lcd_wrcmd(0x80+ad)。 lcd_wrdata(0x30+s)。 lcd_wrdata(0x30+g)。 }void write_down(uchar add,uchar date)//写时分秒函数{ uchar si,ge。 si=date/10。 //分解一个2位数的十位和个位 ge=date%10。 lcd_wrcmd(0x80+0x40+add)。 //设置显示位置 lcd_wrdata(0x30+si)。 //送去液晶显示十位 lcd_wrdata(0x30+ge)。 //送去液晶显示个位}stopwatch()//秒表{ uchar ii,ss=1。 lcd_wrcmd(0x80+6)。 //写出时间显示部分的两个冒号 lcd_wrdata(39。 :39。 )。 delay(5)。 lcd_wrcmd(0x80+9)。 lcd_wrdata(39。 :39。 )。 delay(5)。 lcd_wrcmd(0x80+12)。 lcd_wrdata(39。 :39。 )。 delay(5)。 write_up(13,swa)。 write_up(10,sec)。 //分别送去液晶显示 write_up(7,min)。 write_up(4,hou)。 lcd_wrcmd(0x80+0x40+6)。 //写出时间显示部分的两个冒号 lcd_wrdata(39。 :39。 )。 delay(5)。 lcd_wrcmd(0x80+0x40+9)。 lcd_wrdata(39。 :39。 )。 delay(5)。 lcd_wrcmd(0x80+0x40+12)。 lcd_wrdata(39。 :39。 )。 delay(5)。 write_down(13,haomi)。 write_down(10,mi)。 //分别送去液晶显示 write_down(7,fe)。 write_down(4,sh)。 while(1) { ii=key()。 if(ii==2) //sw5=down { ss++。 if(ss==3)ss=1。 //ss=3=1 if(ss==1) { TR1=1。 lcd_wrcmd(0xc0)。 lcd_wrdata(39。 39。 )。 lcd_wrdata(39。 39。 )。 lcd_wrcmd(0x80)。 lcd_wrdata(39。 39。 )。 lcd_wrdata(39。 39。 )。 } else if(ss==2) { TR0=1。 lcd_wrcmd(0x80)。 lcd_wrdata(39。 39。 )。 lcd_wrdata(39。 39。 )。 lcd_wrcmd(0xc0)。 lcd_wrdata(39。 39。 )。 lcd_wrdata(39。 39。 )。 } } else if(ii==1) //sw6=up { ss++。 if(ss==3)ss=1。 //ss=3=1 if(ss==1) { lcd_wrcmd(0xc0)。 lcd_wrdata(39。 39。 )。 lcd_wrdata(39。 39。 )。 lcd_wrcmd(0x80)。 lcd_wrdata(39。 39。 )。 lcd_wrdata(39。 39。 )。 } else if(ss==2) { lcd_wrcmd(0x80)。 lcd_wrdata(39。 39。 )。 lcd_wrdata(39。 39。 )。 lcd_wrcmd(0xc0)。 lcd_wrdata(39。 39。 )。 lcd_wrdata(39。 39。 )。 } } else if(ii==5)//sw2=关闭秒表 { if(ss==2) { TR0=0。 break。 } else if(ss==1) { TR0=0。 break。 } } else if(ii==6)//sw1=CLR+menu+ready { TR0=0。 fe=0。 mi=0。 sh=0。 haomi=0。 hour=0。 min=0。 sec=0。 swa=0。 write_down(13,0)。 write_down(10,0)。 write_down(7,0)。 write_down(4,0)。 write_up(13,0)。 write_up(10,0)。 write_up(7,0)。 write_up(4,0)。 lcd_wrcmd(1)。 state=2。 //clock()。 break。 } } }set_alarm()//设置闹钟{ uchar ii,ss=1,hour_h,hour_l,minute_h,minute_l。 uchar hour_temp,minute_temp。 uint n。 if(ap==0) { hour_h=alarm_hour[0]/10。 hour_l=alarm_hour[0]%10。 hour_temp=alarm_hour[0]。 minute_h=alarm_minute[0]/10。 minute_l=alarm_minute[0]%10。 minute_temp=alarm_minute[0]。 } else { hour_h=alarm_hour[1]/10。 hour_l=alarm_hour[1]%10。 hour_temp=alarm_hour[1]。 minute_h=alarm_minute[1]/10。 minute_l=alarm_minute[1]%10。 minute_temp=alarm_minute[1]。 } lcd_wrcmd(1)。 lcd_wrcmd(0x84)。 lcd_wrdata(0x30+hour_h)。 lcd_wrdata(0x30+hour_l)。 lcd_wrdata(39。 :39。 )。 lcd_wrdata(0x30+minute_h)。 lcd_wrdata(0x30+minute_l)。 lcd_wrcmd(0x0f)。 display(0xc0,str_ok)。 //39。 ok39。 display(0xce,str_exit)。 //39。 39。 lcd_wrcmd(0x85)。 while(1) { ii=key()。 if(ii==4) //sw3=right { ss++。 if(ss==3)ss=1。 //ss=3=1 if(ss==1)lcd_wrcmd(0x85)。 //ss=1为校hour状态 else if(ss==2)lcd_wrcmd(0x88)。 //ss=2为校min状态 } else if(ii==3) //sw4=left { ss++。 if(ss==3)ss=1。 //ss=3=1 if(ss==1)lcd_wrcmd(0x85)。 //ss=1为校hour状态 else if(ss==2)lcd_wrcmd(0x88)。 //ss=2为校min状态 } //校时程序块 else if(ii==1)//sw6=add+1操作 { if(ss==1)//小时 { hour_temp++。 if(hour_temp23) { hour_temp=0。 } hour_h=hour_temp/10。 hour_l=hour_temp%10。 lcd_wrcmd(0x84)。 lcd_wrdata(0x30+hour_h)。 lcd_wrdata(0x30+hour_l)。 lcd_wrcmd(0x85)。 } else if(ss==2)//分钟 { minute_temp++。 if(minute_temp59) { minute_temp=0。 } minute_h=minute_temp/10。 minute_l=minute_temp%10。 lcd_wrcmd(0x87)。 lcd_wrdata(0x30+minute_h)。 lcd_wrdata(0x30+minute_l)。 lcd_wrcmd(0x88)。 } } else if(ii==2)//sw5=down1操作 { if(ss==1) { hour_temp。 if(hour_temp==0xff) { hour_temp=23。 } hour_h=hour_temp/10。 hour_l=hour_temp%10。 lcd_wrcmd(0x84)。 lcd_wrdata(0x30+hour_h)。 lcd_wrdata(0x30+hour_l)。 lcd_wrcmd(0x85)。 } else if(ss==2) { minute_temp。 if(minute_temp==0xff) { minute_temp=59。 } minute_h=minute_temp/10。 minute_l=minute_temp%10。 lcd_wrcmd(0x87)。 lcd_wrdata(0x30+minute_h)。 lcd_wrdata(0x30+minute_l)。 lcd_wrcmd(0x88)。 } } else if(ii==5)//sw2=resdy+menu+pause { f=1。 if(ap==0) { alarm_hour[0]=hour_h*10+。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。