1、基于单片机控制的数字电子钟的设计思想及原理学校(院系):长沙航空职业技术学院航空电子电气工程系专 业:电气自动化 学 生 姓 名: 班 级:电气 0901 指 导 老 师: 2011 年 12 月前言近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统。单片机往往作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善本次做数字钟以单片机()为核心,结合相关元器件(共阳极数码管显示器)在配以相应软件,达到制作简易数字钟的目的。 总
2、体框图1 方案论证2 硬件系统设计3 软件系统设计4 系统调试5 参考文献一、方案论证1 方案论证本时钟的设计具体有两种方法。一是通过单纯的数字电路来实现;二是使用单片机来控制实现。本次设计选取了较为简单的单片机控制;而选择这一方法后还要进行各个芯片的选择。以下是我在这次设计中所用的方案。2 芯片的选择采用 AT89S52 芯片,其为高性能 CMOS 8 位单片机,该芯片内含有 8k bytes 的可反复擦写的只读程序存储器(PEROM ) 、128 bytes 的随机存取数据存储器(RAM) 、 32 位可编程 I/O 口线、2个 16 位定时/计数器。因此,我们选用 AT89S52。3 显
3、示模块选择方案和论证采用 LED 数码管显示,显示较为清楚直观,便于观察和调试 4 时钟信号的选择方案和论证直接采用单片机定时计数器提供的秒信号,使用程序实现时、分、秒计数。采用此种方案可减少芯片的使用,节约成本,实现的时间误差较小。5 最终方案决定综上方案所述,对此次数字时钟的方案选定为: 采用 AT89C51 通过串行输出静态显示作为主控制系统,来实现时、分、秒的显示。二、硬件系统设计1 单片机芯片(AT89S52)(1)AT89S52 是一种低功耗、高性能 CMOS 8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业
4、80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位CPU 和在系统可编程 Flash,使得 AT89S52 在众多嵌入式控制应用系统中得到广泛应用。2 LED 数码管(共阳极)(1)LED 数码管是由发光二极管构成的,亦称半导体数码管。将条状发光二极管按照共阴极(负极) 或共阳极(正极) 的方法连接,组成“8”字,再把发光二极管另一电极作笔段电极,就构成了 LED 数码管。若按规定使某些笔段上的发光二极管发光,就能显示从 09 的系列数字。它具有:体积小、功耗低、耐震动、寿命长、亮度高、单色性好、发光响应的时间短,
5、能与 TTL、CMOS 电路兼容等的数显器件。(2)常见 LED 数码管的外形及内部结构三、软件系统设计主程序:显示子程序:定时中断子程序:四、系统调试1 软件调试1. 双击桌面“Keil uVision3”快捷方式图标,打开 Keil uVision3 IDE。单击菜单“Project-New Project”后,出现对话窗口,在对话框内选择工程目录,并将此工程命名为“CLOCKJT.uv2” ,点击保存。2. 在建立工程以后,还应该为工程选择合适的目标器件选择目标器件方法为:点击菜单“Project-Select Device for Targect”,弹出对话框,我们选择 AT89C51
6、。选择目标器件完毕后可以看到在Project 窗口出现了一个 Target1 的工程点,右击 Target1,选择“Options for TargetTarget1”,在弹出的对话框单击 Output,勾选Create HEX 复选框。该目录里面还会有 “Source Group1”的分组名,可以在该组下放置源程序文件。用鼠标右键点击“Source Group1” ,在弹出的菜单中选择“Add files to Group Source Group1 ”。在弹出的对话窗口中选择待添加的程序文件,点击“Add” 即可将此文件增加到源文件组内,点击“Close”返回。如要增加新文件到文件组“So
7、urce Group1”, 要先使用菜单 “File- New”建立文件名为“CLOCKJT.ASM”(源程序见附录),再进行“添加程序文件” 。3. 编译和连接:右击 Target1,选择 Build Target,此时将在Output Window 显示编译连接的结果,若有错,单击错误提示即可在源程序里定位错误的位置,修改完毕,再次编译,知道没有错误为止,编译连接正确后,会生成“CLOCKJT.HEX”文件。4. 调试:点击菜单 Debug-Start/Stop Debug Session 将进入调试状态,单击 Peripheral-Serial;单击 Peripheral-Timer-T
8、imer0。在Keil 中有以下几种运行方式:(1)Run 全速运行遇到断点停下或用户按动 Stop 按钮或 RST CPU 按钮停止。(2)Step info 单步跟踪运行一条指令,如果该语句为 C 中的调用子程序语句或汇编中的 CALL 指令,Step info 指令将跟踪进入子程序内部。(3)Step over 单步运行完一条指令,如果该语句为 C 中的调用子程序语句或汇编中的 CALL 指令,Step over 指令将全速完成该子程序的运行,停在下一指令处。(4)Run till Cursor Line 从当前位置运行到光标处。4.2 硬件调试打开 Proteus 7.5 Profes
9、sional 软件,按照方案所选的电路元件来设计整体电路,线把个芯片按一定的位置放好,然后对相应的对象进行连接,连接时需仔细,以免调试时发生错误。做好之后把编程所生成的。HEX 文件加载到 AT89S52 中,运行仿真软件,查看运行效果。如果运行出错那么就根据他相应的提示来修改错误,直到仿真成功为止。打开 Topwin 软件,装载 CLOCKJT.HEX,通过编程器将该文件烧写入 AT89C51 中。将 AT89S52 插入实验仪相应的插座上,在实验仪上按照电路原理图连线。打开电源,观察数码管的变化。五、参考文献1.单片机的 C 语言应用程序设计马忠梅 马忠梅 主编 北京航空航天大学出版社2.单片机原理及接口技术(第 2 版) 李全利 主编 高等教育出版社3.C 语言程序设计(第三版) 谭浩强 主编 清华大学出版