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

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

    关注

    6074

    文章

    45340

    浏览量

    663528
  • 计数器
    +关注

    关注

    32

    文章

    2306

    浏览量

    97571
  • 电子时钟
    +关注

    关注

    11

    文章

    203

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    第1章 如何学习单片机

      在错误的道路上日夜兼程,最终也无法成功,方法和思路绝对是最重要的。本章节讲到的学习单片机的方法,都是作者学习单片机的无数经验和教训总结出来的瑰宝。通过作者前面的披荆斩棘,开辟了道路,可以告诉读者
    的头像 发表于 10-10 10:32 234次阅读

    单片机用什么封装

    单片机封装是将芯片内部电路与外部引脚连接并包裹保护的结构,不仅影响单片机的安装方式、适用场景,还与电路设计的紧凑性、散热性能密切相关。不同封装类型各有特点,适配从简单电路到复杂系统的多样化需求
    的头像 发表于 08-01 13:47 896次阅读

    什么单片机比较耐用

            在工业控制、户外设备、医疗仪器等场景中,单片机的耐用性直接决定了设备的稳定运行与维护成本。耐用的单片机通常具备宽温工作范围、强抗干扰能力、稳定的电源适应性和长寿命的硬件设计。深圳市安
    的头像 发表于 07-31 13:48 552次阅读

    怎么测单片机系统频率

    单片机系统频率是指单片机工作时的时钟频率,它直接影响单片机的运行速度和处理能力,准确测量系统频率对单片机应用开发、程序调试和性能优化具有重要意义。测量
    的头像 发表于 07-25 11:39 476次阅读

    单片机怎么驱动电机?

    在各类自动化设备和智能装置中,电机是重要的执行部件,而单片机作为控制核心,需要通过特定的方式驱动电机运转。单片机驱动电机并非直接连接即可,而是要根据电机类型和功率,搭配合适的驱动电路,才能实现稳定
    的头像 发表于 07-25 09:31 438次阅读

    单片机怎么烧程序

    单片机烧程序是将编写好的程序代码写入单片机内部存储单元,让单片机按照预设逻辑工作的过程,是单片机应用开发中不可或缺的环节。无论是简单的灯光控制程序,还是复杂的工业控制算法,都需要通过烧
    的头像 发表于 07-23 11:47 650次阅读

    低功耗单片机各型号的对比及选型参考

    不同品牌、不同系列的低功耗单片机在功耗控制、性能表现、外设配置等方面各有特点,通过低功耗单片机各型号的对比,能帮助开发者更精准地匹配应用需求。本文将围绕主流低功耗单片机型号展开对比,并介绍在
    的头像 发表于 07-22 18:25 918次阅读

    单片机定制开发的设计思路

    单片机定制开发是根据特定场景和功能需求,量身打造符合要求的单片机应用方案,其设计过程需要兼顾技术可行性与实际应用价值,涉及多个关键环节。 一、需求分析阶段 单片机定制开发的第一步是深入
    的头像 发表于 07-17 11:14 584次阅读
    <b class='flag-5'>单片机</b>定制开发的设计思路

    KF32A136系列单片机产品介绍

    F32A136 系列单片机是基于 KF32 内核架构开发的单片机
    的头像 发表于 06-27 11:42 1668次阅读
    KF32A136系列<b class='flag-5'>单片机</b>产品介绍

    KF32A156系列单片机产品介绍

    KF32A156 系列单片机是基于 KF32 内核架构开发的单片机。KF
    的头像 发表于 06-26 14:43 1381次阅读
    KF32A156系列<b class='flag-5'>单片机</b>产品介绍

    单片机科普总结,建议收藏!

    单片机(MicrocontrollerUnit,MCU)作为嵌入式系统的核心之一,在现代电子产品中无处不在。从智能家居、汽车电子,到工业控制、医疗设备,单片机支撑着无数智能化应用的发展。对于初学者
    的头像 发表于 04-07 11:58 4467次阅读
    <b class='flag-5'>单片机</b>科普总结,建议收藏!

    什么是单片机的ADC接口

    在嵌入式系统和工业自动化领域,单片机(Microcontroller)作为核心控制单元,承担着数据采集、处理和控制的重要任务。其中,模数转换器(Analog-to-Digital Converter
    的头像 发表于 02-03 11:27 3724次阅读

    直线导轨测量误差原因

    直线导轨测量误差原因是多方面的,需要综合考虑各种因素并采取相应的措施来减小误差
    的头像 发表于 01-18 17:45 822次阅读
    直线导轨测量<b class='flag-5'>误差</b><b class='flag-5'>原因</b>

    51单片机pwm和spwm

    51单片机pwm
    发表于 01-08 15:54 3次下载

    单片机Debug工具性能对比 单片机调试常用命令

    单片机(Microcontroller Unit, MCU)调试是嵌入式开发中的一个重要环节,它帮助开发者发现和修复代码中的错误,优化程序性能。不同的单片机和开发环境可能使用不同的调试工具和命令
    的头像 发表于 12-19 09:56 2162次阅读