标题要求:根本AT89S52单片机的时钟日历显现.
要求:能正确的显现时刻
难点剖析:
1.能正确的显现时刻,在单片机或是核算中履行每一条指令时都会对自己自身用去机器周期.所以在设置定时器不该设置刚刚好1秒的时刻,应该比1些秒少,这一秒的时刻内包括定时器的时刻,履行其它指令的时刻.
2.能正确的显现日历.在这里看一个比较简略的要示,可是咱们必需从简略里考虑润年,二月天数,还有大小月的问题.这些都是不能忽视的.
注:犯错一般都是忽视看似简略的问题.一个好的程序员不否定把握有很用的技能,可是好的技能员自身根底是适当过关的.这也是我往后要留意的问题之一.
3.本系统中只装备了四个键.也便是说咱们一切的调时刻,调日历必需也只能经过这四个键来完结.这里有一个菜单的完成原理.
完成办法:
根据以上难点剖析我规划了以下几种应对办法.
针对难1:在这正确的显现时刻里,咱们只需简略的规划程序,每60秒进1分钟,秒清0,也便是在59往后加1就清0,照推.分钟,小时天按常理照推.
针对难点2:
能言语完成句子:if((year %4 ==0 && year %100 !=0)||( year % 400==0))
注:本句子据今日一朋友说,她看动画片的时分看到本算法是不完善的.在2996年今后就不是正确的,我没验证过.预备找时刻验证一下,假如有朋友看到这文章有爱好的话也验证一下.届时别忘了告诉我一声.
针对难点3:
关于四键规划的办法:尽管咱们看用过许多四键规划的什物,可是在实践中咱们怎么规划程序呢?
我选用的办法是:
(1),从键码扫描程序中读得键值.假如为功用键,功用挑选计数器计数一次,假如是确认,也规划的叫退出键.则回来挑选计数器值.其他的两个键值则忽略不计,假如在没有按过功用键,按了退出键的,则回来正常履行.
(2):回来了功用挑选.则此刻有三个键起作用了,功用挑选键屏蔽.中心两个,一个加一个减,每次按键对NUM加减计数器履行加或减,当履行了确认键里,回来NUM计数器的值.
(3).些时就完了一次菜单的履行.接下便是调整时刻,或是日历了.
接下来便是把数据(年,月日,小时,分钟,秒)写入显现器(我选用的12864带字库的液晶显现),
在这里留意的便是液晶地址的组织就好了.