基于51单片机的数字电子表内容摘要:

inute() { int i。 for(i=10。 i=0。 i) { StrTab[0]=tab[hour/10]。 StrTab[1]=tab[hour%10]。 StrTab[2]=0x40。 StrTab[3]=0x00。 StrTab[4]=0x00。 5 StrTab[5]=0x40。 StrTab[6]=tab[second/10]。 StrTab[7]=tab[second%10]。 delay (90000)。 //扫描间隙延时,时间 太长会闪烁,太短会造成重影 display_time() } } /******************************************************************/ /* 主函数 */ /******************************************************************/ void system() { TMOD |=0x01。 //定时器 0 10ms in 12M crystal 用于计时 TH0=0xd8。 //初值 TL0=0xf0。 ET0=1。 TR0=1。 TMOD |=0x10。 //定时器 1用于动态扫描 TH1=0xF8。 //初值 TL1=0xf0。 ET1=1。 TR1=1。 EA =1。 } void display_time()。 //调用显示处理 void deal_change() 6 { if(key_change==0) { change++。 while(!key_change) { display_time()。 } change=change%5。 } } void deal_change0() {if(change==0) { if(key==0) { number++。 number=number%2。 while(!key)。 } if(number==0) { display_time()。 } if(number==1) { display_day()。 } } } void deal_change1() { 7 if(change==1) { display_time()。 sd_minute()。 if(key==0) { minute++。 while(!key) { display_time()。 } if(minute==60) { minute=0。 hour++。 if(hour==24) { date++。 if(date==30) { month++。 if (month12) month=1。 if (month==1) year++。 } } } } } } void deal_change2() 8 {if(change==2) { display_time()。 if(key==0) { hour++。 while(!key) { display_time()。 } if(hour==24) { hour=0。 date++。 if(date==30) { month++。 if (month12) month=1。 if (month==1) year++。 } } } } } void deal_change3() {if(change==3) { display_day()。 if(key==0) { date++。 9 while(!key) { display_day()。 } if(date==30) { date=1。 month++。 if(month12) month=1。 if(month==1) year++。 }。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。