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

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

3天内不再提示

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

GReq_mcu168 来源:互联网 作者:佚名 2017-10-30 06:43 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

误差原因分析

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


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

    关注

    35

    文章

    3670

    浏览量

    73932
  • 计数器
    +关注

    关注

    32

    文章

    2324

    浏览量

    98726
  • 电子钟
    +关注

    关注

    7

    文章

    191

    浏览量

    38153

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

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    从参数层面了解医院电子时钟配置特点

    医院电子时钟是医院整体时间同步系统里重要的终端显示设备,适配门诊楼、住院楼、手术室、走廊护士站等多处场景使用,自身各项技术参数,直接关系到日常走时稳定、画面显示效果以及长期使用的适配性。 山东唯尚
    的头像 发表于 05-11 14:15 79次阅读
    从参数层面了解医院<b class='flag-5'>电子时钟</b>配置特点

    【瑞萨RA2L1入门学习】+ RTC电子时钟

    在RA-Eco-RA2L1内部,配以RTC计时器,使用它可以方便地实现电子时钟功能。 要使用RTC功能,需使用RASC来添加RTC,完成后如图1所示。 图1 加入RTC 随后,再按图2所示来设置
    发表于 04-26 15:33

    【RA-Eco-RA4M2开发板评测】+ 基于点阵屏显示的RTC电子时钟

    RA4M2配有RTC计时器,将它与点阵屏相配合可方便地实现一个电子时钟公告牌。 使用RTC功能,需RASC在栈中添加RTC,见图1所示。然后按图2修改参数设置。 图1 添加RTC 图2 参数设置
    发表于 04-21 14:17

    不止于设备:医院电子时钟解决方案是否包含施工?

    在医院信息化项目中,采购人员常常面临一个模糊地带:当供应商报出一套“电子时钟解决方案”时,这个“方案”究竟包含什么?是仅仅将几台时钟设备送到医院门口,还是包括了从前期勘测、线路敷设、墙体开孔、设备
    的头像 发表于 03-25 09:36 192次阅读
    不止于设备:医院<b class='flag-5'>电子时钟</b>解决方案是否包含施工?

    浅谈高精度晶振与铷原子时钟的区别

    在现代通信、导航、工业控制和科研领域,精确的时间和频率基准是保证系统性能的核心。今天凯擎小妹聊一下高精度晶振和铷原子时钟这两类常用时钟源,它们各有特征、优势和局限性。
    的头像 发表于 03-19 09:22 566次阅读
    浅谈高精度晶振与铷原<b class='flag-5'>子时钟</b>的区别

    嵌入式电子时钟硬核进化史:从单片机到网络对时

    在现代科技生活中,电子时钟似乎是最不起眼的存在。然而,对于嵌入式工程师和极客而言,嵌入式电子时钟不仅是一个计时工具,更是硬件控制、低功耗设计与软件算法的集大成者。从早年单纯的单片机计数,到如今支持NTP网络对时的高精度设备,这块
    的头像 发表于 03-10 11:31 427次阅读
    嵌入式<b class='flag-5'>电子时钟</b>硬核进化史:从单片机到网络对时

    时间基准的核心力量:低相噪铷原子振荡时钟的多领域应用解析

    关键词:铷原子钟、铷原子振荡器、铷原子时钟、低相噪铷原子钟 在数字化浪潮席卷全球的今天,时间频率的精准度已成为衡量科技实力的核心指标之一。西安同步电子科技有限公司深耕时间频率同步领域,凭借多年技术
    发表于 01-16 10:20

    【EASY EAI Nano-TB(RV1126B)开发板试用】+电子时钟计时效果的实现

    在实现串行数码管显示模块驱动的情况下,通过与延时函数的配合即可实现电子时钟计时效果。 其程序内容为: 运行脚本程序的方法如图1所示,其运行效果见图2所示。 图1 运行方法 图2 运行效果 演示视频:
    发表于 12-24 19:17

    NTP电子时钟系统:安徽京准提升医院高效运行

    NTP电子时钟系统:安徽京准提升医院高效运行
    的头像 发表于 10-31 14:11 623次阅读
    NTP<b class='flag-5'>电子时钟</b>系统:安徽京准提升医院高效运行

    浙江赛思电子时钟缓冲器的应用条件

    ,帮助您更好地理解其在电子设计中的重要性。一、什么是时钟缓冲器?时钟缓冲器,又称为时钟驱动器或时钟
    的头像 发表于 09-04 15:01 1097次阅读
    浙江赛思<b class='flag-5'>电子时钟</b>缓冲器的应用条件

    【RA4M2-SENSOR】+RTC与电子时钟

    在RA4M2-SENSO内部,配以RTC计时器,使用它可方便地实现电子时钟功能。 要使用RTC功能,需使用RASC来添加RTC,见图1所示。然后再按图2所示加入RTC。 图1 加入RTC 图2
    发表于 09-03 12:08

    【RA-Eco-RA6M4开发板评测】+电子时钟的实现

    在对进度要求不是很高的情况下,通过毫秒级延时函数的使用即可快速地实现电子时钟计时效果。 为此,在原OLED屏的显示函数中需添加一个数值显示函数,其内容为: void OLED_ShowNum
    发表于 07-23 21:03

    赛思电子时钟缓冲器的组成与应用介绍

    时钟缓冲器是现代电子系统中重要的组成部分,它可以有效地解决时钟信号在长距离传输和电路间切换时遇到的问题。在大多数电子设备中,时钟信号被用来同
    的头像 发表于 07-15 17:27 802次阅读
    赛思<b class='flag-5'>电子时钟</b>缓冲器的组成与应用介绍

    【沁恒CH585开发板免费试用体验】+电子时钟功能的实现

    从相关这里看CH585是内置RTC的,但在例程中却没见到其身影,为此只好使用延时函数来实现电子时钟计时功能,尽管对精度产生影响,但在短时的应用中其累积误差还是基本可以接收的。 通过与前面介绍
    发表于 07-04 21:32

    4G无线电子时钟助力智慧城市建设

    4G无线电子时钟是一种通过4G网络实现时间同步和数据传输的智能时钟设备,具有实时精准、远程管理、多功能集成等特点,其应用场景广泛,涵盖多个领域,以下是具体介绍: 一、公共服务与市政设施场景 1.城市
    的头像 发表于 05-26 15:50 874次阅读