数字钟误差原因分析及解决方案
不考虑晶振等固件的误差, 因而系统误差不可能来自于硬件, 而应该主要来自于软件方面. 系统每次调用定时中断程序的过程中, 硬件并没有自动进入下一个定时周期, 而是在调用中断程序以后由软件置数来实现的.而在程序调用过程中, 堆栈建立、参数传递等都是需要耗时, 而这些时间都被无形中加到了定时长度中去. 所以,使得每次定时长度都大于理论推导值, 在宏观上表现出来就是系统比理论计算出来的结果变慢了。另外, 由于系统每次调用中断处理程序所执行的操作都是相同的, 也就是说, 系统每次定时的时间误差应该是一个常数,另外,在调时过程中因按键按下后的消抖延时以及等待按键释放这一时间段内会有误差。
综上所述,系统的误差主要来自以下几个方面:
一、人为误差
(1)定时所引起的误差 主要表现在对时上。由于自己写的对时程序只是对分和小时,而秒始终处于走时状态,这样写对时时很难做到和标准时间一致,造成误差。
解决方案:对时时关闭计时中断;
(2)按键所引起的误差
解决方案:计算出防抖次数,然后再把防抖时的延时时间与防抖次数相乘,在加到总时间中去;此方法仅适用于按键用中断的方法扫描。
二、单片机本身之误差
1、数字钟要工作,要用到计数器,89C51单片机两个计数器有四种工作方式,工作方式1和工作方式2在进入中断程序时都要进行重装初值,重装初值需要消耗机
您可能关注的文档
- 如何进行联轴器的安装.docx
- 如何进行招聘宣传-上.doc
- 如何让工作轻松.docx
- 如何上网查资料.doc
- 如何迅速打造高效的执行力.doc
- 如何做好防火工作.doc
- 入党的流程-党团工会模板_0.doc
- 软件工程需求分析样例.doc
- 软件开发部门相关岗位及描述.doc
- 三年级上册数学教案-第1单元 两、三位数乘一位数 4 两、三位数乘一位数(不进位)(苏教版).docx
- 2027年高考数学一轮复习:第16讲、极值与最值(学生版).pdf
- 2027年高考数学一轮复习:第9讲、指数与指数函数(学生版).docx
- 2027年高考数学一轮复习:第5讲、一元二次不等式与其它不等式解法(教师版).pdf
- 2027年高考数学一轮复习:第7讲、函数的性质(学生版).pdf
- 2027年高考数学一轮复习:第19讲、原函数与导函数混合还原(学生版).docx
- 2027年高考数学一轮复习:第19讲、原函数与导函数混合还原(学生版).pdf
- 2027年高考数学一轮复习:第10讲、对数与对数函数(教师版).docx
- 2027年高考数学一轮复习:第4讲、基本不等式及其应用(学生版).pdf
- 2027年高考数学一轮复习:第12讲、函数与方程(学生版).pdf
- 2027年高考数学一轮复习:第3讲、等式与不等式的性质(教师版).docx
原创力文档

文档评论(0)