0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机电子时钟误差原因分析

MCU开发加油站 来源:畅学电子 作者:畅学电子 2021-01-18 16:18 次阅读

单片机应用中,常常会遇到这种情况~

在用单片机制作电子钟或要求根据时钟启控的控制系统时,会突然发现当初校准了的电子时钟的时间竟然变快或是变慢了。 于是,尝试用各种方法来调整它的走时精度,但是最终的效果还是不尽人意,只好每过一段时间手动调整一次。那么,是否可使时钟走时更精确些呢?现探讨如下:

误差原因分析

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

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

627b5bf2-5758-11eb-8b86-12bb97331649.jpg

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

解决方法

1、采用高精度晶振方案

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

2、动态同步修正方案

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

具体程序如下:

629d3b32-5758-11eb-8b86-12bb97331649.jpg

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

3、自动调整方案

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

62cc7320-5758-11eb-8b86-12bb97331649.jpg

以下是一个完整实例:

62f0a204-5758-11eb-8b86-12bb97331649.jpg

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620844
  • 控制系统
    +关注

    关注

    41

    文章

    5963

    浏览量

    108713
  • 电子时钟
    +关注

    关注

    11

    文章

    197

    浏览量

    24124

原文标题:单片机电子时钟时间误差如何调整有效?

文章出处:【微信号:mcugeek,微信公众号:MCU开发加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    单片机电子时钟走时更精确的方法

    更精确些呢?  误差原因分析 1.单片机电子时钟的计时脉冲基准,是由外部晶振的频率经过12分频后提供的,采用内部的定时,计数器来实现计时功能。所以,外接晶振频率的精确度直接影响
    发表于 04-08 07:19

    RX和RA系列主时钟电路和子时钟电路设计指南

    电子发烧友网站提供《RX和RA系列主时钟电路和子时钟电路设计指南.pdf》资料免费下载
    发表于 02-19 10:20 1次下载
    RX和RA系列主<b class='flag-5'>时钟</b>电路和<b class='flag-5'>子时钟</b>电路设计指南

    #时钟 #电子时钟 标准考场时钟 校园时钟 网络时钟授时

    仪器仪表电子时钟
    落秋的大西北
    发布于 :2024年01月23日 10:20:37

    单片机电子时钟时间误差如何调整有效?

    单片机电子时钟时间误差如何调整有效? 单片机电子时钟的时间误差可以通过以下几种方式进行调整和校正: 1. 外部校准:使用外部可靠的时钟源(例
    的头像 发表于 01-16 16:03 845次阅读

    单片机电子时钟功能介绍

    单片机电子时钟是一种基于微处理器和数字时钟显示技术的计时装置。它通过内部的晶振电路精确地计算时间,并将结果显示在数字时钟面板上。在现代生活中,电子时钟已经成为了人们日常生活中不可或缺的
    的头像 发表于 01-08 14:40 527次阅读

    基于51单片机的多功能电子时钟设计

    基于51单片机的多功能电子时钟设计(仿真)
    发表于 01-02 09:39 9次下载

    基于RA6M5开发板的低功耗电子时钟设计

    本项目是基于启明RA6M5开发板搭载2.4寸液晶屏的电子时钟,该电子时钟有两个模式——正常模式和低功耗模式,可以通过开发板的按键改变时钟模式。
    的头像 发表于 12-25 12:26 499次阅读
    基于RA6M5开发板的低功耗<b class='flag-5'>电子时钟</b>设计

    单片机时钟和晶振的作用

    时钟时钟信号用于同步单片机内部各个模块的工作,包括指令执行、数据传输、定时器计数等。时钟信号的稳定性和精确性对于单片机的正常运行和计时非常
    的头像 发表于 11-15 09:50 534次阅读

    单片机中ADC采集都存在哪些误差

    单片机中ADC采集都存在哪些误差
    的头像 发表于 09-18 16:31 2316次阅读
    <b class='flag-5'>单片机</b>中ADC采集都存在哪些<b class='flag-5'>误差</b>?

    单片机蜂鸣器不响是什么原因

    单片机蜂鸣器不响是什么原因  单片机蜂鸣器是常见的电子元件之一,可用于报警、提示等场合。然而,在实际应用中,单片机蜂鸣器不响的情况也时有发生
    的头像 发表于 09-13 10:43 3386次阅读

    怎么设计一种基于51单片机的多功能电子时钟

    设计任务:利用单片机时钟芯片 DS1302、温度传感器 DS18B20、1602 液晶 等实现日期、时间、温度的显示即一个简单的万年历。
    发表于 08-29 14:53 351次阅读
    怎么设计一种基于51<b class='flag-5'>单片机</b>的多功能<b class='flag-5'>电子时钟</b>?

    基于51单片机的简易时钟设计

    基于51单片机的简易时钟设计
    的头像 发表于 08-01 01:09 1861次阅读
    基于51<b class='flag-5'>单片机</b>的简易<b class='flag-5'>时钟</b>设计

    基于Milk-V Duo 开发板的电子时钟

    电子时钟
    jinglixixi
    发布于 :2023年07月05日 00:03:44

    基于单片机电子音乐Proteus仿真程序

    基于单片机电子音乐Proteus仿真设计资料
    发表于 05-22 15:35 0次下载

    基于51单片机的数码管显示电子时钟例程源代码

    基于51单片机的数码管显示电子时钟例程源代码
    发表于 05-12 16:33 40次下载