恭喜,你发布的帖子
发布于 2025-11-13 10:50:20
49楼
补充一点回忆吧。最早接触RTC是一块个头比较大的达拉斯的RTC芯片,当时我们单位用的单片机是8051,不是现在的51,是Intel原装的8051,功能比现在的差得远!当时的单片机系统需要显示一个倒计时的时间,结果发现同一批次的产品,这个倒计时在一个小时内可能相差超过10s,而程序完全一样,开始怀疑晶振的误差,检测后发现确实有这个问题,但不应该有这么大啊(检测方法就是在同一个产品中,更换不同的晶振)!于是又用同一个晶振匹配不同的8051板子,发现误差很大。然后,用同一个板子,更换不同的8051芯片,发现芯片的时基几乎可以忽略不计!得出的结论就是晶振周边、温度等都会导致误差。另外做了一块小的PCB,加上那个达拉斯的RTC,给每块8051的PCB板子设置一个时基系数,然后就可以做到误差很小。当时还准备在下一代产品中直接加入这个RTC,可惜产品寿命没有那么长,几年就落伍了。
8051 这种入门单片机不像 STM32 自带RTC,其时钟周期完全依赖外部晶振,所以误差其实不应该跟 51 芯片有任何关系,还是晶振精度的问题,包括你说的晶振外围环境因素,我用宏晶的 STC89C52+12M晶振做时钟,一天的误差也是相当感人,如果不配置时基电路的话,确实是没办法当时钟用的。
请填写推广理由:
分享
只看
楼主