求51单片机精准闹钟c语言代码!

希望是那种用两个定时中断来控制时间变换和闹钟响应的半周期,我写了不知道怎么回事在闹钟响的时候时间走的变慢了~~~希望大虾帮下忙

第1个回答  2012-08-30
如果想要精确的话一定要用RTC(时钟芯片),因为无论你的程序写的多么好,你的延时函数肯定会有误差的,可能走一段时间看不出,但久了累积起来的误差就会很大,这是避免不了的。我以前也有过你这种想法,不要时钟芯片,只用定时来计时,结果是失败的。。我建议你最好去maxim公司里免费申请一块ds1302,也可以自己去买,几毛钱而已。。时钟芯片的功能就是它自身在运行,单片机所要做的就是从它那里读回数据再送到液晶或数码管显示。。希望能帮到你
第2个回答  2012-08-24
想精确可以使用数字实时时钟芯片。如果不用的不用的话使用无缘蜂鸣器直接就送一就可以,或者使用555时钟芯片组成震荡电路。这样在闹钟是不会占用CPU时间,不会影响带中断、本回答被网友采纳
第3个回答  2012-08-24
如果真的想要精准的话,用实时时钟芯片吧,单片机的定时器肯定存在定时误差的,而且时间越久误差越大。所以咯……实时时钟芯片可以选用DS1302.什么?不会用?百度一搜,N多源程序
第4个回答  2012-08-24
单片机用来算时间还是可以精确到一个机器周期的
就看你的算法了
不同的晶振程序是不一样的
而且用c写完要看汇编才更加精确
而且最好不要使用通信晶振
选在24M 12M这种比较好
相似回答