电子万年历设计.docx
- 文档编号:6824403
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:19
- 大小:309.59KB
电子万年历设计.docx
《电子万年历设计.docx》由会员分享,可在线阅读,更多相关《电子万年历设计.docx(19页珍藏版)》请在冰豆网上搜索。
电子万年历设计
电子万年历设计
摘要
单片机在电子万年历的应用已是非常普遍了,本设计是一个基于AT89C58单片机的日历显示系统,本设计能显示公历年、月、日、星期,以及时、分、秒、温度、星期等信息,而且还提供了农历信息,具有调整时间,温湿度采集,闹钟及个性化的闹铃等功能。
系统所用的时钟日历芯片DS1302具有高性能、低功耗、接口简单的特点,使本系统电路简化,编程方便,同时功能也很强。
采用AT89C58单片机的万年历系统可以很好的改善传统采用模拟电路引起的计时不准确,不可靠,一致性差等问题。
此系统计时精确,可以广泛应用在生活,学习和工作等任何领域,并且起到重要作用。
关键词温湿度传感器;DS1302;数码管显示;语音模块
Thedesignofelectroniccalendar
ABSTRACT
Themonolithicintegratedcircuitintheelectronicpermanentcalendar'sapplicationsalreadywasverycommon,andthisdesignwasbasedonAT89C58monolithicintegratedcircuit'scalendardisplaysystem,whichcoulddisplayinformationaspreviouscalendaryears,themonth,thedate,thehour,theminute,thesecond,thetemperature,theweekandsoon,whichalsosuppliedinformationofthelunarcalendar,whichfunctionscontainsadjustingthetime,theacquisitionoftemperatureandhumidity,alarmclockandpersonalizedalarumandsoon.ThesystemusesclockcalendarchipDS1302hastheadvantagesofthehighperformance,thelowpowerdissipation,thesimpleconnector,simplifiedthissystemcircuit,andtheprogrammingisconvenient,meanwhilethefunctionisalsoverypowerful.AdoptAT89C58monolithicintegratedcircuit'spermanentcalendarsysteminsteadoftraditionaltousetheanalogouscircuitwhichcausestobeinaccuratetime,unreliable,uniformitybadandsoonquestions.Thissystemkeepingtimeisprecise,maywidelyappliedinthelife,thestudy,theworkandsoon,andplaysanimportantrole.
KEYWORDSTemperatureandhumiditysensors;DS1302;Digitaldisplay;Voicemodule
目录
摘要I
ABSTRACTII
前言1
1.系统概述2
1.1电子万年历的简介2
1.2电子万年历的设计要求2
1.3整体设计2
2.电子万年历的硬件设计4
2.1主控模块设计(MCU)4
2.2时钟芯片模块的设计4
2.3看门狗模块设计5
2.4温湿度模块设计6
2.5显示、按键模块设计7
2.6电源模块设计8
2.7语音模块设计10
3.电子万年历软件设计14
3.1阴历转换算法14
3.2主程序设计14
3.3子程序设计15
4.整体系统调试17
4.1硬件的调试17
4.2设计优缺点18
参考文献19
附录一原理图20
致谢22
前言
现在是一个知识爆炸的新时代,新产品、新技术层出不穷,电子技术的发展更是日新月异。
可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。
在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。
因此我们需要一个定时系统来提醒这些忙碌的人,而电子万年历的时间显示和闹钟功能给人们带来了极大的方便。
由于单片机具有灵活性强、成本低、功耗低、保密性好等特点,所以电子日历时钟一般都以单片机为核心,外加一些外围设备来实现。
由单片机作为电子万年历的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来,通过按键可以进行定时、校时功能。
输出设备显示器用数码管显示技术。
论文中的控制单元是以ATMEL公司的AT89C58微控制器为核心,显示单元采用LED数码管,实现时间的显示,温湿度显示。
在软件上,采用keilC51软件系统,控制单元采用C语言编程;另外,从硬件和软件上采取了多种措施提高系统的可靠性。
1.系统概述
1.1电子万年历的简介
本电子万年历设计的基本任务是解决如何方便的显示时钟,日期和温湿度。
另外该系统上还有闹钟等功能。
能让行人更好的了解时间和温湿度。
本设计中使用AT89C58单片机控制时钟芯片D1302,HD7279来让数码管显示时钟和日期,还能通过键盘来设置时间和语音闹钟等。
再配合DHT11温湿度传感器来感应周围的温度和湿度并在数码管上显示温度。
在改变环境的时候还能通过改变显示的方式来更好的适应周围的环境。
1.2电子万年历的设计要求
1、显示基本的时间和日期功能。
2、星期自动调整功能。
3、显示基本的温度显示功能。
4、具有时钟调整和闹钟设置功能。
5、具有掉电保护功能。
6、时钟第二电源采用电池或电容充电供电功能。
7、具有语音模块,可以在闹钟时播放自己设定的语音。
8、具有农历显示功能。
1.3整体设计
本设计是由单片机控制的一个多功能时钟系统。
由时钟模块,温湿度传感器模块,键盘模块,显示模块,语音模块等小模块组成。
系统的工作原理是:
主控制器每隔一段时间(小于一秒钟)读一次时钟芯片的内部寄存器的值,将读出的日历、时间信息实时的显示在LED数码显示器上。
同时,主控制器不断的扫描按键电路和温湿度测量电路,当有键按下时,识别出按键的值并调整相应的时间或日历的值再写入时钟芯片内部。
温湿度数据由测量电路(DHT11)获得的温湿度值送入显示电路显示。
本设计的方案组成框图如下图1-1:
图1-1电子万年历的总体框架
1.单片机控制模块是由AT89C58和晶振电路等组成的最小单片机系统。
2.温湿度传感器模块是由DHT11组成的模块。
3.数码管显示模块由HD7279控制的根据显示年份,月份,时间,星期及温度的显示不同而选用不同的数码管,分别是八个连接一起的数码管和单个的数码管。
4.键盘模块是一个由HD7279控制的1*8键盘。
5.时钟芯片模块是由DS1302和自带的晶振组成的模块。
本设计中使用AT89C58单片机控制时钟芯片DS1302显示时间,能通过键盘来设置时间和闹钟等。
再配合DHT11温湿度传感器来感应周围的温度并在数码管上显示温度.通过HD7279可以控制一个1*8的键盘,可以通过键盘来实现各种功能。
显示年份和日期的数码管是通过控制HD7279芯片来显示的,显示时间和温度的数码管也是通过HD7279芯片来驱动显示的。
本设计的闹钟及一些特殊节日的提醒,将更好的方便大家。
本设计也可以向小型化发展,而且本身的功耗也很低,还有掉电保护功能,更加的智能化,方便使用。
方便大家的查看,特殊的场合还可以捆绑不同的功能来达到更好的效果。
2.电子万年历的硬件设计
2.1主控模块设计(MCU)
主控制器采用ATMEL公司的最新系列单片机产品AT89C58。
该单片机除了拥有MCS一51系列单片机的所有优点外,内部还具有32KB的在系统可编程FLASH存储器,低功耗的空闲和掉电模式,极大的降低了电路的功耗。
另外,还具有一个看门狗电路,为电路的可靠工作提供了更大的保证。
图2-1主控模块电路原理图
2.2时钟芯片模块的设计
DS1302是DALLAS公司推出的涓流充电时钟芯片。
内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信。
实时时钟/日历电路提供秒,分,时,日,月,年的信息。
每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时制。
DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1RES复位,2I/O数据线,3SCLK串行时钟。
RAM的读/写数据以一个字节或多达31个字节的字符组方式通信。
DS1302工作功耗很低,保持数据和时钟信息时功率小于1mW。
主要的性能指标:
●实时时钟具有能计算2100年之前的秒分时日日期星期月年的能力还有闰年调整的能力。
●8位暂存数据存储RAM
●串行I/O口方式使得管脚数量最少
●宽范围工作电压2.05.5V
●工作电流2.0V时,小于300nA
●读/写时钟或RAM数据时有两种传送方式单字节传送和多字节传送字符组方式
●8脚DIP封装或可选的8脚SOIC封装根据表面装配
●简单3线接口
●与TTL兼容Vcc=5V
●可选工业级温度范围-40+85
●与DS1202兼容
●在DS1202基础上增加的特性
图2-2DS1302电路原理连接图
选用了DS1302,他是串行接口芯片,只要三条线就可以实现和单片机的通讯,电路链接简单外加电池就可以实现掉电继续走时。
而且外部电路的连接和软件的设计都较简便。
2.3看门狗模块设计
X5045中的看门狗对系统提供了保护功能。
当系统发生故障而超过设置时间时,电路中的看门狗将通过RESET信号向CPU作出反应。
X5045提供了三个时间值供用户选择使用。
它所具有的电压监控功能还可以保护系统免受低电压的影响,当电源电压降到允许范围以下时,系统将复位,直到电源电压返回到稳定值为止。
X5045的存储器与CPU可通过串行通信方式接口,共有4096个位,可以按512x8个字节来放置数据。
下图是X5045电路:
图2-3图X5045复位电路
本设计中把闹钟时间存在X5045芯片中,虽然DS1302掉电后有锂电池供电,但考虑到X5045掉电不丢失,并且X5045和813的价钱差不多所以在此设计中的看门狗使用X5045芯片是个很好的选择。
2.4温湿度模块设计
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。
它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。
传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
每个DHT11传感器都在极为精确的湿度校验室中进行校准。
校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。
单线制串行接口,使系统集成变得简易快捷。
超小的体积、极低的功耗,信号传输距离可达20米以上,其温度误差为1K,湿度误差为1%。
产品为4针单排引脚封装。
连接方便,特殊封装形式可根据用户需求而提供。
图2-4DHT11温湿度电路
2.5显示、按键模块设计
基于日期和时间的显示特性,用点阵显示时可以显示汉字,而且可以根据自己的需要实现显示的移动。
这样来减少外围硬件的连接,但还是较复杂。
液晶的显示亮度较低和角度小的问题,数码管是最好的选择,因为显示需要的数码管具有高亮度等特定性,所以在选择的时候可以选用8个相连的数码管用集成芯片驱动,来减少外围电路的连接,而且可以提高系统的稳定性能,所以根据各自的方便性选择数码管显示。
这里的键盘电路虽然只要用几个按键,可以选用最简单的使用接口芯片或I/O端口键盘阵列扫描法此种方法最简单也最稳定,但是浪费端口。
也可以使用键盘接口芯片,HD7279芯片控制键盘,还可以同时控制控制数码管的显示,做到按键显示模块合一,非常的方便。
HD7279是一片具有串行接口的可同时驱动8位共阴式数码管或64只独立LED的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵单片即可完成LED显示键盘接口的全部功能。
HD7279内部含有译码器可直接接受BCD码或16进制码并同时具有2种译码方式此外还具有多种控制指令如消隐闪烁左移右移段寻址等。
HD7279具有片选信号可方便地实现多于8位的显示或多于64键的键盘接口。
HD7279特点:
1、串行接口,无需外围元件可直接驱动LED
2、各位独立控制译码/不译码及消隐和闪烁属性
3、(循环)左移/(循环)右移指令
4、具有段寻址指令,方便控制独立LED
5、64键键盘控制器,内含去抖动电路
6、有DIP和SOOC两种封装形式供选择
图2-5方案四HD7279显示电路原理图
图2-6HD7279显示、按键电路原理图
2.6电源模块设计
普通的线性稳压电源电路虽然简单,但效率低,自身耗电大。
同时本系统对电源要求也不是很高,利用集成DC-DC变换器,如MC34063,做一个简单的开关电源即可满足要求而且相对于220V的开关电源它的成本更加低廉。
电路实现简单,同时输入输出压降差小,效率高,可达80%以上。
MC34063是一单片双极型线性集成电路,专用于直流---直流变换器控制部分。
片内包含有温度补偿带隙基准源,一个占空比周期控制振荡器、驱动器和大电流输出开关,能输出1.5A的开关电流。
它能使用最少的外接元件构成开关式升压变换器、降压式变换器和电源反向器。
原理电路图如下:
图2-7DC-DC电源电路原理图
在设计DC/DC变换器时,相关参数必须按下表给出的公式确定,首先应该确定的参数如下:
Ui(输入电压):
如果该电压不是一个稳定的值,那么,对于降压变换器,应该取Ui的最大值进行计算;对于升压变换器,应该取Ui的最小值进行计算;反向器则根据反向后电压的升降,来决定电压取值。
U0(输出电压):
它的稳压值由R9和R8决定,其计算公式为U0=1.25(1+R2/R1)。
I0(输出电流):
是DC/DC变换器的输出电流。
fmin(振荡器频率):
它决定开关管的通断频率。
一般选20KHz
Up-p(输出电压纹波峰一峰值):
该参数用于决定输出滤波电容C0的数值。
表2-1DC-DC相关参数
计算内容
降压器方法
升压器方法
基本方法
Ton/Toff
(Uo+Uf)/(Ui-Usat-Uo)
(Uo+Uf-Ui)/(Ui-Usat)
Tonvi=Toffvo(磁通相等?
)
(Ton+Toff)max
1/fmin
1/fmin
Ct
4x10-5Ton
4x10-5Ton
4x10-5Ton
Ipk
2Io(max)
2Io(max)(Ton+Toff)/Toff
Rse
0.33/Ipk
0.33/Ipk
0.33/Ipk
L(min)
(Ui-Usat-Uo)/Ipk*Ton(max)
(Ui-Usat)/Ipk*Ton(max)
Vin*ton/Ilmaxor
VoutD(1-D)/2Io*f
Co
Ipk*(Ton+Toff)/8Up-p
Io*Ton/Up-p
Io*Ton/Up-p
1.Ton为开关管导通时间
2.Toff为开关管关断时间
3.Usat为开关管的饱和压降可以取1.0V
4.Uf为整流二极管正向压降可以取1.2V
5.基本方法计算的L为临界值,其中D可由DC-DC原理推出.
各个参数要根据实际要求情况经上面公式计算得到。
本系统中要求设为输入电压12V,输出电压5V,输出电流1A,输出电压波纹系数5mV(pp),工作频率80kHz经过上面方法理论计算和实际调整后:
R9为3K,R2为1K,C11为100uf,C12为379uf,C13为470ufL1为57uH,考虑到效率问题所以D1选IN5819。
2.7语音模块设计
采用ISD4002芯片,ISD系列芯片采用直接模拟存储专利技术,把语音信号以原始的模拟形式直接存储在片内EEPROM存储器中,无需进行A/D转换和压缩处理等,从而减少了失真、大大提高了录放音质量,并具有抗断电、音质好、使用方便、可反复录放、无需专用的语音开发工具、能随意列改内容和耗电省等优点,很适合于现场录放音系统。
ISD系列芯片采用SPI(SerialPeripheralInterface)串行外设接口或MSI(MicrowireserialInterface)微传输线串行接口,实现了主机对语音片灵活的寻址和控制。
如图2-8,为ISD4002芯片引脚图。
图2-8ISD4002管脚图
采用功放集成电路LM386对ISD4002-输出的语音信号进行放大。
LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。
为使外围元件最少,电压增益内置为20。
但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。
输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在5V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。
LM386电路特性:
1、静态功耗低,约为4mA,可用于电池供电。
2、工作电压范围宽,4-12Vor5-18V。
3、外围元件少。
4、电压增益可调,20-200。
5、低失真度。
图2-9LM386管脚图
利用单片机AT89C58做为主控单元,用单片机的3个I/O口分别控制ISD4002的)SS器件选择输人(低电平有效);MOSI:
串行数据输人端(SCLK时钟上升沿触发):
SCLK串行时钟输端。
另外单片机上设置三个按键,结合系统需要可以作为录音,删除录音,放音功能控制。
由于整个系统使用的是+5V电源供电,而ISD4002的正常工作电压为+3V,单独给它配置一个+3V电压十分不便,而且现在的电子产品讲究的都是单电源供电。
通过ISD4002的芯片数据手册发现它的工作电流十分微小,功耗很低。
于是,采用一个绿色的LED发光二极管(工作时压降约2V)进行降压,得到+3V电压,为ISD4002提供工作电压(工作状态下实际测试为2.9V)。
语音输入部分电路:
主要以三极管9013和驻极体传声器为核心,用PNP三极管构成集电极放大电路。
接到ANAIN+端,录音的音质最佳。
语音输出部分电路:
输出端选用音频功率放大器LM386构成,增益设置为200,3号引脚处的电位器改成10K电阻音量大小固定不需要调节。
(扬声器采用0.5W/8欧姆)最大输出功率约300mW左右(电源电压为+5V时)。
由于ISD4003系列器件的直接扬声器驱动功率为12.5mW,其输出信号经电阻衰减后再加到LM386的输人端,否则电压摆动会导致LM386失真。
语音模块电路图如下:
图2-10语音电路原理图
3.电子万年历软件设计
3.1阴历转换算法
阴历的算法比较复杂,它主要是阳历日和阴历日的对应关系,我们先要做一个数据表,这个数据表里面每个字节,表示了一个阴历年各个月份的天数。
2个字节(共16bit)的具体意义如表3-1。
其中,“!
(0/1)”中,“0”表示30天,“1”表示29天。
表3-1阴历月份天数表
比特位
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
数据
!
!
!
!
!
!
!
!
!
!
!
!
*
*
*
*
“****(4个比特可表示数值范围0-15)”表示该年中是否有闰月,数值“0”表示无闰月,“1-12”表示某一个闰月。
闰月一般是29天,在200年中(1901年-2100年),闰月是30天的,可用一个特殊语句来解决。
这里200年需要200*2=400个字节,构成阴历压缩数据表。
有了阴历的数据表后,主要是要确定阳历日和阴历日的对应关系。
我们知道阳历年1901年1月1日,对应的阴历年是1900年11月11日。
比如说,要计算阳历年1901年2月1日,对应的阴历日,可用以下算法:
(1)从阳历年1901年1月1日到1901年2月1日,计算出经过了31天。
(2)根据阴历数据表知道阴历年1900年11月有29天,因此31-29=2天。
原来阳历年1901年1月1日对应的阴历日是11日,则有11+2=13;
(3)因为阴历年1901年12月份有30天,而13<=30,所以阳历年1901年2月1日对应的阴历年是1900年12月13日。
如果上一步相加得出的数大于当前阴历月的总的天数,则应该继续减去当前阴历月的总的天数,直到符合条件。
对于月份增加时,还要通过数据表查看是否要经过闰月。
对于其他任何一个阳历日和阴历日的对应关系,都可以通
过以上算法求得结果。
3.2主程序设计
主模块是系统软件的主框架.结构化程序设计一般有“自上而下”和“自下而上”两种方式,“自上而下”法的核心就是主框架的构建。
他的合理与否关系到程序最终的功能的多少和性能的好坏。
本系统的主模块的程序框图3.1所示,具体的程序看程序清单。
图3-1主程序流程图
3.3子程序设计
1.中断子程序:
键盘扫描程序是放在外部中断1中实现。
如果有按键即进入中断读取并返回键值。
在读时间和温度的子程序时关中断,结束时再开中断以保持读写时序的正确性。
2.设置时间子程序流程图:
图3-2时间子程序流程图
4.整体系统调试
4.1硬件的调试
电路中设计的显示的数码管有24个,其中1-4按键为年份,5-8为月份和日期,9-12为农历的月份和日期,13-16为温度和湿度的显示,17-20为小时和分钟,21-22为秒,23为星期,24为提示信息显示。
按键电路中设计了16个,其中实际用到为5个,按键一为功能键,按键二为“+”键,按键三为“-”按键四为确定键,按键五为退出键。
功能键操作:
按一次为年调整,按二次为月调整,按键三次为日调整,按4次为小时调整,按5次为分钟调整,如果需要调整月份,那么我们先按功能键2次,此时为月份调整功能,且提示信息显示灯(第24个LED)为“2”,然后按“+”或者“-”来调整月份,然后按按键四(确定键),确定月份调整完毕,最后按退出键退出时间调整键面,此时提示信息显示灯(第24个LED)显示为“0”表示不在调整状态。
调整年,小时,分钟等也是类似操作,只是当调整年份时提示信息显示灯为“1”,当调整月份时它显示为“2”,当调整日期是它显示为“3”,当调整小时它显
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 万年历 设计