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

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

3天内不再提示

单片机应用误差原因分析

电子工程技术 来源:电子工程技术 作者:电子工程技术 2020-06-24 09:31 次阅读

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

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

误差原因分析

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

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

    关注

    6032

    文章

    44516

    浏览量

    633036
  • 计数器
    +关注

    关注

    32

    文章

    2253

    浏览量

    94354
  • 电子时钟
    +关注

    关注

    11

    文章

    197

    浏览量

    24498
收藏 人收藏

    评论

    相关推荐

    单片机不工作的原因

    单片机不工作是一个复杂的问题,可能涉及多个方面的因素。以下是对单片机不工作原因的详细分析,旨在帮助技术人员或爱好者更好地理解和解决这一问题。
    的头像 发表于 10-17 18:11 713次阅读

    单片机的中断机制

    单片机的中断机制是一种重要的处理方式,它允许单片机在执行主程序的过程中,能够暂停当前任务,转而处理外部或内部紧急事件。这种机制极大地提高了系统的响应速度和处理能力,使得单片机在各种应用领域中得到广泛应用。以下是对
    的头像 发表于 10-17 18:03 367次阅读

    单片机出现故障怎么维修

    单片机出现故障时,维修过程需要系统地检查和诊断,以确定故障的根本原因,并采取相应的修复措施。以下是一个详细的单片机维修指南,旨在帮助技术人员或爱好者有效地解决单片机故障问题。
    的头像 发表于 10-17 17:57 518次阅读

    单片机异常复位的原因

    单片机异常复位是指单片机在正常工作过程中,非预期地返回到初始状态或重启。这种异常复位现象可能由多种因素引起,以下是对单片机异常复位原因的详细分析
    的头像 发表于 10-17 17:56 533次阅读

    单片机烧录程序的基本步骤是什么

    单片机烧录程序是单片机开发过程中非常重要的一步,它涉及到将编写好的程序代码通过一定的方式传输到单片机内部的存储器中,使单片机能够按照预定的逻辑执行任务。 一、硬件准备
    的头像 发表于 09-02 09:47 798次阅读

    单片机振荡电路晶振不起振原因分析与解决方法

    。晶振在单片机系统中扮演着至关重要的角色,它为单片机提供稳定的时钟信号。然而,在实际应用中,晶振可能因为各种原因不起振,导致单片机无法正常工作。本文将
    发表于 08-05 15:46

    如何系统、科学地自学单片机

    很多初学者都会面临这个问题,我想学习单片机、我也想学好单片机、我也想系统地学习单片机,但是单片机涉及到的学科多且杂根本不是三天两天就能学完的,很多人都逃脱不了从入门到放弃的怪圈?那么我
    的头像 发表于 03-28 08:03 1001次阅读
    如何系统、科学地自学<b class='flag-5'>单片机</b>?

    rc串并联选频电路误差原因分析

    RC串并联选频电路误差原因分析 选频电路是一种用于选择特定频率信号的电路,在电子设备中广泛应用。其中,RC串并联选频电路是一种常见的选频电路。然而,RC串并联选频电路可能存在误差,降低
    的头像 发表于 03-01 13:58 2760次阅读

    单片机的最小系统由什么组成 单片机的最小系统包括哪些

    单片机(Microcontroller Unit,MCU)的最小系统包括以下几个主要组成部分: 单片机芯片:单片机是整个最小系统的核心部分,它集成了中央处理器(Central Processing
    的头像 发表于 02-02 11:27 9928次阅读

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

    电子时钟。通过接收到的准确时间信号,可以校准时钟的误差。需要注意的是,外部校准方式可能涉及到硬件接口和通信协议的开发,复杂度较高。 2. 通过软件校准:在单片机的程序中,可以加入校准算法,通过对时钟信号进行频率微调来校准时间误差
    的头像 发表于 01-16 16:03 2641次阅读

    伺服位置误差大的原因 怎么解决伺服电机定位误差过大的问题?

    等多个方面分析伺服位置误差大的原因,并提供相应的解决方法,帮助读者更好地理解和应对该问题。 一、机械结构 伺服电机的机械结构是定位误差的一个重要来源。机械结构问题可能包括: 1. 机械
    的头像 发表于 12-25 13:57 5563次阅读

    单片机boot脚干嘛的

    单片机boot脚是单片机的引导脚,用于控制单片机的启动和引导过程。在单片机系统中,boot脚的作用十分重要,它影响着整个单片机的工作状态和功
    的头像 发表于 12-19 09:47 9587次阅读

    单片机如何检测电流?

    单片机如何检测电流? 随着科技的发展,单片机技术在电子设备中得到了广泛应用。其中,电流检测是单片机的一个重要功能之一。本文将详细介绍单片机电流检测技术的原理与应用,并着重探讨了A/D转
    的头像 发表于 12-07 15:37 3686次阅读

    单片机复位电路工作原理

    单片机复位电路工作原理  单片机是一种集成电路,通常用于嵌入式系统中。单片机复位电路是单片机可靠工作的保证,它负责在出现故障或者异常情况时将单片机
    的头像 发表于 12-07 15:17 4126次阅读

    51单片机中断流程分析

    51单片机中断系统
    发表于 12-05 09:37 1次下载