• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 测试测量 > 技术文章 > 基于单片机的万年历设计

基于单片机的万年历设计

录入:edatop.com    点击:

  随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步… …

  1 设计要求与采用方案

  1.1 系统实现功能

  (1)基本功能:a.LCD汉字显示年月日、时分秒、星期;b.LCD汉字显示天干地支纪年、农历日期、24节气,12生肖;c.LCD显示室温;d.整点蜂鸣器报时,定时闹铃时间到则蜂鸣器提示;e.通过4个按键,用来设置时间和进行定时设置。

  (2)创新设计:a.采用128×64的LCD显示万年历内容;b.采用ISD111O语音模块播放闹铃铃声。

  1.2 系统基本方案选择

  1.2.1 单片机

  系统的单片机采用高性能、低功耗的AVRATmegal28L微控制器。系统利用4个外部中断接4个独立式按键来进行参数、功能的设置,蜂鸣器用来整点提示和闹铃提示。程序下载可通过预留ISP接口方便地对系统软件进行升级、添加或裁剪系统功能。

  1.2.2 显示模块

  液晶显示模块是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置国标GB2312码简体中文字库(16×16点阵)、128个字符 (8×16点阵)及64×256点阵显示RAM(GDRAM)。可与单片机直接接口,提供两种接口来连接微处理机:8-位并行及串行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等。

  1.2.3 时钟芯片

  采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA.

  1.2.4 温度传感器

  利用物质各种物理性质随温度变化的规律把温度转换为电量的传感器。这些呈现规律性变化的物理性质主要有体。温度传感器是温度测量仪表的核心部分,品种繁多。按测量方式可分为接触式和非接触式两大类,按照传感器材料及电子元件特性分为热电阻和热电偶两类。

  采用数字式温度传感器DS18B20,其仅需一条数据线进行数据传输,易于与单片机连接,可以去除A/D漠块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点。

  2 系统的硬件设计与实现

  2.1 系统硬件设计框图

  2.2 系统硬件概述

  本电路由AVR ATmegal28L单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V.采用三线接口与单片机进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM 寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能,本设计中为DS1302增加了备用电池,当主电源掉电时,备用电池自动为其供电;温度的采集由DS18B20构成;显示部份由128×64点阵的汉字图形型LCD模块来完成显示功能;当闹铃时间到时,通过ISD111O语音录放模块播放闹铃铃声。系统硬件实物图见图2.

  2.3 主要单元电路的设计

  2.3.1 单片机主控制模块的设计

  AVR ATmegal28L单片机为64引脚TQFP封装,系统的ISP下载接口、晶振电路、复位电路、蜂鸣器电路如图3所示。

  2.3.2 时钟电路模块的设计

  图4为DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或 Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768 kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc大于等于2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。SCLK始终是输入端。

2.3.3 温度采集模块设计

  如图5所示。采用数字式温度传感器DS18B20,它具有测量精度高,电路连接简单的特点,此类传感器仅需要一条数据线进行数据传输,使用PC7与DS18B20的I/O口连接加一个上拉电阻,VCC接电源,VSS接地。

  2.3.4 显示模块的设计

  设计采用128×64汉字图形显示LCD模块,一屏可显示32个汉字(16×16点阵字库),其接口如图6所示。

  2.3.5 语音录放模块

  设计采用ISD1110语音芯片配合相应的外围元件构成语音录放电路,用来实现语音提示功能,其电路如图7所示。

  2.3.6 系统PCB图

  系统PCB如图8所示。

  3 系统的软件设计

  3.1 程序流程框图

  设计主程序流程图如图9所示。

  3.2 设计实现界面

  3.2.1 万年历主界面

  如图10所示,第一行显示公历的年月日,第二行显示时分秒和星期,第三行显示农历的天干地支纪年和农历月日,第四行显示农历生肖、节气以及当前的气温。

  3.2.2 日期时间设置界面

  日期时间设置界面如图11所示。

  3.2.3 闹铃设置界面

  闹铃设置界面如图12所示。

  4 结论

  本文所介绍的万年历的设计方案已经调试成功,其功能全部实现,本产品成本低、寿命长、误差小、功能齐全,达到设计要求。

点击浏览:矢量网络分析仪、频谱仪、示波器,使用操作培训教程

上一篇:基于MAX16801/16802的LED照明驱动的设计
下一篇:解析军事指挥系统中VxWorks下汉字显示技术

微波射频测量操作培训课程详情>>
射频和天线工程师培训课程详情>>

  网站地图