数字钟误差原因分析及解决方案
北极星电波钟时间不准的解决方法

北极星电波钟时间不准的解决方法1. 导言:当北极星电波钟不靠谱了哎呀,你有没有遇到过这种情况:你家的北极星电波钟,那个号称能准确到秒的高科技产品,突然就开始“撒娇”了,时间不对了,变成了个“大问题钟”?一开始,咱们还想着这是钟表小脾气,瞧不起它,不可思议的天文现象,结果它真给你搞了个大乌龙。
别急着埋怨这钟表了,很多时候问题不在它,而是在我们的使用环境和一些小细节上。
别担心,今天就跟我一起来把这些小麻烦一一解决,把钟表恢复到它的“完美状态”。
2. 了解北极星电波钟的工作原理2.1 电波钟的基本原理首先,咱们得弄明白,北极星电波钟怎么回事。
它其实是靠接收电波来校准时间的,电波钟里面有个小天线,它会接收从国家标准时间广播发出的信号。
听上去是不是特别高大上?对,这就是电波钟的神奇之处,它理论上能一直保持时间精准得像神仙一样。
但问题是,电波钟也有它的脆弱之处,比如受到干扰、信号弱等等。
2.2 电波信号的影响因素不过,别以为这钟表就是个完美的时间管理大师。
有时候,电波信号被干扰或者接收不到,也就导致钟表时间不准。
什么干扰呢?家里的大功率电器、无线信号的设备,甚至是某些建筑物的结构,都会影响到信号的接收。
就像你去咖啡馆用WiFi信号不稳定一样,这些因素也会让你的电波钟遇到麻烦。
3. 解决北极星电波钟时间不准的方法3.1 检查信号接收环境首先,你得看看钟表的位置是不是有问题。
电波钟对信号的接收非常挑剔,最好把它放在离窗户近的地方,远离大功率电器,比如说微波炉、冰箱等。
这个位置就像你在家里找个好位置看电视一样,直接关系到信号好不好。
要是可能的话,把电波钟放在离墙角远一点的地方,避免一些干扰源。
3.2 调整时间校准设置有时候,钟表可能需要手动进行时间校准。
看看你家那电波钟的说明书,里面一般会有如何手动校准时间的指导。
一般来说,这个过程非常简单,只需要按几个按钮,就能让钟表重新“找准时间”。
在校准的过程中,记得要保持安静,避免有强烈的干扰信号。
数字电子钟方案及对策

一、设计方案1、总体设计方案说明及系统框图:数字钟是计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和报时功能。
一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成。
干电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。
秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。
将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发现一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。
“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。
“时计数器”采用24进制计时器,可实现对一天24小时的累计。
译码显示电路将“时”、“分”、“秒”计数器的输出状态菁七段显示译码器译码,通过LED显示器显示出来。
整点报时电路时根据计时系统的输出状态产生一脉冲信号,控制信号灯亮灭周期。
由于计数的起始时间不可能与标准时间(如时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。
通常使用石英晶体振荡器电路构成数字钟。
校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整的。
数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。
数字电子钟的总体框图如下图所示。
系统框图:2、单元电路设计方案:1)振荡器和分频器振荡器的作用是产生时间标准信号。
数字钟的精度就是主要取决于时间标准信的频率和稳定度。
所以,在实验中采用脉冲信号作为时间标准信号源。
2)计数器根据计数周期分别组成两个60进制(秒、分)和一个24进制(时)的计数器。
把它们适当连接构成秒、分、时的计数,(分计数器中分的个位和十位计数单元的状态转换和秒计数器中的是一样的,只是它要把进位信号传输给时的个位计数单元。
) 实现计时功能。
时钟与日历的问题解决

时钟与日历的问题解决时钟和日历是我们日常生活中应用广泛的时间测量工具,它们在我们的生活中起着至关重要的作用。
然而,在使用时钟和日历的过程中,我们经常会遇到一些问题和困扰。
本文将针对时钟和日历的一些常见问题进行解决,帮助我们更好地利用这些工具。
一、时钟问题解决时钟是衡量时间的主要工具之一,我们用它来安排日常生活和工作计划。
然而,时钟也常常会出现一些问题,如时间不准确、时间调整等。
下面将针对这些问题进行解决。
1. 时间不准确当时钟的时间不准确时,我们需要对其进行校正。
常见的时钟校正方法有两种,手动校正和自动校正。
手动校正是指通过调节时钟表盘上的调整钮来对时钟进行时间校正。
而自动校正则是利用时钟内部的电子芯片与标准时间源进行同步,自动校正时钟时间。
对于手表式时钟,我们可以使用标准时间源,如手机、电视等,通过对时钟表盘上的调整钮进行适当调整来保持时间准确。
对于电子式时钟,我们可以通过设置时钟自动与互联网上的标准时间进行同步来保持时间的准确性。
2. 时间调整有时我们需要调整时钟的时间,比如夏令时调整、时区调整等。
对于夏令时调整,我们需要根据当地规定的时间调整方案,手动将时钟向前或向后调整一小时,以适应夏季时间调整。
对于时区调整,我们需要根据自己所在地的时区,手动将时钟上的时区设置进行调整,以确保时间的准确性。
二、日历问题解决日历是记录和安排时间的重要工具,它可以帮助我们了解日期、节假日等信息。
然而,有时我们在使用日历时也会遇到一些问题,如日期计算、日期转换等。
下面将分别对这些问题进行解决。
1. 日期计算在日常生活中,我们经常需要对日期进行计算,比如计算两个日期之间的天数、周数等。
对于简单的日期计算,我们可以使用纸笔进行计算,但对于复杂的计算,我们可以借助计算机软件或在线工具来进行计算。
这些工具可以帮助我们快速准确地计算日期差距,提高工作效率。
2. 日期转换有时候我们需要将日期进行转换,比如将公历日期转换为农历日期、将阳历生日转换为星座日期等。
试析数字钟电路的设计不足及改进策略

• 164•数字钟电路的设计是保证新时期的数字钟应用质量得到全面优化处置的关键,本文首先对数字钟电路设计存在的不足之处进行了总结研究,并结合实际情况,制定了数字钟电路的正确设计方案,对提升新时期数字钟的综合性设计应用质量,具有重要积极意义。
电路的优化设计是保证数字钟的使用质量得到改进的关键。
结合新时期数字钟技术应用的实际需要,制定数字钟电路的优化设计方案,可以为数字钟更好的适应新时期数字钟的使用需要提供帮助。
一、数字钟电路设计存在的不足(一)时间仿真技术尚不成熟时间仿真技术是体现数字钟应用价值的关键性技术,但是,一些数字钟电路在进行设计的过程中,对于时间仿真技术的研究不够全面,并没有从信号资源输出的角度进行时间仿真技术的设计应用,难以为数字钟电路计量标准的优化设计提供技术性支持,也使得不同电平状态的时间仿真技术在具体应用的过程中,难以为数字钟电路计量标准的改进提供支持。
部分时间仿真技术的设计对于信息资源的显示状态研究不够深入,缺乏对信息输入和输出状态的有效考察,这就使得很多时间仿真技术在应用难以结合数字钟电路的设计需要进行可行性评估方案的构建,无法为时间仿真技术获得高质量的技术实践空间提供帮助。
一些时间仿真技术的进行具体的技术控制过程中,对于信号电路的特点研究存在不足,缺乏对时间计算过程的必要关注,这就导致电路的计量工作在开展的过程中,无法从计量数量的科学调控方面实现对时间仿真技术的支持,难以为数字钟电路的优化设计提供必要的技术性支持。
(二)振荡器技术控制方案尚不成熟振荡器的构成数字钟电路的关键性部件,但是,一些数字钟电路在进行具体的技术设计过程中,对于信息资源的输送管理试析数字钟电路的设计不足及改进策略厦门技师学院 张 英情况关注程度不足,缺乏对信号资源仿真管理状态的关注,导致振荡器装置在进行具体应用的过程中,难以从时间控制的角度强化对信号资源输出管理状态的重视,无法为信号资源输出波形的优化控制提供帮助。
51单片机内部时钟误差

51单片机内部时钟误差摘要:I.引言- 介绍51 单片机内部时钟误差的概念II.51 单片机内部时钟误差的原因- 晶振频率不准确- 机器周期占用III.51 单片机内部时钟误差的影响- 计时不准确- 影响系统运行IV.解决51 单片机内部时钟误差的方法- 采用高精度晶振方案- 动态同步修正方案V.结论- 总结解决51 单片机内部时钟误差的方法正文:I.引言51 单片机内部时钟误差是指在单片机内部运行时,由于各种原因导致其内部时钟与实际时间存在偏差。
这种误差对于一些对时间精度要求较高的应用而言,可能会造成系统运行不稳定或计时不准确。
本文将针对51 单片机内部时钟误差的原因及其解决方法进行探讨。
II.51 单片机内部时钟误差的原因51 单片机内部时钟误差的主要原因是晶振频率不准确和机器周期占用。
1.晶振频率不准确:51 单片机的内部时钟是由外部晶振提供的,如果晶振的频率不准确,那么单片机内部时钟的计时准确性就无法得到保证。
2.机器周期占用:在51 单片机内部,从定时器/计数器溢出中断请求到执行中断需要占用一定的机器周期,这个机器周期数很难确定,从而导致了电子时钟计时的不准确。
III.51 单片机内部时钟误差的影响51 单片机内部时钟误差会对计时和系统运行产生影响。
由于计时不准确,可能会导致系统在特定时间无法正常运行,进而影响整个系统的稳定性。
此外,在一些对时间精度要求较高的应用中,如实时操作系统、定时器等,这种误差可能会导致系统功能失效。
IV.解决51 单片机内部时钟误差的方法针对51 单片机内部时钟误差,可以采用以下方法进行解决:1.采用高精度晶振方案:虽然采用高精度的晶振可以稍微提高电子钟计时的精确度,但是晶振并不是导致电子钟计时不准的主要因素,而且高精度的晶振价格较高,所以不必采用此方案。
2.动态同步修正方案:从程序入手,采用动态同步修正方法给定时,计数器赋初值。
具体方法是将定时,计数器低位(TLO)中的值和初始值相加,然后送入定时,计数器中。
数字钟实验报告5篇范文

数字钟实验报告5篇范文第一篇:数字钟实验报告数字钟实验报告班级:电气信息i类112班实验时间:实验地点:指导老师:目录一、实验目的-----------------3二、实验任务及要求--------3三、实验设计内容-----------3(一)、设计原理及思路3(二)、数字钟电路的设计--------------------------4(1)电路组成---------4(2)方案分析---------10(3)元器件清单------11四、电路制版与焊接---------11五、电路调试------------------12六、实验总结及心得体会---13七、组员分工安排------------19一、实验目的:1.学习了解数码管,译码器,及一些中规模器件的逻辑功能和使用方法。
2.学习和掌握数字钟的设计方法及工作原理。
熟悉集成电路的引脚安排,掌握各芯片的逻辑功能及使用方法了解面包板结构及其接线方法。
3.了解pcb板的制作流程及提高自己的动手能力。
4.学习使用protel软件进行电子电路的原理图设计、印制电路板设计。
5.初步学习手工焊接的方法以及电路的调试等。
使学生在学完了《数字电路》课程的基本理论,基本知识后,能够综合运用所学理论知识、拓宽知识面,系统地进行电子电路的工程实践训练,学会检查电路的故障与排除故障的一般方法锻炼动手能力,培养工程师的基本技能,提高分析问题和解决问题的能力。
二、实验任务及要求1.设计一个二十四小时制的数字钟,时、分、秒分别由二十四进制、六十进制、六十进制计数器来完成计时功能。
2.能够准确校时,可以分别对时、分进行单独校时,使其到达标准时间。
3.能够准确计时,以数字形式显示时、分,发光二极管显示秒。
4.根据经济原则选择元器件及参数;5..小组进行电路焊接、调试、测试电路性能,撰写整理设计说明书。
三、实验设计内容1、设计原理及思路 3.1数字钟的构成数字钟一般由振荡器、分频器、计数器、译码器、显示器、较时电路、报时电路等部分组成,这些都是数字电路中应用最广的基本电路3.2原理分析数字钟实际上是一个对标准频率(1hz)进行计数的计数电路。
51单片机内部时钟误差
51单片机内部时钟误差摘要:I.引言- 介绍51 单片机内部时钟误差的概念II.51 单片机内部时钟误差的原因- 晶振频率不准确- 机器周期占用III.51 单片机内部时钟误差的影响- 计时准确性下降- 系统性能受到影响IV.解决51 单片机内部时钟误差的方法- 采用高精度晶振方案- 动态同步修正方案V.结论- 总结解决51 单片机内部时钟误差的方法及其重要性正文:I.引言51 单片机内部时钟误差是指在51 单片机内部,由于各种原因导致时钟信号的不准确,从而影响整个系统的性能。
对于需要高精度时间的应用,如计时、通信等,这种误差尤为关键。
本文将探讨51 单片机内部时钟误差的原因、影响及其解决方法。
II.51 单片机内部时钟误差的原因51 单片机内部时钟误差的主要原因是晶振频率的不准确和机器周期占用。
1.晶振频率不准确:51 单片机的内部时钟信号是由外部晶振提供的。
如果晶振的频率不稳定,那么时钟信号也会随之波动,从而影响计时准确性。
2.机器周期占用:在51 单片机内部,从定时器/计数器产生中断请求到响应中断,需要占用一定的机器周期。
此外,定时器/计数器溢出中断请求到执行中断也需要一定的机器周期。
这些机器周期占用会导致计时器/计数器初值的准确度下降,从而影响时钟误差。
III.51 单片机内部时钟误差的影响51 单片机内部时钟误差会对系统性能产生影响,主要表现在计时准确性的下降。
在需要高精度时间的应用中,如实时操作系统、通信设备等,这种误差可能导致系统运行不稳定,甚至功能失效。
IV.解决51 单片机内部时钟误差的方法针对51 单片机内部时钟误差,有以下两种解决方法:1.采用高精度晶振方案:通过使用高精度晶振,可以提高时钟信号的准确度,从而降低时钟误差。
但需要注意的是,高精度晶振的价格较高,需要在成本和性能之间进行权衡。
2.动态同步修正方案:在程序中,通过动态同步修正方法给定时器/计数器赋初值。
具体方法是将定时器/计数器低位(TLO)中的值和初始值相加,然后送入定时器/计数器中。
三种调整单片机时钟精度的解决方案
三种调整单片机时钟精度的解决方案
单片机应用中,常常会遇到这种情况,在用单片机制作电子钟或要求根据时钟启控的控制系统时,会突然发现当初校准了的电子时钟的时间竟然变快或是变慢了。
于是,尝试用各种方法来调整它的走时精度,但是最终的效果还是不尽人意,只好每过一段时间手动调整一次。
那么,是否可使时钟走时更精确些呢?现探
讨如下:
一、误差原因分析
1.单片机电子时钟的计时脉冲基准,是由外部晶振的频率经过12分频后提供的,采用内部的定时,计数器来实现计时功能。
所以,外接晶振频率的精确度直接影响电子钟计时的准确性。
2.单片机电子时钟利用内部定时,计数器溢出产生中断(12MHz晶振一般为50ms)再乘以相应的倍率,来实现秒、分、时的转换。
大家都知道,从定时,
计数器产生中断请求到响应中断,需要3_8个机器周期。
定时中断子程序中的数据人栈和重装定时,计数器的初值还需要占用数个机器周期。
此外。
从中断人口转到中断子程序也要占用一定的机器周期。
例如:
从上述程序可以看出,从中断人口到定时/计数器初值的低8位装入需要占用2+2+2=6个机器周期。
所以,在编程时一般会把这6个机器周期加入定时/计数器的初值中。
但是,从定时,计数器溢出中断请求到执行中断需要几个机器周期(3~8个机器周期)。
就很难确定准确值,正是这一原因导致了电子时钟计时
的不准。
二、解决方法
1、采用高精度晶振方案。
智能表检定中时钟偏差的原因及优化方案
智能表检定中时钟偏差的原因及优化方案摘要:智能表是现代智能技术发展的结果,作为智能电网的重要组成部分,发挥着对整个电力系统电量计量的作用,是电力企业抄核收工作的重要依据,智能表的计量精准度会直接影响抄核收工作,其中时钟偏差属于较为严重的故障问题,会带来极大的负面影响。
明确时钟偏差产生的原因以及影响因素是十分必要的。
因此,本文分析了智能表检定过程中时钟偏差的原因、影响因素及优化方案。
关键词:智能表;检定过程;时钟偏差;计量精准度;计量功能1 检定设备执行校时与时段投切操作的原理1.1 校时操作参照我国计量检定与智能电能表技术的相关制度,全检验收过程中,各项实验操作的进行都应该凭借对电能表时间的调整来达到目的。
要想提高电能计量设备电计量的精准度,在相关的检定操作实现后,就要围绕电能表实施GPS校时操作。
对于智能电能表来说,其校时方法较为特殊,应该利用通讯接口,例如:RS485等实施校时操作,具体的操作包括广播校时、时间参数设定。
前者校正时限应该控制5分钟以内,超出5分钟以后,则需要重新进行密码验证,在此基础上来设定时间参数,再开始校时操作。
1.2 日计时误差参照相关技术规定,智能电能表的日计时误差应该控制在0.5s/d,时段投切误差也要控制在一定时间范围内,要在5分钟以内。
2 时钟偏差的产生与影响智能表检定通常选择以下检定设备,例如程控功率源、脉冲采样器、误差计算器等。
这些检定设备中设有电流回路,作为负载回路,发挥着检定电能表的作用。
具体的检定过程为:来自于程控功率源的电流,流经挂表架,再返回程控功率源。
不同表位都设置了一个通信线路,通过几路总线进行连接。
上位机选择RS通信端口同检定设备连在一起,上位机同被检测的电能计量设备之间采用并联、串联两大连线方式。
具体的通讯线路结构如图1所示:时段投切过程中,上位机将有效识别被检定的电能计量设备的相关参数、数据、信息等。
选择统一的通讯线路,来检测控制所有的电能表。
数字钟误差缘故分析及解决方案
数字钟误差缘故分析及解决方案不考虑晶振等固件的误差, 因此系统误差不可能来自于硬件, 而应该要紧来自于软件方面. 系统每次挪用按时中断程序的进程中, 硬件并无自动进入下一个按时周期, 而是在挪用中断程序以后由软件置数来实现的.而在程序挪用进程中, 堆栈成立、参数传递等都是需要耗时, 而这些时刻都被无形中加到了按时长度中去. 因此,使得每次按时长度都大于理论推导值, 在宏观上表现出来确实是系统比理论计算出来的结果变慢了。
另外, 由于系统每次挪用中断处置程序所执行的操作都是相同的, 也确实是说, 系统每次按时的时刻误差应该是一个常数,另外,在调时进程中因按键按下后的消抖延时和等待按键释放这一时刻段内会有误差。
综上所述,系统的误差要紧来自以下几个方面:一、人为误差(1)按时所引发的误差要紧表此刻对时上。
由于自己写的对时程序只是对分和小时,而秒始终处于走时状态,如此写对不时很难做到和标准时刻一致,造成误差。
解决方案:对不时关闭计时中断;(2)按键所引发的误差解决方案:计算出防抖次数,然后再把防抖时的延不时刻与防抖次数相乘,在加到总时刻中去;此方式仅适用于按键用中断的方式扫描。
二、单片机本身之误差1、数字钟要工作,要用到计数器,89C51单片机两个计数器有四种工作方式,工作方式1和工作方式2在进入中断程序时都要进行重装初值,重装初值需要消耗机械周期,从而带来了误差。
解决方案:(1)重设单片机按时器的工作方式。
通过设置TMOD寄放器中的M1M2位为10选择按时器方式2,方式2被称为8位初值自动重装的8位按时器/计数器,THX别称为常数缓冲器,当TLX计数溢出时,在溢出标志位TFX置1的同时,还自动地将THX中的常数从头装入TLX中,使TLX从初值开始从头计数,如此幸免了人为软件重装初值所带来的误差,从而能够提高按时的精度。
(2)用按时器计算出延时,然后加到总时刻中去。
按时计数器的初始值设置公式推导系统中所选用的晶振的频率为fosc,那么机械周期为:公式1:t0=12/fosc.设按时器要求的中断频率为k,计数器位数为n,那么按时计数器的初值X设置有如下公式:kXn t/1)(*20=- [2] 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字钟误差原因分析及解决方案不考虑晶振等固件的误差, 因而系统误差不可能来自于硬件, 而应该主要来自于软件方面. 系统每次调用定时中断程序的过程中, 硬件并没有自动进入下一个定时周期, 而是在调用中断程序以后由软件置数来实现的.而在程序调用过程中, 堆栈建立、参数传递等都是需要耗时, 而这些时间都被无形中加到了定时长度中去. 所以,使得每次定时长度都大于理论推导值, 在宏观上表现出来就是系
统比理论计算出来的结果变慢了。
另外, 由于系统每次调用中断处理程序所执行的操作都是相同的, 也就是说, 系统每次定时的时间误差应该是一个常数,另外,在调时过程中因按键按下后的消抖延时以及等待按键释放这一时间段内会有误差。
综上所述,系统的误差主要来自以下几个方面:
一、人为误差
(1)定时所引起的误差主要表现在对时上。
由于自己写的对时程序只是对分和小时,而秒始终处于走时状态,这样写对时时很难做到和标准时间一致,造成误差。
解决方案:对时时关闭计时中断;
(2)按键所引起的误差
解决方案:计算出防抖次数,然后再把防抖时的延时时间与防抖次数相乘,在加到总时间中去;此方法仅适用于按键用中断的方法扫描。
二、单片机本身之误差
1、数字钟要工作,要用到计数器,89C51单片机两个计数器有四种工作方式,工作方式1和工作方式2在进入中断程序时都要进行重装初值,重装初值需要消耗机器周期,从而带来了误差。
解决方案:
(1)重设单片机定时器的工作方式。
通过设置TMOD寄存器中的M1M2位为10选择定时器方式2,方式2被称为8位初值自动重装的8位定时器/计数器,THX别称为常数缓冲器,当TLX计数溢出时,在溢出标志位TFX置1的同时,还自动地将THX中的常数重新装入TLX中,使TLX从初值开始重新计数,这样避免了人为软件重装初值所带来的误差,从而可以提高定时的精度。
(2)用定时器计算出延时,然后加到总时间中去。
定时计数器的初始值设置公式推导
系统中所选用的晶振的频率为fosc,则机器周期为:公式1:t0=12/fosc.设定时器要求的中断频率为k,计数器位数为n,则定时计数器的初值X设置有如下公式:kXn t/1)(*20=- [2] 。
于是:原始公:021/(*)NXkt=- 而实验测得的数据显示,这个公式所得的结果并不可靠:(下表中的所有数据都是在计数器初始值严格按照原始公式给出的条件下测得,以个人计算机机系统时钟为标准)。
从表 1 中的数据可知,严格按照原始公式得出的计数初值是存在极大误差的,这个误差
总使系统时间变慢,而且,系统时间的误差值随着每秒中断次数的增多而增大,随计时总长的增长而增大,并且总是成比例(在误差允许的范围内)。
这就是说,系统的误差跟每秒中断次数和个人计算机标准时长的乘积(即中断总次数)成正比。
也就是说,每次中断计时的时间误差是一个常数。
误差来源分析不考虑晶振等固件的误差,则系统机器周期可以由公式 1 准确给出,因而系统误差不可能来自于硬件,而应该主要来自于软件方面。
系统每次调用定时中断程序的过程中,硬件并没有自动进入下一个定时周期,而是在调用中断程序以后由软件置数来实现的。
而在程序调用过程中,堆栈建立,参数传递等都是需要耗时的,而这些时间都被无形中加到了定时长度中去。
所以,使得每次定时长度都大于理论推导值,在宏观上表现出来就是系统比理论计算出来的结果变慢了(这于表格 1 所得的结论恰好一致)。
另外,由于系统每次调用中断处理程序所执行的操作都是相同的,也就是说,系统每次定时的时间误差应该是一个常数(这也恰好跟实验数据相吻合)。
由上面
的数据和分析可知,原始公式应该修改为:公式2:021/(*)NXktx=-+D则由表
格1 ,关于的计算公式如下:公式3:0||/(60***)XtTktD=D由表格 1 数据,实际中要求k 最小,而又不影响显示效果,才能使误差越小,故实测中取k=160 。
根据表格一计算得≈ 20 (所用晶振频率为11.0592 MHz )。
按表1 的实验方法,
得表2 :
这些数据较表1 已有很大准确性,但与实际应用还有一定差距。
末两行是根据前面参数规律稍做改动得到的, 与公式 2 有一定出入, 但与个人计算机系统标准时间已经相当接近。
由于表 1 的数据本身是肉眼估出来的,本身就带有很大的误差,实际运用可用精密仪器得到表 1 数据,则系统参数可以更进一步接近实用值。
在Keil uVision3软件中验证定时器T0每50ms 产生一次中断的时间。
在初
5 始化中费时为551μs ,每一次中断时间应该考虑该项的影响。
在实际处理中可以利用两次中断时间的差来作为定时器的中断时间间隔。
通过测试,得到第一次为0.05055642s,第二次为0.100 56185s,第三次为0.15056728 s。
可以看出,每中断一次会比定时值长了5.43μs即5个机器周期,所以,应该在给定时器赋初值时加上这个误差,可以把中断服务程序作如下修改:
TH0=(65536-50000)/256+5/256; TL0=(65536-50000)%256+5%256; 2、中断优先级造成的误差如在中断中设置中断优先级即可,具体步骤为:在初始化程序时,把定时器0的中断优先级设为最高,IP=0xE2。
在以后的运行中,不论遇到何种中断,都是按照IP中所设置的优先级来中断,进而减小了中断优先级带来的误差。