- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于单片机设计的数字钟 电子设计(代码请联系本人 ) 测试分析报告
测试分析报告(GB8567——88)
引言
用单片机来设计数字钟, 软件实现各种功能比较方便. 但因软件的执行需要一定的时间, 所以就会出现误差. 对比实际的时钟, 查找出误差的来源, 并作出调整误差的方法, 使得误差尽可能地小, 使得系统可以达到实际数字钟的允许误差范围内。
.1编写目的
基于单片机设计的数字钟精确度较高, 因为在程序的执行过程中, 任何指令都不影响定时器的正常计数。从而, 使数字钟的精度仅仅取决于单片机的产生机器周期电路和定时器硬件电路的精确度另外, 程序较为简洁, 具有可靠性和较好的可读性。如果我们想将它应用于实时控制之中, 只要对上述程序和硬件电路稍加修改, 便可以得到实时控制的实用系统, 从而应用到实际工作与生产中去。
1.2背景
说明:数字电子钟的设计方法有多种, 例如, 可用中小规模集成电路组成电子钟, 也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟还可以利用单片机来实现电子钟等等。这些方法都各有特点, 其中, 利用单片机实现的电子钟具有编程灵活, 便于电子钟功能的扩充, 精确度高等特点。
1.3定义
单片机:将微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件集成在一块芯片上,称其为单片微型计算机,简称单片机。
片内程序存储器普遍采用了Flash技术,使得在线编程ISP和在应用中编程技术IAP得以实现。
这两项技术是通过计算机的并口或串口对单片机进行程序下载编程的,使单片机系统远程调试、升级成为现实。IAP还可以实现单片机在应用中的再编程,为仪器仪表的智能化升级提供了重要的技术手段。
1.4参考资料
1,胡汉才 单片机原理及其接口技术 北京 清华大学出版社,
2,单片机仿真微机接口使用手册 无锡达爱思科教仪器厂
系统性能测试与功能说明
3. 1 定时计数器的初始值设置公式推导
系统中所选用的晶振的频率为f o sc, 则机器周期为公式1: t0 = 12?f o sc
[ 3 ] 设定时器要求的中断频率为k , 计数器位数为n, 则定时计数器的初
值X 设置有如下公式: t0 (2n- X ) = 1?k [ 3 ]. 于是原始公式: X = 2n - 1?(k × t0). 而实验测得的数据显示, 这个公式所得的结果并不可靠(表1 中的所
有数据都是在计数器初始值严格按照原始公式给出的条件下测得, 以个人计算机机系统时钟为标准). 从表1 中的数据可知, 严格按照原始公式得出的计数初值是存在极大误差的, 这个误差总使系统时间变慢, 而且, 系统时间的误差值随着每秒中断次数的增多而增大, 随计时总长的增长而增大, 并且总是成比例(在误差允许的范围内). 这就是说, 系统的误差跟每秒中断次数和个人计算机
标准时长的乘积(即中断总次数) 成正比. 也就是说, 每次中断计时的时间误差是一个常数.
误差来源分析. 不考虑晶振等固件的误差, 则系统机器周期可以由公式1 准确给出, 因而系统误差不可能来自于硬件, 而应该主要来自于软件方面. 系统每次调用定时中断程序的过程中, 硬件并没有自动进入下一个定时周期, 而是在调用中断程序以后由软件置数来实现的. 而在程序调用2测过程中, 堆栈建立、参数传递等都是需要耗时, 而这些时间都被无形中加到了定时长度中去. 所以,使得每次定时长度都大于理论推导值, 在宏观上表现出来就是系统比理论计算出来的结果变慢了(这于表1 所得的结论恰好一致). 另外, 由于系统每次调用中断处理程序所执行的操作都是相同的, 也就是说, 系统每次定时的时间误差应该是一个常数(这也恰好跟实验数据相吻合). 由上面的数据和分析可知, 原始公式应该修改为: 公式2
X = 2n- 1?(k ×t0 ) + $x. 则由表1 推导出定时初值的修正值的计算公式如下, 公式3, $x = ? $ t?? 60×T ×k ×t0 ). 由表1 数据, 实际中要求k 最
小, 而又不影响显示效果, 才能使误差越小, 故实测中取k = 160. 根据表1 计算近似等于20 (所用晶振频率为11. 059 2MHz). 按表1 的实验方法,
得表2.
表2 参数优化后的计时测试数据
定时中断
次数k?
次·s- 1
PC 标准
时长?m in
$x
系统计时
(初值为
00: 00: 00)
误差
$ t?s
备 注
160
60 20 00: 59: 59 - 1
120 20 01: 59: 58 - 2
180 20 02: 59: 57 - 3
240 20 03: 59: 56 - 4
300 20 04: 59: 54 - 6
300 21 04: 59: 59 - 1
600 21 09:
文档评论(0)