历史上的今天
返回首页

历史上的今天

今天是:2025年12月09日(星期二)

正在发生

2022年12月09日 | 单片机时钟不准怎么办?这样来调整!

2022-12-09 来源:zhihu

单片机应用中,常常会遇到这种情况,在用单片机制作电子钟或要求根据时钟启控的控制系统时,会突然发现当初校准了的电子时钟的时间竟然变快或是变慢了。


于是,尝试用各种方法来调整它的走时精度,但是最终的效果还是不尽人意,只好每过一段时间手动调整一次。那么,是否可使时钟走时更精确些呢?现探讨如下:


误差原因分析

1.单片机电子时钟的计时脉冲基准,是由外部晶振的频率经过12分频后提供的,采用内部的定时,计数器来实现计时功能。所以,外接晶振频率的精确度直接影响电子钟计时的准确性。

2.单片机电子时钟利用内部定时,计数器溢出产生中断(12MHz晶振一般为50ms)再乘以相应的倍率,来实现秒、分、时的转换。大家都知道,从定时,计数器产生中断请求到响应中断,需要3_8个机器周期。定时中断子程序中的数据人栈和重装定时,计数器的初值还需要占用数个机器周期。此外。从中断人口转到中断子程序也要占用一定的机器周期。例如:

从上述程序可以看出,从中断人口到定时/计数器初值的低8位装入需要占用2+2+2=6个机器周期。所以,在编程时一般会把这6个机器周期加入定时/计数器的初值中。但是,从定时,计数器溢出中断请求到执行中断需要几个机器周期(3~8个机器周期)。就很难确定准确值,正是这一原因导致了电子时钟计时的不准。

解决方法

1、采用高精度晶振方案

虽然采用高精度的晶振可以稍微提高电子钟计时的精确度,但是晶振并不是导致电子钟计时不准的主要因素,而且高精度的晶振价格较高,所以不必采用此方案。

2、动态同步修正方案

从程序人手,采用动态同步修正方法给定时,计数器赋初值。动态同步修正方法如下:由于定时,计数器溢出后,又会从O开始自动加数,故在给定时/计数器再次赋值前,先将定时,计数器低位(TLO)中的值和初始值相加,然后送人定时,计数器中,此时定时,计数器中的值即为动态同步修正后的准确值。具体程序如下:

采用此种方法后,相信制作的电子时钟的精度已有提高了。

3.自动调整方案

采用同步修正方案后,电子时钟的精度虽然提高了很多,但是由于晶振频率的偏差和一些其他未知因素的影响(同一块电路板、同样的程序换了一片单片机后,走时误差不一样,不知是何原因),时间长了仍然会有积累误差。为此,可采用自动调整方案。实际上是一种容错技术。其自动调整原理为:实测出误差Is所需的时间,然后每隔这样一段时间后就对秒进行加“1”或减“1”调整。例如:电子钟每过50小时就慢1秒,其自动调整程序如下:

以下是一个完整实例:

结语

使用此方法调整较费时间,但效果非常好。经实验,一次调整可/以将月误差控制在Is左右,如按此方法再次测出误差Is所需的天数并进行二次调整,其精度会更高。


推荐阅读

史海拾趣

Clulite公司的发展小趣事
  1. 创业初期
    • 描述Clulite公司的创始人或核心团队如何识别电子行业中的某个市场机遇。
    • 讲述他们是如何筹集初始资金,设立公司,并开发出第一款产品或解决方案的。
    • 可以提及公司在初创阶段面临的挑战,如技术难题、市场竞争等。
  2. 技术创新
    • 讲述Clulite如何通过研发创新,推出了一款颠覆性的产品或技术,从而获得了市场认可。
    • 详细描述这一创新过程,包括研发团队的努力、关键技术的突破等。
    • 提及这一创新如何帮助公司在市场上取得了竞争优势。
  3. 市场拓展
    • 描述Clulite如何逐步扩大市场份额,从地区市场走向全国乃至国际市场。
    • 可以讲述公司如何建立销售网络、与合作伙伴建立合作关系,以及参与行业展会等活动来推广品牌和产品。
    • 提及公司在市场拓展过程中遇到的挑战和应对策略。
  4. 品质管理
    • 讲述Clulite如何注重产品质量和客户体验,通过严格的质量控制流程来提升产品可靠性。
    • 描述公司如何建立完善的售后服务体系,为客户提供及时、专业的支持。
    • 提及这些举措如何帮助公司赢得了客户的信任和口碑。
  5. 可持续发展
    • 讲述Clulite如何关注环境保护和社会责任,推动公司的可持续发展。
    • 描述公司如何采取环保措施,减少生产过程中的污染排放。
    • 提及公司如何参与社会公益事业,回馈社会。

请注意,这些故事需要根据Clulite公司的实际情况进行调整和补充。如果你需要更具体的内容,建议查阅Clulite公司的官方网站、新闻报道或行业分析报告,以获取更详细的信息和数据。

ETA Electric Industry Co Ltd公司的发展小趣事

近年来,ETA Electric Industry Co Ltd积极响应全球环保倡议,致力于实现可持续发展。他们优化了生产流程,减少了废弃物和污染物的排放。同时,公司还加大了对环保型电子元器件的研发力度,推出了一系列节能、环保的新产品。这些举措不仅提升了公司的社会形象,也为其在激烈的市场竞争中增添了新的优势。

上述五个故事,讲述了ETA Electric Industry Co Ltd在电子行业的发展历程。从起步之初的艰难,到技术创新的突破,再到市场拓展和质量管理的成功,最后到对环保和可持续发展的追求,每一步都体现了公司的成长和进步。

FRIWO公司的发展小趣事

为了更好地服务中国市场和亚太地区的客户,FRIWO在中国深圳设立了生产基地——飞煌德商科技(深圳)有限公司。该生产基地负责开发、生产、加工电源变换器、电源充电器等产品,并承担自产产品及同类商品的批发、佣金代理、进出口及相关配套业务。飞煌德商科技(深圳)有限公司的成立和发展,不仅增强了FRIWO在中国市场的竞争力,也为公司的全球化战略提供了有力支持。通过不断优化生产流程、提升产品质量和服务水平,飞煌德商科技(深圳)有限公司逐渐成为了FRIWO在全球供应链中的重要一环。

Engineered Components Co公司的发展小趣事

随着市场竞争的加剧,ECC意识到只有不断创新才能保持领先地位。因此,公司加大了对研发的投入,引进了一批先进的研发设备和人才。经过数年的努力,ECC成功研发出了具有更高精度、更好性能的电子连接器,并推出了一系列新型电子元件。这些新产品不仅满足了客户日益增长的需求,还为公司带来了更多的市场份额。

世纪金光(CENGOL)公司的发展小趣事

自成立以来,世纪金光始终注重科研实力的积累。公司积极承担国家科研任务,已转接和直接承担国家科研任务80多项。在这些科研项目中,世纪金光取得了丰硕的成果,其中12项成果处于国内同类技术领先水平,5项成果达到国际先进水平。这些成果的取得不仅提升了公司的技术水平,也为公司在半导体领域的竞争提供了有力支撑。

Excelight Communications Inc公司的发展小趣事

Excelight非常重视企业文化建设。公司倡导“创新、协作、务实、进取”的企业精神,鼓励员工勇于探索、敢于创新。同时,Excelight还为员工提供了良好的工作环境和福利待遇,吸引了大量优秀人才的加入。

在企业文化的影响下,Excelight的团队凝聚力不断增强,员工的积极性和创造力得到了充分发挥。这使得公司在面对市场变化和竞争挑战时能够迅速作出反应和调整。

问答坊 | AI 解惑

请教关于虚拟机中的鼠标的问题

各位 我安装虚拟机的时候 遇到一个奇怪的现象 虚拟机安装好以后 在linux下面鼠标箭头能动 但是不能单击或者双击 有谁知道这是怎么回事么?谢谢…

查看全部问答>

有这样的电路吗?

我想做个简单的转换电路,首先告诉大家我是菜鸟级的。。。。。 是否可以利用断开的信号触发一个电路。 可能有点模糊。 我现在有个信号是驱动继电器,但是这个信号工作正常的时候是常开的,希望:当工作出现故障时候才能驱动24V继电器。 我希望 ...…

查看全部问答>

freescale应用笔记—Coldfire篇

一本很不错的Coldfire的中文资料 http://www.eefocus.com/html/09-01/4155090501315gm8.shtml…

查看全部问答>

为什么移植ucos2.86的时候提示os_core.c找不到?

   我用的REALVIEW MDK4.0,移植ucosii,内核文件都已经加到工程中去了,为什么编译结果显示找不到内核文件,no such file or directory 是不是工 程需要什么设置啊,好郁闷。大家帮忙看看,谢谢!…

查看全部问答>

Windows CE.NET 4.1 SDK 急用!!!

目前要做一个PDA的开发,这个PDA是用的Windows CE.NET 4.1,,我这里没有相应的SDK,应用软件无法开发下去,,大家帮帮忙,知道哪里有下载的就告诉一下,,或者您这里有,我们私下联系.谢谢!!…

查看全部问答>

嵌入式开发求选硬件!!!

本人现转嵌入式开发,想先选择一款硬件产品平台,对情况不是很了解,请大家帮帮忙。 要求是:CPU尽可能的高,是要转动三维游戏的(目前最高的嵌入式芯片可达到1.0G);屏幕大; 另外现在智能手机很越来越普遍,是配置一台整机呢,还是自己配置相 ...…

查看全部问答>

可以改造电脑主板为开发板吗

想学嵌入式系统,比如linux内核,能否把主板当作开发板来用啊,如果可以的话,又需要注意什么?…

查看全部问答>

51单片机的多任务处理问题

51单片机连接一个马达,一个传感器.能否在驱动马达后,在马达转动的同时去读传感器的数据呢?还是只有马达停下之后才能去读?本人初学者,希望高手能讲得详细一些,谢谢…

查看全部问答>

请问万利的EKSTM32F上面的液晶是怎么驱动的?

请问万利的EKSTM32F上面的液晶是怎么驱动的?有没有数据手册?…

查看全部问答>

MDK配置向导详解

完整的文档 MDK配置向导详解.pdf   http://blog.eeworld.com.cn/user1/5817/archives/2009/63800.html…

查看全部问答>