|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 ononsiiii532 于 2021-12-14 10:53 编辑 , Y* O( n) y+ A/ d
3 Z6 y* o7 K* ^! }0 \+ L) a一直看到好多人说,用单片机做时间显示不准确.2 w; m( u+ ?1 N4 `
其实我认为用单片机做时间显示,可以达到非常 精确的地步,比如三天误差小于1S.不知大家认为这种误差是大还是小.
) y, R; h0 t9 g" p% A! U$ t4 P当然要用外部晶体喽.
2 K! E9 `8 i7 ^6 w# a1 [: B用定时器1MS中断,计算1000MS,累进一秒.
; u# \0 `& I, l$ C" G以互联网北京时间实时时间比对.
: J! c8 G7 @1 ]$ `& b/ F先测试24小时误差,一般初次会误差较大,几秒到十秒都有可能.误差大了,就先修改定时值.8 F% @" G# Y5 A+ z4 J
误差小了,我们就用另外一种方法来消除误差.
: i @7 f" \( }! g2 b6 k7 O比如,10小时,误差慢1秒钟,36000秒,慢一秒,就是36000MS慢1MS
; ^* C# u1 @6 v定时器,1000MS,计时36次时,将MS计时数强行加1,依此原理.
, |1 A, N% t$ r; s7 ]如3天慢一秒,259200秒,慢1秒.
2 J- A+ J$ y1 J4 ~; F在定时器中断函数中
+ X9 ]& R( x" E |% p* x( W3 G计算259次累进一秒时,MS强行加1: S8 V+ x: }$ Z0 k3 S! [
利用这种方式,可以做出非常精确的时间显示功能
$ t1 n7 f) |# o: H1 D谢谢大家,有好的方法,请分享给大家,互相学习!!!
6 y4 |! O( I$ [. t
$ \ n; }/ m) y0 L# P0 |3 @0 @3 Q1 \0 N3 G$ H
|
|