单片机应用中,常常会遇到这种情况,在用单片机制作电子钟或要求根据时钟启控的控制系统时,会突然发现当初校准了的电子时钟的时间竟然变快或是变慢了。
于是,尝试用各种方法来调整它的走时精度,但是最终的效果还是不尽人意,只好每过一段时间手动调整一次。那么,是否可使时钟走时更精确些呢?现探讨如下:
误差原因分析
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所需的天数并进行二次调整,其精度会更高。
关键字:单片机 精度
引用地址:
单片机时钟不准怎么办?这样来调整!
推荐阅读最新更新时间:2024-11-19 12:35
基于MSP430单片机的智能阻抗测量仪设计
0 引言 RLC单独测量的方法有很多,对电阻的测量最为简单。电容电感对时变信号敏感,可将电容电感转换成与电量、时间和频率相关的物理量,通过对电量、时间或频率的测量获得电感电容值。目前通过不同的模拟电桥电路可以实现RLC参数的较精确测量,在测量时需要预先甄别RLC类型再选着合适的测量电桥和测量频率,因此测量时智能化水平不高。随着数字信号处理技术的成熟,以及AD芯片性能的提升,采用数字信号处理的方法逐渐替代了传统模拟测量信号相位、频率、幅度信息,降低了模拟器件的使用量和系统复杂程度,便于智能化控制。 基于MSP430的智能LRC测量系统,利用高速数模转换电路将信号量化处理,FPGA进行高速数字信号处理获得信号相位、幅值信息。这样
[单片机]
PIC16F616单片机学习经验总结
1.前言 为了给前一段时间学习PIC16F616型单片机的一个总结和方便大家的交流,我写了这篇关于PIC单片机的学习心得,都是在看了手册和编程调试后用自己的语言组织的,其中有不足或者有疑问的地方希望大家能及时的给予纠正和批评,提出宝贵的意见。 2.PIC单片机的概述 PIC16F616是一款14引脚、8位的CMOS单片机。采用精简指令集,仅有35条指令,由于采用了数据总线和指令总线分离的哈佛总线结构,使得除少量指令不是单周期之外,大部分的指令都是单周期指令。这样有利于提高单片机的运行速度和执行效率。 PIC16F616这款单片机供电电压可以在2V到5.5V之间,内部集成了一个RC振荡器,频率可以配置成8
[单片机]
瑞萨电子宣布将全面支持面向未来汽车级MCU 和SoC的ISO/SAE 21434标准
10月8日,瑞萨电子集团宣布,自2022年1月起的新开发项目中,瑞萨的汽车级微控制器(MCU)和片上系统(SoC)解决方案将完全满足ISO/SAE 21434道路车辆网络安全工程国际标准。瑞萨此举秉承公司对汽车网络安全的持续性承诺,旨在建立并实施强大的网络安全管理系统(CSMS),并使其成为联合国欧洲经济委员会(UNECE)新法规UN R155的组成部分。 这一承诺还向OEM(original equipment manufacturers,原始设备制造商)和一级供应商重申瑞萨将继续履行其CSMS责任。自2022年1月开始,瑞萨未来所有车用MCU和SoC都将遵循ISO/SAE 21434标准;包括16位RL78和32位RH85
[汽车电子]
剑指IoT核心领域 普诚挥军MCU事业
车用微控制器(MCU)市场添新兵。台湾车用IC设计大厂普诚科技看好微控制器的发展前景,已展开相关产品布局,未来将与其现有的各式周边晶片方案,如液晶面板驱动IC、马达控制晶片等整合成系统单晶片(SoC),并辅以相关韧体,藉此由周边走向系统核心,更加强化物联网市场战力。 普诚科技副总经理李国维表示,该公司看好微控制器前景,进而投入相关研发,希望可以藉此更加深入物联网市场。 普诚科技副总经理李国维表示,物联网下所有装置都应拥有 自我思考/控制 的能力,那么这些设备都应该需要微控制器的辅助。事实上,普诚于车用IC领域已深耕多年,但是一直以来都是生产车用周边的电子零件居多,未参与核心领域。普诚认为,投入研发MCU可为该公司带来
[物联网]
单片机c语言编程实例
1 51单片机C语言编程实例 基础知识:51单片机编程基础 单片机的外部结构: 1. DIP40双列直插; 2. P0,P1,P2,P3四个8位准双向I/O引脚;(作为I/O输入时,要先输出高电平) 3. 电源VCC(PIN40)和地线GND(PIN20); 4. 高电平复位RESET(PIN9);(10uF电容接VCC与RESET,即可实现上电复位) 5. 内置振荡电路,外部只要接晶体至X1(PIN18)和X0(PIN19);(频率为主频的12倍) 6. 程序配置EA(PIN31)接高电平VCC;(运行单片机内部ROM中的程序) 7. P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1 单片机内部I
[单片机]
兆易创新与安谋科技深化技术合作,携手共赢Arm MCU创芯机遇
中国北京(2024年8月15日)—— 业界领先的半导体器件供应商兆易创新科技集团股份有限公司(以下简称“兆易创新”)与安谋科技(中国)有限公司(以下简称“安谋科技”)共同宣布,双方将进一步加强在嵌入式芯片设计、微控制器产品规划等方面的技术合作,签署一项多年期的Arm Total Access技术授权订阅许可协议,携手共赢Arm MCU“芯”机遇。 兆易创新CTO、MCU事业部总经理李宝魁 表示:“一直以来,兆易创新依托于全球领先的Arm®技术生态,建立了完整的Arm通用型MCU产品矩阵,技术实力备受认可,这很大程度上得益于我们与安谋科技的深入合作。我们非常高兴作为国内首家MCU厂商签署Arm Total Access技
[嵌入式]
STC12C5A60S2单片机双串口同时通讯的完整版modbus程序
电路原理图如下: /****************************** 程序功能: modbus RTU 模式设置读取十六个继电器状态,以及内部保持寄存器的设置读取 硬件测试环境:单片机stc89C52RC十六继电器485接口控制板 通信协议: 晶振:11.0592 波特率:9600 8位数据 1位停止位 偶校验 485通位接口P3.7控制方向端 控制板地址: 修改localAddr(变量) 线圈个数:16个 线圈地址范围:0x0000~0x000F 保持寄存器个数:16个(字节型) 寄存器地址:0x0000~0x000F \******************************\ 功能码简介: 02:读
[单片机]
C8051F005单片机的比例电磁铁控制技术
引 言 比例电磁铁作为执行元件,是机电一体化的关键产品之一,广泛应用于各种自动化控制系统中;比例电磁铁的推力大,结构简单,维护方便,成本低廉,是应用非常广泛的电一机械转换器;比例电磁铁的特性及工作的可靠性,对于整个控制系统具有十分重要的影响,是决定控制系统品质的关键部件之一。比例电磁铁作为电一机械转换元件,其功能是将比例控制放大器输给的电流信号,转换成位移或者力信号输出。比例电磁铁适用于直流电压为24 V比例控制放大器的控制线路中,作为连续地、按比例地控制系统执行元件的运动、速度和方向的动力元件。 比例电磁铁在其额定行程范围内的推力与通入其线圈的电流成正比,可在其他需要作用力自动控制的装置上作为线性动力元件,如自动油门控制等。
[工业控制]