1、数 字 时 钟 论 文论文题目: 基于单片机的多功能数字时钟 学生姓名 李勋贵(1010940419 ) 王华 (1010940412) 张金婉 (1010940428) 学院: 电子信息与工程学院 专业班级: 电科 1004 起止时间: 2012 年 11 月 2013 年 1 月 摘要电子钟已成为人们日常生活中的必需品,广泛应用于各种场所。电子钟在使用时通常挂在高处,不便于时间的设置。本设计利用按键手动对时间的修改和定时功能进行操作,使用更为便捷,应用前景更加广阔。系统电路由时钟模块、主控模块、键盘及显示模块、电源模块组成。实时时钟采用 DS1302 实现年、月、日、时、分、秒、星期等时间
2、信息的采集及闹钟功能。这样设计的结果使电路结构十分简洁,各种要求能完全保证,使系统电路的稳定性得到提高。同时,它采用 C 语言对系统的各功能模块进行编程实现,并且系统具有键盘控制功能,方便校对时间。关键词:单片机 STC89C52、电子闹钟、DS1302Abstract Electric clock has become necessary in peoples daily life, it has been widely used in various places. Electric clock was usually hanged in high places. This design
3、has intruduced infrared remote control technology which make the time modification and timing function more convenient, so it has a better prospect to put into practice. The system is made up of the clock circuit module, control module, temperature sample module, keyboard and display module, and the
4、 power supply module. In order to achieve the function of time information collection such as minutes, seconds and years, the real-time clock use DS1302 technology which makes the circuit structure very concise. It can ensure to achieve various requirements and make the system circuit stability impr
5、oved. At the same time, it uses C language on the functional modules of the system programming, and it has the keyboard control function Keywords: single-chip microcomputer-STC89C52 ,clock,DS1302I目 录1 引言 .12 概述 .12.1 系统设计任务 .12.2 系统设计 .23 系统硬件设计 .43.1 系统硬件电路芯片选型介绍 .43.11 STC89C52 单片机介绍 .43.12 DS1302
6、 时钟芯片介绍 .73.2 系统硬件电路设计 .103.2.1 单片机最小系统电路设计 .103.2.2 系统供电系统电路设计 .123.2.3 按键调整电路设计 .123.2.4 时钟电路设计 .133.2.5 LCD1602 显示电路设计 .143.2.6 系统闹钟电路设计 .153.3 系统整体电路及 PCB 线路板绘制 .153.3.1 Protel99SE 软件介绍 .153.3.2 系统原理图与 PCB 绘制 .164 系统软件设计 .184.1 C 语言介绍 .184.2 系统整体及各部分程序流程 .184.21 系统整体程序流程 .184.22 DS1302 时钟读写程序流程
7、.194.23 按键扫描子程序流程 .204.24 闹铃部分程序流程 .215 系统焊接与调试 .225.1 电路焊接调试 .225.2 系统功能测试 .22II5.3 系统误差分析 .235.4 设计总结 .23致 谢 .24参考文献 .25附录 1 系统元器件清单 .27附录 2 系统源程序 .2811 引言传统在信息高速发展的今天,几乎每个行业都实现了机械自动化,单片机(又称为微控制器)的出现是计算机发展史上的一个重要里程碑,它以体积小、功能全、性价比高等诸多优点而独具特色,在工业控制、尖端武器、通信设备、信息处理、家用电器等嵌入式应用领域中独占鳌头。51 系列单片机是国内目前应用最广泛
8、的 8位单片机之一,单片机的使用使得仪器的智能化、小型化、可靠化方面都得到了很大的改善,让很多仪器的原理与设计都发生了很大变化。目前,单片机得到了越来越多爱好者的推广,可谓是“众人拾柴火焰高” ,特别是近些年来,基于 51 单片机电子产品的层出不穷,表明单片机在电子产品行业起着举足轻重的作用,各大城市公共场所出现大屏幕电子时钟已是很常见的现象,下面我们就电子时钟的原理及设计做些详细的介绍。电子钟已成为人们日常生活中的必需品,广泛应用于各种场所,给人们的生活、学习和工作带来极大的方便。目前市场上所售的数字电子钟其主要功能都是依赖于数字电路的各功能模块的组合来实现的。这些数字钟的芯片组合和电路连接
9、都比较难,而且焊接的过程也比较复杂,相对成本比较高,为了克服这些缺点,且能适合多种场合使用,选择了以单片机编程为主的数字电子钟以满足更多人的需求。这次主要是通过软件编程来完成的,这样就降低了硬件电路的复杂性,而且其成本也有所降低,摆脱了数字电路设计所带来的电路复杂,焊接过程复杂,成本高等的劣势。所要设计的数字电子钟充分挖掘了单片机的资源和运算控制能力,具有功能多,显示全的优点。本设计应用按键控制技术,时间的修改和定时功能更为便捷,应用前景更加广阔。2 概述2.1 系统设计任务本课题主要任务是设计一个基于单片机多功能电子闹钟,采用常用的STC89C52 芯片作为主控芯片,采用价格低廉的 DS13
10、02 时钟芯片作为时间控制芯片,采用锂电池为 DS1302 供电,掉电保护,保证时间数据不会丢失。显示应用的是LCD1602 液晶屏,显示字体清晰,显示效果如图 2.1 所示。 2图 2.1 电子闹钟显示效果示意图本课题研究的基本内容是利用 STC89S52 单片机控制时钟芯片 DS1302,在此过程中主要实现的功能有:1) 显示年、月、日;2) 显示星期;3) 显示当前的时间;4) 可设置闹钟;5) 通过按键可以调整时间,校正时间,闹钟设定;在此过程中,需要完成的任务有:1) 设计出系统总体硬件电路图。2) 完成程序的编写与系统的仿真。3) 完成元器件的布局、PCB 板的绘制、电路的焊接和调
11、试。2.2 系统设计本系统是利用 STC89C52 芯片为核心,控制 DS1302 时钟芯片及 LCD1602 液晶,实现年、月、日、星期、时间的准确显示。STC89S52 接受并处理 DS1302 数据的处理显示及键盘输入的控制信息的处理,输出时间、日期、温度的显示并具有校正功能。系统模块组成框图如图 2.2 所示。3LCD1602 液晶显示51 单片机最小系统单元电源电路按键调整电 路DS1302时钟电路2.2 系统硬件电路方框图系统软件流程图如图 2.3 所示。系统初始化读取 DS1302 数据数据显示(时间日期)键盘扫描,是否有键按下?否时间日期闹钟调整调整结束?否是是2.3 系统软件
12、程序流程图43 系统硬件设计3.1 系统硬件电路芯片选型介绍3.11 STC89C52 单片机介绍STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案,STC89S52引脚图如图3.1所示。图 3.1 STC89C52 引脚图STC89C52主要功能及特性:STC8
13、9C52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数5器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。与MCS-51单片机产品兼容8K字节在系统可编程Flash存储器1000次擦写周期全静态操作:0Hz 33Hz三级加密程序存储器32个可编程I
14、/O口线三个16位定时器/计数器八个中断源全双工UART串行通道低功耗空闲和掉电模式掉电后中断可唤醒看门狗定时器双数据指针掉电标识符STC89C52 单片机的四个 I/O 口作用分别如下:P0 口: P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8个 TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0 口也被作为低 8 位地址/数据复用。在这种模式下,P0 具有内部上拉电阻。在 flash 编程时, P0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL )。此外,P1.0和P1.2 分别作定时器/计数器2的外部计数输入(P1.0/T2 )和时器/计数器2的触发输入(P1.1/T2EX),具体如表3-1所示。在flash编程和校验时, P1口接收低8位地址字节。