本设计核心控制器选用大存储容量单片机STC89C58RD+,并采用12864液晶显示屏,可同屏显示年、月、日、星期、温度、公历和农历的重大节日、一天中不同时段的提醒等内容,并具备整点报时、开机画面显示、闹钟设置等功能。
一、系统总体设计
本设计以STC89C58RD+单片机为核心,结合时钟芯片DS1302,温度采集芯片DS18820等外围器件,实现了万年历等一系列功能,并通过液晶屏和按键控制完成人机交互的功能。其系统总体设计框图,如下图所示。
二、硬件电路设计
1.单片机外围电路设计
时钟芯片和实时温度采集芯片均采用总线方式与单片机进行通信。单片机外围电路设有扬声器、四个按键(分别用于实现时间设置及调整、闹钟设置及调整、按键加和按键减功能),另外液晶模块采用并行通信模式,其数据线与单片机PO口并行连接,其他控制线也均以总线方式接至单片机相应I/O口。
下图为单片机外围电路。
2.时钟芯片电路设计
DS1302是DALLAS公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信。
DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个I/O接口线1 RST——复位、2I/O——数据线、3 SCLK——串行时钟。实时时钟具有能计算2100年之前的秒、分、时、日、星期、月、年的能力,还有闰年调整的能力。
时钟RAM的读/写数据以一个字节或多达31个字节的字符组方式通信。本设计中所提供的闹钟功能,就是将定时信息存储在该芯片的静态RAM中,闹钟设定时间到时,DS1302会自动触发单片机,并调用相应的铃声子程序。DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW。其时钟芯片电路,如下图所示。
3.液晶显示模块电路设计
12864液晶显示屏以ST7920为主控芯片,配中文字库,点阵数:128×64,具有串行通信和并行通信两种模式,支持图画显示。液晶与单片机连接电路如下图所示,连接关系见下表所示。液晶的对比度由图4中的R6调节,将R6调节到适当位置,内容才能显示出来。
4.万年历系统电路图
液晶万年历系统电路原理图如下图所示。
PCB设计板图下图所示。
三、软件设计
本设计中,软件是重点部分。系统主程序流程图如下图所示。
根据功能需要,构建的主要上层函数包括:
四、功能简介
(1)液晶同屏显示年、月、日、星期、时、分、秒,正常走时状态下,外围电路设有-LED秒指示灯,每秒闪烁一次。
(2)开机画面显示3秒,显示相关制作信息3秒,清屏后进入正常走时状态。
(3)整点报时功能,早8点到晚10点,多首歌曲在整点时刻循环播放,每首歌曲的长度均控制在一分钟以内。
(4)公历和农历所有的节日提醒,均在屏幕最下面一行显示。如果当天是某个节日,则显示相关节日信息,若当天无任何节日,则可显示当天的各个时段信息,如:凌晨、早晨、上午、中午、下午、晚上、夜里、深夜等。
(5)实时温度显示,精确到小数点后一位。
(6)时间调整:在正常走时状态下,按SET键进入时间调整界面,可以依次调节年、月、日、星期、时、分等信息,按CLK键退出当前的调整状态,恢复正常走时。
(7)闹钟调整:在正常走时状态下,按CLK键,进入闹钟设置界面,可以依次调节闹钟小时、闹钟分、闹钟开启和闹钟关闭。当想要设置闹钟时,设置好小时、分之后,再按此键奎闹钟开启,按SET键即可退出闹钟设定界面,闹钟设置完成,若不想使用闹钟,就按CLK键至闹钟关闭状态时,再按SET键退出界面,则闹钟被关闭。
(8)外部电路设有扬声器开关,用户可根据需要自行开关扬声器。
(9)电路板界面设计人性化,便于人机交互,在正常走时界面或任一调整界面状态时,均会在相应按键对应位置显示相关的操作提示信息,使用户使用方便,易学易用。
本文关键字:万年历 时钟-定时电路,单元电路 - 时钟-定时电路
上一篇:面包板数字定时提醒电路