2928.D基于单片机设计的数字钟 电子设计(代码请联系本人 ) 详细设计说明书( ).doc

上传人:文库蛋蛋多 文档编号:4146072 上传时间:2023-04-07 格式:DOC 页数:6 大小:84.50KB
返回 下载 相关 举报
2928.D基于单片机设计的数字钟 电子设计(代码请联系本人 ) 详细设计说明书( ).doc_第1页
第1页 / 共6页
2928.D基于单片机设计的数字钟 电子设计(代码请联系本人 ) 详细设计说明书( ).doc_第2页
第2页 / 共6页
2928.D基于单片机设计的数字钟 电子设计(代码请联系本人 ) 详细设计说明书( ).doc_第3页
第3页 / 共6页
2928.D基于单片机设计的数字钟 电子设计(代码请联系本人 ) 详细设计说明书( ).doc_第4页
第4页 / 共6页
2928.D基于单片机设计的数字钟 电子设计(代码请联系本人 ) 详细设计说明书( ).doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《2928.D基于单片机设计的数字钟 电子设计(代码请联系本人 ) 详细设计说明书( ).doc》由会员分享,可在线阅读,更多相关《2928.D基于单片机设计的数字钟 电子设计(代码请联系本人 ) 详细设计说明书( ).doc(6页珍藏版)》请在三一办公上搜索。

1、1引言21.1编写目的21.2背景21.3定义21.4参考资料22所设计系统的结构23模块1(标识符)设计说明23.1模块描述33.2功能33.3性能33.4输人项33.5输出项33.6算法33.7流程逻辑33.8接口33.9存储分配43.10注释设计43.11限制条件43.12测试计划43.13尚未解决的问题44模块2(标识符)设计说明4详细设计说明书引言用单片机来设计数字钟, 软件实现各种功能比较方便. 但因软件的执行需要一定的时间, 所以就会出现误差. 对比实际的时钟, 查找出误差的来源, 并作出调整误差的方法, 使得误差尽可能地小, 使得系统可以达到实际数字钟的允许误差范围内。.1编写

2、目的基于单片机设计的数字钟精确度较高, 因为在程序的执行过程中, 任何指令都不影响定时器的正常计数。从而, 使数字钟的精度仅仅取决于单片机的产生机器周期电路和定时器硬件电路的精确度另外, 程序较为简洁, 具有可靠性和较好的可读性。如果我们想将它应用于实时控制之中, 只要对上述程序和硬件电路稍加修改, 便可以得到实时控制的实用系统, 从而应用到实际工作与生产中去。1.2背景说明:数字电子钟的设计方法有多种, 例如, 可用中小规模集成电路组成电子钟, 也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟还可以利用单片机来实现电子钟等等。这些方法都各有特点, 其中, 利用单片机实现的

3、电子钟具有编程灵活, 便于电子钟功能的扩充, 精确度高等特点。1.3定义单片机:将微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件集成在一块芯片上,称其为单片微型计算机,简称单片机。 片内程序存储器普遍采用了Flash技术,使得在线编程ISP和在应用中编程技术IAP得以实现。 这两项技术是通过计算机的并口或串口对单片机进行程序下载编程的,使单片机系统远程调试、升级成为现实。IAP还可以实现单片机在应用中的再编程,为仪器仪表的智能化升级提供了重要的技术手段。1.4参考资料1,胡汉才 单片机原理及其接口技术 北京 清华大学出版社,2,单片机仿真微机接口使用手册 无锡达爱思科教仪器厂2数

4、字钟的工作原理)晶体振荡器电路晶体振荡器是构成数字式时钟的核心,它保证了时钟的走时准确及稳定。图3-2所示电路通过非门构成的输出为方波的数字式晶体振荡电路,这个电路中,非门与晶体、电容和电阻构成晶体振荡器电路,实现整形功能,将振荡器输出的近似于正弦波的波形转换为较理想的方波。输出反馈电 阻为非门提供偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器。电容、与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个度相移,从而和非门构成一个正反馈网络,实现了振荡器的功能。由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。晶体XTAL的频率选为3276

5、8HZ。该元件专为数字钟电路而设计,其频率较低,有利于减少分频器级数。从有关手册中,可查得C1、C2均为30pF。当要求频率准确度和稳定度更高时,还可接入校正电容并采取温度补偿措施。由于CMOS电路的输入阻抗极高,因此反馈电阻R1可选为10M。较高的反馈电阻有利于提高振荡频率的稳定性。非门电路可选74HC00。图3-2 COMS晶体振荡器)分频器电路通常,数字钟的晶体振荡器输出频率较高,为了得到z的秒信号输入,需要对振荡器的输出信号进行分频。通常实现分频器的电路是计数器电路,一般采用多级进制计数器来实现。例如,将z的振荡信号分频为Z的分频倍数为(),即实现该分频功能的计数器相当于极进制计数器。

6、常用的进制计数器有等。系统原理分析系统设计中用到89 C52 单片机的部分功能:包括内部定时器, 键盘扩展, 程序中断, 串口通信等. 用一个四联体的共阴极八段显示器, 可通过一个输入输出口作为显示器数据发送端; 另一个输入输出口的四位作为显示器各位的片选信号, 另四位作为键盘扩展口使用. 采用一个频率为11. 059 2MHz的晶振构成时钟电路. 系统原理如2软件实现与流程2. 1主程序由于系统的主要功能都是由程序中断来完成的, 主程序基本上没什么事可做, 但因键盘扫描是通过程序查询的方式实现的, 所以主程序只循环扫描键盘. 主程序流程图如图2 所示.2. 2定时和串口程序定时和串口都是中断

7、响应程序, 它们的调用都是系统执行过程中采用中断事件触发产生(中断部分处理如图3 所示). 定时中断是周期性发生的, 而串口中断则须串口有数据传输才发生中断 1, 2 . 定时程序是整个系统的核心代码, 这段代码不光涉及到显示, 还涉及到系统计时, 这段代码的优劣关系到整个系统的可靠性, 后面还将详细讨论. 为初步减小系统误差, 置定时初值一定要在程序开始就设置.2. 3数据的显示与刷新更新显示器涉及到两个操作: 发数据和改片选信号. 但实践发现, 代码中无论是先改片选信号还是先发数据信号, 都会出现重影(即相邻两位显示差不多) 这也是动态扫描引起的. 证明先发片选, 则前一位的数据会在下一位

8、显示一段时间; 先发数据, 则后一位的数据会在前一位显示一段时间, 因而出现重影. 解决这个问题的办法是先进行一个消影操作, 然后再发片选, 最后发数据. 这样就能很好地解决了重影问题. 这样做的关键在于,在极短的一段时间内让显示器都不亮, 等一切准备工作都做好了以后再发数据, 只要显示频率足够快, 是看不出显示器有闪烁的(程序用定时中断频率作为显示更新频率, 在表1 中, 只有当更新率100 Hz 时, 才发现显示器有闪烁). 这段显示程序代码如下.P1= 0 x00; 消影P2= 选择选择; 发片选信号codetmp= acode echoarray选择 ;如果(选择= = 2&mod=

9、= 0&do tflag)判断是否显示. codetmp= 0 x80;P1= codetmp; 发数据选择= + + 选择% 4; 片选计数器下移表1系统时间校正测试数据定时中断频率k次s- 1PC 标准时长min系统计时(初值为00: 00: 00)误差$ ts备注100 10 00: 09: 58 - 2 显示器有闪烁200 10 00: 09: 57 - 3400 10 00: 09: 55 - 5800 10 00: 09: 49 - 111 600 10 00: 09: 39 - 213 200 10 00: 09: 18 - 423 200 20 00: 18: 38 - 82

10、显示器无闪烁3 200 30 00: 27: 57 - 1233 200 60 00: 55: 54 - 2463 200 120 01: 51: 46 - 4943 200 180 02: 47: 38 - 7423 200 240 03: 43: 31 - 9893 200 300 04: 39: 24 - 1 224键盘响应程序键盘处理程序流程相对简单, 只是简单的判键与处理. 这里不再给出流程图. 所谓键盘消抖就是一次按键的多次响应问题. 当然, 一般一次按键只须响应一次, 但有的时候需要多次响应, 如系统进入修改模式, 数字的增减. 当出现这种问题时,用户的一次击键是作为一次还是多次处理, 必须有一个标准. 程序中用到了一个标志位, 相当于中断系统的中断标志. 当用户按下键时, 标志清零,松开键时, 标志恢复; 键按下超过一定时间(靠一扫描计数器判定) 后, 恢复标志, 则经过一定的时间延迟(也靠一扫描计数器判定) 可以响应一次按键(即一次按键的多次响应). 而事实上, 键盘响应程序就是一个事件触发器, 键盘的每一个状态(按下, 松开, 点击) 都可能引发一段响应程序(如: 重新设定键按下准备复位; 松开系统复位). 这里的时间延迟靠的是指令计数, 由于受硬件中断等不确定因素影响, 这个延迟一般不准确, 但通过测试, 可以找到一些合适的值.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号