基于单片机的数字钟设计及时间校准研究_第1页
基于单片机的数字钟设计及时间校准研究_第2页
基于单片机的数字钟设计及时间校准研究_第3页
基于单片机的数字钟设计及时间校准研究_第4页
基于单片机的数字钟设计及时间校准研究_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于单片机的数字钟设计及时间校准研究陈姚节 戴泽军(武汉科技大学计算机学院 430081 )摘要 用用单片机机来设计计数字钟钟,软件件实现各各种功能能比较方方便。但但因软件件的执行行需要一一定的时时间,所所以就会会出现误误差。对对比实际际的时钟钟,查找找出误差差的来源源,并作作出调整整误差的的方法,使使得误差差近可能能的小,使使得系统统可以达达到实际际数字钟钟的允许许误差范范围内。关键词 显示消消影;事事件触发发;误差差分析中图分类号号: TTP3665.110引言在信息技术术急速发发展的今今天,计计算机科科学日新新月异。而而单片机机作为计计算机科科学的一一个分支支,在微微机控制制领域得得到长

2、足足发展。在在计算机机网络,通通讯方面面是微机机的天下下;而在在微控制制领域,小小到电子子表,大大到家用用电器,到到处都有有单片机机的用武武之地。1系统原原理分析析系统设计中中用到 89 C522 单片片机的部部分功能能:包括括内部定定时器,键键盘扩展展,程序序中断, 串口口通信等等。用一一个四联联体的共共阴极八八段显示示器,可可通过一一个输入入输出出口作为为显示器器数据发发送端;另一个个输入输出口口的四位位作为显显示器各各位的片片选信号号,另四四位作为为键盘扩扩展口使使用。采采用一个个频率为为 111.05592 MHzz 的晶晶振构成成时钟电电路。系系统原理理图如图图 1 :图1 系统统原

3、理图图2软件实实现与流流程2.1 主主程序由于系统的的主要功功能都是是有程序序中断来来完成的的,主程程序基本本上没什什么事可可做,但但因键盘盘扫描是是通过程程序查询询的方式式实现的的,所以以主程序序只循环环扫描键键盘。主主程序流流程图如如图2所所示:2.2 定定时和串串口程序序定时和串口口都是中中断响应应程序,它它们的调调用都是是系统执执行过程程中采用用中断事事件触发发产生(中断部部分处理理如图33所示)。定时时中断是是周期性性发生的的,而串串口中断断则须串串口有数数据传输输才发生生中断。定定时程序序是整个个系统的的核心代代码,这这段代码码不光涉涉及到显显示,还还涉及到到系统计计时, 这段代代

4、码的优优劣关系系到整个个系统的的可靠性性,后面面还将详详细讨论论。为初初步减小小系统误误差, 置定时时初值一一定要在在程序开开始就设设置。收稿日期:20005-001-005陈姚节 228 岁岁,男,硕硕士,助助教,主主要研究究领域为为数据通通信和设设备驱动动开发国家8663计划划项目资资助(批批准号:20003AAA41440111)图2 主程程序流程程图图3 中断断程序流流程图2.3 数数据的显显示与刷刷新更新显示器器涉及到到两个操操作:发发数据和和改片选选信号。但但实践发发现,代代码中无无论是先先改片选选信号还还是先发发数据信信号,都都会出现现重影(即即相邻两两位显示示差不多多)这也也是

5、动态态扫描引引起的。实实践先该该片选,则则前一位位的数据据会在下下一位显显示一段段时间;先发数数据,则则后一位位的数据据会在前前一位显显示一段段时间。因因而出现现重影。解解决这个个问题的的办法是是先进行行一个消消影操作作,然后后再发片片选,最最后发数数据。这这样就很很好地解解决了重重影问题题。这样样做的关关键在于于,在极极短的一一段时间间内让显显示器都都不亮,等等一切准准备工作作都做好好了以后后再发数数据,只只要显示示频率足足够快,是是看不出出显示器器有闪烁烁的(程程序用定定时中断断频率作作为显示示更新频频率,在在表 11 中,只只当更新新率?00 赫兹时时,才发发现显示示器有闪闪烁)。这这段

6、显示示程序代代码如下下: P11=0 x000; / 消影 PP2=选选择选选择;/ 发片选选信号 coodettmp=acoode ecchoaarraay选选择; 如果果 (选选择 =2&mood=0&dottflaag)/ 判判断是否否显示 . ccodeetmpp|=00 x880; P11=coodettmp; / 发数据据 选择择=+选择%4; / 片选选计数器器下移2.4 键键盘响应应程序键盘处理程程序流程程相对简简单,只只是简单单的判键键与处理理。这里里不再给给出流程程图。所所谓键盘盘消抖就就是一次次按建的的多次响响应问题题。当然然,一般般一次按按建只须须响应一一次,但但有的时

7、时候需要要多次响响应,如如系统进进入修改改模式,数数字的增增减。当当出现这这种问题题时,用用户的一一次击键键是作为为一次还还是多次次处理,必必须有一一个标准准。程序序中我用用到了一一个标志志位,相相当于中中断系统统的中断断标志。当当用户按按下键时时,标志志清零,松松开键时时,标志志恢复;键按下下超过一一定时间间(靠一一扫描计计数器判判定)后后,恢复复标志,则则经过一一定的时时间延迟迟(也靠靠一扫描描计数器器判定)可可以响应应一次按按键(即即一次按按键的多多次响应应)。而而事实上上,键盘盘响应程程序就是是一个事事件触发发器,键键盘的每每一个状状态(按按下,松松开, 点击)都都可能引引发一段段响应

8、程程序(如如:重新新设定键键按下 = 准备复复位;松松开= 系统统复位)。这这里的时时间延迟迟靠的是是指令计计数,由由于受硬硬件中断断等不确确定因素素影响,这这个延迟迟一般不不准确,但但通过实实践测试试,可以以找到一一些合适适的值。3系统性性能测试试与功能能说明3.1 定定时计数数器的初初始值设设置公式式推导系统中所选选用的晶晶振的频频率为ffoscc,则机机器周期期为:公公式1: 2 设定定时器要要求的中中断频率率为k,计数器器位数为为n,则则定时计计数器的的初值XX设置有有如下公公式:2 。于是是:原始始公: 而实验验测得的的数据显显示,这这个公式式所得的的结果并并不可靠靠:(下下表中的的

9、所有数数据都是是在计数数器初始始值严格格按照原原始公式式给出的的条件下下测得,以以个人计计算机机机系统时时钟为标标准)。从从表 11 中的的数据可可知,严严格按照照原始公公式得出出的计数数初值是是存在极极大误差差的,这这个误差差总使系系统时间间变慢,而而且,系系统时间间的误差差值随着着每秒中中断次数数的增多多而增大大,随计计时总长长的增长长而增大大,并且且总是成成比例(在在误差允允许的范范围内)。这这就是说说,系统统的误差差跟每秒秒中断次次数和个个人计算算机标准准时长的的乘积(即即中断总总次数)成成正比。也也就是说说,每次次中断计计时的时时间误差差是一个个常数。误差来源分分析不考虑晶振振等固件

10、件的误差差,则系系统机器器周期可可以由公公式 11 准确确给出,因因而系统统误差不不可能来来自于硬硬件,而而应该主主要来自自于软件件方面。系系统每次次调用定定时中断断程序的的过程中中,硬件件并没有有自动进进入下一一个定时时周期,而而是在调调用中断断程序以以后由软软件置数数来实现现的。而而在程序序表1 系统统时间校校正测试试数据调用过程中中,堆栈栈建立,参参数传递递等都是是需要耗耗时的,而而这些时时间都被被无形中中加到了了定时长长度中去去。所以以,使得得每次定定时长度度都大于于理论推推导值,在在宏观上上表现出出来就是是系统比比理论计计算出来来的结果果变慢了了(这于于表格 1 所所得的结结论恰好好

11、一致)。另另外,由由于系统统每次调调用中断断处理程程序所执执行的操操作都是是相同的的,也就就是说,系系统每次次定时的的时间误误差应该该是一个个常数(这这也恰好好跟实验验数据相相吻合)。由由上面的的数据和和分析可可知,原原始公式式应该修修改为:公式22:则由表格 1 ,关关于的计计算公式式如下:公式33:由表格 11 数据据,实际际中要求求 k 最小,而而又不影影响显示示效果,才才能使误误差越小小,故实实测中取取 k=1600 。根根据表格格一计算算得 200 (所所用晶振振频率为为 111.05592 MHzz )。按按表 11 的实实验方法法,得表表 2 :表2 参数数优化后后的计时时测试数

12、数据这些数据较较表 11 已有有很大准准确性,但但与实际际应用还还有一定定差距。末末两行是是根据前前面参数数规律稍稍做改动动得到的的, 与与公式 2 有有一定出出入, 但与个个人计算算机系统统标准时时间已经经相当接接近。由由于表 1 的的数据本本身是肉肉眼估出出来的,本本身就带带有很大大的误差差,实际际运用可可用精密密仪器得得到表 1 数数据,则则系统参参数可以以更进一一步接近近实用值值。3.2 系系统功能能与操作作说明主要功能:二十四四进制时时间显示示 ( 时、分分), 秒以.的的闪烁表表示;电电子跑表表计数功功能;可可通过按按键修改改,显示示时,分分,秒,复复位;可可通过个个人计算算机机串

13、串口设置置时,分分,设置置时连续续发送四四位十六六进制数数,依次次为时的的高,低低位,分分的高, 低位位。完成成后秒自自动复位位。辅助助功能:键盘共共 4 个键,从从左到右右依次标标名为向向上的,向向下的,组,重重新设定定, 用用来修改改和设置置系统时时钟。同同时还可可以通过过串口来来修改和和设置系系统时钟钟。4结论系统的功能能完全符符合设计计任务的的要求,经经过大量量的测试试数据显显示, 系统的的可靠性性已经完完全达到到了实际际电子钟钟的设计计要求。同同时系统统具有很很强的扩扩展性:添加 A/DD 转换换器可更更改成数数值仪表表,而添添加 DD/ 转转换器则则可以设设计成波波形发生生器,同同

14、时扩充充串口的的功能可可以道到到很好的的计算机机控制系系统。系系统扩展展图如下下:图4 系统统功能扩扩展原理理图参考文献:1 陈陈姚节. 基于于串行通通信的数数字监控控系统.武汉:武汉理理工大学学学报(交通科科学与工工程版),20002,26(5):6500-65532 赵赵鸽,陈陈姚节. 基于于WDMM设备驱驱动的虚虚拟仪器器的研究究与实现现. 武武汉:武武汉理工工大学学报(交交通科学学与工程程版),20002,226(66):8811-8144 3 李李广弟、朱朱月秀、王王秀山.单片机机基础.北京:北京航航空航天天大学出出版社 ,20001:2000-2440Digittal cloock

15、 dessignn baasedd onn SCCM aand timme aadappt rreseearcchChen Yaoojiee DDai Zheejunn (Compputeer DDepaartmmentt ,WWuhaan UUnivverssityy off Scciennce andd teechnnoloogy,Wuhhan,43000811 )AbstrracttIts verry cconvveniientt too usse aa SCCM tto ddesiign a ddigiitall cllockk wiith sofftwaare. Buut tthe errror willl eeasyy coome out wwithh thhe ttimee ruun bby ssofttwarre.TTo cconttrasst wwithh thhe rreall cllockk annd ffindd thhe r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论