1、1 实时日历时钟显示系统的制作实时日历时钟显示系统的制作 一、一、背景及意义背景及意义 在当前繁忙的生活,学习,工作中,时间与每个人都有密切的关系,每个人都受到时间 的影响, 随着生活水平的提高, 传统时钟已不能满足人们的需求, 因此实时日历时钟面市了, 应用于日常日历时间显示方面,并得到广泛推广。 本设计的实时日历时钟显示系统,共可以显示计时万年,最小时间单位是 1s;其基本功能 如下: (一) 在 51 单片机系统中设置、获取、记录实时的日历时钟信息并通过 LCD 显示。 (二) 能够进行长时间的记录,并且存储的时间信息在掉电情况下能长期保存。 (三) 初始的时间信息用户可用键盘输入来设置
2、。 二、二、系统分析系统分析 设计出具键盘输入参数设置的时间、 处理、 显示, 并且可在线键盘参数设置、 定时检测、 显示的实时日历显示系统。 整个系统的设计包括电路设计和软件设计, 电路的设计只须知道 所需的硬件即可,因为整个电路被集中到一个模板上,只须设计出程序输入单片机中,安在 模板上即可工作。软件则须根据所要的硬件写出日历工作的程序即可 。 ( (一一) )根据设计要求确定系统方案,给出系统方框图根据设计要求确定系统方案,给出系统方框图 矩阵键盘:用于调节时间 和日期 主 控 电 路 STC89C52 作 为 主 控 芯 片,并用其内 部定时器计时 AT24C02:数据存 储芯片,用于
3、断 电存储数据 蜂 鸣 器 模 块: 发出滴 的响声, 表 示 有 按 键 按下。 LCD1602 液晶显示: 显示时间和日期 2 三、系统硬件设计三、系统硬件设计 根据实时日历时间显示系统显示的要求,本系统的设计主要包括以下几个部分,矩阵 键盘模块,lcd1602 液晶显示器,数据储存模块,处理模块以及蜂鸣器模块组成,下面我将 逐一介绍。 ( (一一) ) 矩阵键盘模块矩阵键盘模块: :用于调节时间和日期用于调节时间和日期 S9:时间功能键与 P3.0 相连 S13:增加键与 P3.1 相连 S17:减少键与 P3.2 相连 S9:日期功能键与 P3.3 相连 RD:置低电平,按键有效 (
4、(二二) ) LCD1602LCD1602 液晶显示模块:显示时间和日期液晶显示模块:显示时间和日期 LCD1602 液晶显示器是本系统的一个主要部分,由它实时显示时间日历, 3 RS:读控制与 P3.5 相连 WR:写控制与 P3.6 相连 D0-D7:数据端口 ( (三三) ) AT24C02:AT24C02:数据存储芯片,用于断电存储数据。数据存储芯片,用于断电存储数据。 SCL:控制总线与 P2.1 相连 SDA:数据总线与 P2.0 相连 4 ( (四四) ) 主控电路主控电路 STC89C52STC89C52 模块:作为主控芯片,并用其内部定时器计时。模块:作为主控芯片,并用其内部
5、定时器计时。 P0,P1,P2,P3 四个 IO 口,用于接收和传送地址与数据;其中 P3 口有第二功能; RES:硬件复位键 ( (五五) ) 蜂鸣器模块:发出滴的响声,表示有按键按下。蜂鸣器模块:发出滴的响声,表示有按键按下。 FM:蜂鸣器控制接口,与 P2.3 相接,低电平有效。 5 四、系统软件设计四、系统软件设计 软件部分则需要 DS1302 的运行程序,键盘扫描的相关程序,液晶写入相关程序,还 有主程序,最后把各个程序组合在一起。 ( (一一) )总体设计思想总体设计思想 (二)(二) 各子程序的功能及设计要点各子程序的功能及设计要点 本系统的程序设计主要包括初始化函数模块,键盘扫
6、描子程序,延时子程序以及液晶 显示子程序几部分组成。 初始化子程序主要是初始, 键盘扫描子程序主要负责对按键的处理 响应,延时子程序是不可少的,可以给硬件足够时间响应,液晶显示子程序是时间显示时候 所用到的,反复调用。 这部分内容放在附录中详细解说,详见附录一, 初始化函数 键盘扫描 键盘扫描 1 开始 不停的检测按键是否被按下,若有 则调节时间 不停的检测按键是否被按下,若有 则调节日期 6 五、结束语五、结束语 经过几周的不断调试更改再调试, 最终得到了完整的成功的一个实时日历时钟显示系统 的系统。在次过程中遇到了各种各样的问题,也采取了不同的处理方法。 这一点我体会是十分深刻。 例如: 前面提到的键盘输入导致每次循环都得进行一次参数 设置的问题,经过每一个子程序的单独运行,发现都可以正常运行,但融合到一起就出现问 题了。单步运行,也没发现问题,一个一个子程序的屏蔽,找到了键盘输入的问题。于是解 决办法就如前说产生出来了。 此外,本次实时日历时钟显示系统设计具有闰年调节,日期错误调整等校正功能;按 键自校正功能,防止误按键等措施,能保证时间日期的正确