mochou
发表于 2014-12-31 16:29
闲时再看
jianhong_wu
发表于 2015-1-4 11:31
第八十九节:用单片机内部定时器做一个时钟。 开场白:很多网友建议,为了方便初学者学习编程思路,我应该用单片机定时器做一个时钟程序供大家参考学习。其实我前面第48节就已经用ds1302做了一个可以显示和更高时间的时钟,这一节只要在第48节的源代码基础上,大的框架不用动,只需要把ds1302产生的时间改成用定时中断产生的时间就可以了,改动的地方非常小。但是为了让时间的精度更高,最后必须跟标准时间进行校验,来修正系统中一秒钟需要多个定时中断的误差,这个误差决定了系统的时间精度,其实这个校验方法我在前面很多章节上跟大家介绍过了: 第一步:在程序代码上先写入1秒钟大概需要200个定时中断。 第二步:把程序烧录进单片机后,上电开始测试,手上同步打开手机里的秒表,当手机的标准时间跑了780秒(这个标准时间跑得越长校验精度越高),而此时单片机仅仅跑了1632秒。那么最终得出1秒钟需要的定时中断次数是:const_time_1s=(200*1632)/780=418。第三步:如果发现时钟还是不太准,可以继续返回第一步根据最新1秒钟的时间是418次,多校验几次,来不断调整const_time_1s的数值,直到找到相对精度的时间为止。本系统仅供学习,精度不可能做得很好,因为影响时间精度的因素还有定时中断的重装值,定时中断里面的代码尽量少,以及晶振等不好控制的因素。所以鸿哥一直不推荐在实际项目中用单片机的内部定时器做实时时钟,因为精度有限。真正想要准确的时钟时间,还是强烈建议大家用外部专用的时钟芯片或者用CPLD/FPGA来做。 具体内容,请看源代码讲解。 (1 硬件平台. 基于朱兆祺51单片机学习板。 (2)实现功能: 本程序有2两个窗口。 第1个窗口显示日期。显示格式“年-月-日”。注意中间有“-”分开。 第2个窗口显示时间。显示格式“时 分 秒”。注意中间没“-”,只有空格分开。 系统上电后,默认显示第2个窗口,实时显示动态的“时 分 秒”时间。此时按下S13按键不松手就会切换到显示日期的第1个窗口。松手后自动切换回第2个显示动态时间的窗口。 需要更改时间的时候,长按S9按键不松手超过3秒后,系统将进入修改时间的状态,切换到第1个日期窗口,并且显示“年”的两位数码管会闪烁,此时可以按S1或者S5加减按键修改年的参数,修改完年后,继续短按S9按键,会切换到“月”的参数闪烁状态,只要依次不断按下S9按键,就会依次切换年,月,日,时,分,秒的参数闪烁状态,最后修改完秒的参数后,系统会自动把我们修改设置的日期时间一次性更改到定时中断函数内部的时间变量,达到修改日期时间的目的。S13是电平变化按键,用来切换窗口的,专门用来查看当前日期。按下S13按键时显示日期窗口,松手后返回到显示实时时间的窗口。 (3)源代码讲解如下: 总结陈词:任何一个电子产品在投入生产的时候都要考虑到生产的测试,朱兆祺51单片机学习板在生产加工后也一样要进行测试。那么这个测试的程序如何能够做到快速,全面,易用这三个要求呢?欲知详情,请听下回分解-----生产朱兆祺51学习板的从机自检测试程序源代码.。 (未完待续,下节更精彩,不要走开哦)
register_x
发表于 2015-1-5 17:41
顶一个,楼主辛苦了
蛊惑狼
发表于 2015-1-10 14:31
留名
AOP
发表于 2015-1-10 21:10
非常感谢您无私的分享,看了您的教程受益匪浅.希望您能够把这些经验整理成册再加上详细的范例后出版成书,我会第一个购买.
我是小草
发表于 2015-1-10 22:02
ding
solarddd
发表于 2015-1-12 13:05
期待..........
luochangqing112
发表于 2015-1-12 22:17
持续关注中
大黄鸭
发表于 2015-1-18 22:36
让我这个刚入门的打开眼界
59387033
发表于 2015-1-20 13:09
标记一下
ALISWANG
发表于 2015-1-21 08:53
MARK!
njtfl
发表于 2015-1-22 16:43
又看了一些
ys19702
发表于 2015-1-23 09:16
看了半个月终于看完了,赞!!!!!!!!!!!!谢谢楼主分享。受益匪浅
379109964
发表于 2015-1-23 15:34
我是做led电源的,以后led会向智能方向发展,所以来学习单片机,lZ的程序对初学者很强大,关键是连理性好,但是看了下来感觉好难,头大了,不过还是顶,谢谢无私奉献,实战出来的更有价值。
LZR13179
发表于 2015-2-5 09:07
标记
pguangchun
发表于 2015-2-6 11:38
很不错啊
sheldon0920
发表于 2015-2-8 13:48
好贴,正从头开始看
sheldon0920
发表于 2015-2-8 23:01
jianhong_wu 发表于 2014-3-6 10:10
我没有明目张胆地推广我的方案公司,我也没必要去推广我的方案公司,因为我不缺项目,我在深圳的圈子里, ...
真正在看帖的人,没人在意那些所谓的广告。lz知道菜鸟们最需要什么,最应该学习什么。
像lz这样的帖子,真是太少了,像llz这样的热心肠的人,也少。
真心赞一个!!!!
哎吆我去
发表于 2015-2-11 22:32
撸主好人,这种分享精神也需要我们学习
smell-baby
发表于 2015-2-27 10:02
标记