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

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

3天内不再提示

单片机制作电子钟之巧妙运用时钟启控控制系统校准电子时钟

h1654155971.7688 来源:互联网 作者:佚名 2017-11-03 09:44 次阅读

导读:本文针对用单片机制作电子钟或要求根据时钟启控的控制系统时,出现的校准了的电子时钟的时间竟然变快或是变慢了的情况而提出的一种解决方案。

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

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

一、误差原因分析

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所需的天数并进行二次调整,其精度会更高。

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

原文标题:你的单片机时钟不准了,这样来调整!

文章出处:【微信号:weixin21ic,微信公众号:21ic电子网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    单片机电子时钟计时脉冲基准误差分析

    本文针对用单片机制作电子钟或要求根据时钟启控的控制系统时,出现的校准了的电子时钟的时间竟然变快或
    的头像 发表于 10-23 11:16 9516次阅读

    单片机电子时钟时间误差的原因及解决办法

    单片机应用中,常常会遇到这种情况~~在用单片机制作电子钟或要求根据时钟控的控制系统时,会突然发
    发表于 01-27 07:00

    如何使单片机时钟走时更精确些

    本文针对用单片机制作电子钟或要求根据时钟控的控制系统时,出现的校准了的
    发表于 03-03 07:57

    基于单片机电子时钟设计与制作

    电子DIY》单片机实践项目》基于单片机电子时钟设计与
    发表于 01-17 06:05

    单片机设计电子时钟方案集合

    单片机设计电子时钟方案集合。用单片机设计电子时钟方案集合
    发表于 12-28 12:00 29次下载

    单片机原理及应用课程设计--电子时钟设计

    单片机原理及应用课程设计--电子时钟设计
    发表于 01-04 11:38 0次下载

    单片机课程设计--电子时钟设计

    单片机课程设计--电子时钟设计
    发表于 01-04 11:31 0次下载

    单片机时钟精度调整解析

    本文针对用单片机制作电子钟或要求根据时钟启控的控制系统时,出现的校准了的电子时钟的时间竟然变快或
    发表于 10-16 17:21 4次下载
    <b class='flag-5'>单片机时钟</b>精度调整解析

    电子时钟计时脉冲基准,哪种方式会更好?

    本文针对用单片机制作电子钟或要求根据时钟启控的控制系统时,出现的校准了的电子时钟的时间竟然变快或
    的头像 发表于 10-30 06:43 6318次阅读

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

    单片机应用中,常常会遇到这种情况~~在用单片机制作电子钟或要求根据时钟启控的控制系统时,会突然发现当初
    发表于 01-26 08:29 9次下载
    <b class='flag-5'>单片机电子时钟</b>时间误差如何调整有效?

    基于51单片机的数字电子时钟

    51单片机实现数字电子时钟基于51单片机的数字电子时钟功能按键仿真图代码基于51单片机的数字电子时钟
    发表于 11-13 09:06 91次下载
    基于51<b class='flag-5'>单片机</b>的数字<b class='flag-5'>电子时钟</b>

    电子DIY》之《单片机实践项目》之基于单片机电子时钟设计与制作(基于单片机的万年历的设计与制作

    电子DIY》之《单片机实践项目》之基于单片机电子时钟设计与制作(基于单片机的万年历的设计与
    发表于 01-18 09:47 18次下载
    《<b class='flag-5'>电子</b>DIY》之《<b class='flag-5'>单片机</b>实践项目》之基于<b class='flag-5'>单片机</b>的<b class='flag-5'>电子时钟</b>设计与<b class='flag-5'>制作</b>(基于<b class='flag-5'>单片机</b>的万年历的设计与<b class='flag-5'>制作</b>)

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

    本文针对用单片机制作电子钟或要求根据时钟启控的控制系统时,出现的校准了的电子时钟的时间竟然变快或
    发表于 02-09 11:19 2次下载
    <b class='flag-5'>单片机电子时钟</b>时间误差如何调整最有效?

    单片机时钟不准怎么办?这样来调整!

    单片机应用中,常常会遇到这种情况,在用单片机制作电子钟或要求根据时钟启控的控制系统时,会突然发现当初校准
    发表于 02-09 12:18 3次下载
    <b class='flag-5'>单片机时钟</b>不准怎么办?这样来调整!

    基于51单片机电子时钟设计

    基于51单片机电子时钟
    发表于 06-29 14:25 56次下载