多功能电子万年历.docx
- 文档编号:5408070
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:19
- 大小:675.15KB
多功能电子万年历.docx
《多功能电子万年历.docx》由会员分享,可在线阅读,更多相关《多功能电子万年历.docx(19页珍藏版)》请在冰豆网上搜索。
多功能电子万年历
泉州师范学院
毕业论文(设计)
题目多功能电子万年历
物理与信息工程学院电子信息科学与技术专业07级1班
学生姓名李竞佳学号070303031
指导教师洪清泉职称教授
完成日期2011年3月
教务处制
多功能电子万年历
物信学院电子信息工程与技术070303031李竞佳
指导教师:
洪清泉教授
【摘要】:
该电子万年历,主要是对时间、温度、湿度的显示和语音播报,并能使用红外遥控器对时间进行修改。
电子万年历的硬件部分采用STC89C52单片机为主控制芯片,DHT11、DS1302、ISD1730、红外一体化接头、LCD12864等组成外围电路。
软件部分主要是基于51单片机的C语言程序,编程环境是keil。
【关键词】:
电子万年历单片机LCD12864DHT11ISD1730
Multifunctionalelectroniccalendar
CollegeofPhysicsandInformationEngineeringElectronicInformationScienceandTechnology070303031,LiJingjia
Instructor:
HongQingquan,Professor
【Abstract】:
Theelectroniccalendarismainlytothetime,temperature,humiditydisplayandspeechbroadcastandcanbeappliedtoinfraredtimemodified.ElectroniccalendarhardwarepartadoptsmainlySTC89C52single-chipmicrocomputercontrolchip,DHT11,DS1302,ISD1730,infraredintegratedjoint,LCD12864etcbuffercircuit.Softwarepartmainlybasedon51SCMCprogramminglanguage,programmingenvironmentisKEIL.
【Keywords】:
Electroniccalendar、MCU、LCD12864、DHT11、ISD1730
一、绪论
1.1课题的背景和意义
随着电子技术的迅速发展,特别是大规模集成电路出现,给人类生活带来了根本性的改变,尤其是单片机技术的应用产品已经走进了千家万户。
近年来,我国科技的不断发展,我国经济发展的支柱产业——电子产业获得长足发展,各种电子产品琳琅满目,随处可见,随着电子产品的更新速度的加快,各种功能强大,款式新颖的电子产品不断问世。
数字万年历便是这一发展趋势中的代表,数字万年历顺应了人们对时间方面的要求。
它的出现给人们的生活带来诸多方便,在时间极显宝贵的现代生活中,其作用更是不言而喻。
它在学校、车站、码头、剧院、医院、办公室等公共场所的应用非常广泛。
但传统的数字万年历除显示时间之外,功能较为单一,逐渐失去了市场。
顺应技术发展和人们生产、生活需求,各种功能的新式万年历不断涌现,且功能不断更新。
数字万年历作为电子类的小产品以其方便,实用等优势成为市场上的宠儿,同时也成为单片机设计培训中一个很实用的课题。
因为这个课题有很好的开发性和可发挥性,因此对设计者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。
而且要求设计的数字万年历在操作上力求简洁,功能上尽量齐全,显示界面也要出色。
所以数字万年历无论从实用的角度和培养能力的角度都很有价值。
1.2电子万年历的现状和发展
当前,数字万年历技术已经进入了优化人-家庭-环境的整体关系的阶段,它向着超微型、超高效以及集成电路的微型化方向发展。
目前,市场上出售的数字万年历品种很多,其中大部分是基于单片机技术设计的电子系统。
它们一般由输入脉冲电路、单片机、晶振和复位电路、外路存储器电路和LED显示电路组成。
当今,数字万年历主要还是用于计时、自动报时,定时,日期查询以及自动控制等方面。
由于单片机技术以及数字集成电路技术的发展,如今的数字万年历系统具有体积小、耗电省、计时准确、性能稳定、维护方便、走时准确、携带方便等优点,,此外,现在市场上已有现成的数字万年历集成电路芯片出售,而且价格便宜、使用也很方便。
日历的发展经历了数千年的历史。
现代日历随着使用范围的不断扩大,功能日益增加,种类也越来越多。
从70年代以来,随着单片机和超大规模集成电路的发展,为数字万年历的飞速发展奠定了物质基础。
近几年来,数字万年历的发展方向是朝着走时精度高、稳定性好、使用方便、耗电量小、走时延续时间长、体积小、功能多、制造成本低等方向发展。
最新的数字万年历,它除了具有常见万年历功能外,而且还具有倒计时、多点定时、语音报时、实时温度测量等功能。
在硬件方面它并没有太大的变化,主要是通过增加软件部分来实现倒计时、多点定时的功能。
不难想像,随着科学技术的飞速发展,各种高新技术的出现并被广泛应用到生产、生活中,未来数字万年历产品也必将沿着体积小、耗电省、计时准确、性能稳定、维护方便、直时准确、携带方便等方向发展而其成本却越来越低。
二、电子万年历的方案设计
2.1万年历的简单模拟方案
本设计实现的功能是在LCD12864液晶屏上显示出日期、时间,温度、湿度,以及通过温湿度传感器对周围环境进行监测,当温度或湿度超过某一个设定值时,通过LCD1284显示报警信号。
同时可通过遥控器对日期和时间进行更改,如果修改成功则在液晶屏上显示“修改成功!
”字样。
除了上述功能以外,本设计还可以对日期、时间和温湿度进行语音播报。
本电子万年历硬件包括电源模块,主控制模块,时钟模块,温湿度检测模块,显示模块,红外遥控模块,语音播报模块。
下图为这个硬件电路的概图。
图1硬件方案
2.2硬件电路模块
2.2.1主控制模块
主控制模块采用STC89C52芯片,芯片主要控制其余各个模块,通过对温湿度模块的控制采集温度和湿度,对时钟模块的控制读取时间,通过液晶来显示报警信息,通过对遥控器传来信号的识别来执行对时间修改、语音播报等功能。
STC89C52[1]芯片介绍如下:
主要性能
●与MCS-51单片机产品兼容;
●8K字节在系统可编程Flash存储器;
●1000次擦写周期;
●全静态操作:
0Hz~33Hz;
●三级加密程序存储器;
●32个可编程I/O口线;
●三个16位定时器/计数器;
●八个中断源;
●全双工UART串行通道;
●低功耗空闲和掉电模式;
●掉电后中断可唤醒;
●看门狗定时器;
功能特性描述
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C52具有以下标准功能:
8k字节Flash,256字节RAM,2位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
2.2.2时钟模块
时钟模块采用达拉斯公司生产的DS1302时钟芯片,以下是对此芯片进行的介绍:
DS1302[2,3]是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.5~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS-1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。
以下是其封装及其引脚功能:
图2DS1302外部引脚
引脚号
引脚名称
功能
1
VCC1
主电源
2、3
X2、X3
振荡源,外接32768KHz晶振
4
GND
地线
5
RST
复位、片选线
6
I/O
串行数据输入输出端
7
SCLK
串行数据时钟
8
VCC2
后备电源
表1DS1302引脚功能
此模块的主要功能是提供实时时钟。
2.2.3温湿度检测模块
温湿度检测模块采用的是DHT11数字温湿度传感器,以下是对此芯片的介绍:
DHT11[4]数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。
它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。
传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
每个DHT11传感器都在极为精确的湿度校验室中进行校准。
校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。
单线制串行接口,使系统集成变得简易快捷。
超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。
产品为4针单排引脚封装。
连接方便,特殊封装形式可根据用户需求而提供。
以下是其封装:
图3DHT11封装
引脚号
引脚名称
功能
1
VCC
电源端
2
DATA
数据输入输出端
3
NC
空
4
GND
地线
表2DHT11引脚功能
本模块实现的功能是实现对周围温度和湿度的检测。
2.2.4显示模块
显示模块采用LCD12864液晶,其主要实现的功能是显示时间和温度。
以下是对此模块的介绍:
带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
以下是其封装及其引脚功能:
(只对串口模式下的几个引脚做说明)
图412864封装
引脚号
引脚名称
电平
功能
1
VSS
0V
电源地
2
VDD
+5V
电源正(3.0-5.5V)
3
VO
-
对比度(亮度)调整
4
CS
H/L
片选端,高电平有效
5
SID
H/L
串行数据输入端
6
CLK
H/L
串行同步时钟
15
PSB
L
L:
串口方式
17
/RESET
H/L
复位端,低电平有效
19
A
VDD
背光源电压+5V
20
K
VSS
背光源负端0V
表312864引脚功能(串行)
本模块实现的功能是实现对时间和周围温湿度的显示。
2.2.5红外遥控模块
红外遥控模块分为发射部分和接收部分,发射部分采用电视遥控器,而接收部分采用的是红外一体化接收头。
以下是红外遥控的系统框图:
图5红外遥控的系统框图
红外线发射端就是红外遥控器,主要包括键盘、编码调制芯片、红外线发射LED。
当按下某一按键后,遥控器上的编码调制芯片便进行编码,并结合载波电路的载波信号而成为合成信号,再经红外线发射二极管,将红外线信号发射出去。
一体化红外线接收器是一种集红外线接收和放大于一体,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。
2.2.6语音播报模块
语音模块采用ISD1730语音芯片,其主要实现的功能是播报时间、温湿度。
以下是对此模块的介绍:
ISD1730[5]是华邦ISD公司2007年新推出的单片优质语音录放电路,该芯片提供多项新功能,包括内置专利的多信息管理系统,新信息提示(vAlert),双运作模式(独立&嵌入式),以及可定制的信息操作指示音效。
芯片内部包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器与内存等的全方位整合系统功能。
特点:
·可录、放音十万次,存储内容可以断电保留一百年;
·两种控制方式,两种录音输入方式,两种放音输出方式;
·可处理多达255段信息;
·有丰富多样的工作状态提示;
·多种采样频率对应多种录放时间;
·音质好,电压范围宽,应用灵活,价廉物美;
电气特性:
工作电压:
2.4V-5.5V,,最高不能超过6V;
静态电流:
0.5-1μA;
工作电流:
20mA。
用户可利用震荡电阻来自定芯片的采样频率,从而决定芯片的录放时间和录放音质。
下表为ISD1730的参数表:
时间(秒)
20
30
37
45
60
采样率(KHZ)
12
8
6.4
5.3
4
ROSC阻值(KΩ)
60
80
100
120
160
表4ISD1730的参数表
三、硬件电路设计
3.1硬件电路
3.1.1主控制器电路
主控制器电路如下图:
图6单片机最小系统
该电路是单片机最小系统,电容C7、C8、晶振Y1构成振荡电路为单片机时钟信号。
电容C6、电阻R15组成上电复位电路,而按键S18、电阻R14则构成手动复位。
复位后单片机各部件恢复为初始状态。
电容C9、C10有退耦、滤波的作用。
单片机的PO口内部没有上拉电阻,所以外接上拉J12,其中1脚为排阻的公共端,接电源。
3.1.2时钟电路
图7时钟电路
时钟电路如上图所示,X1、X2脚外接32768Hz的晶振Y2,为芯片提供计时脉冲。
BT1为后备电池,Vcc2为主电源;Vcc1为备份电源。
当Vcc1>Vcc2+0.2V时,由Vcc1向DS1302供电,当Vcc1 DS1302的CLK、I/O、/RST三个管脚分别连接单片机的三个管脚,单片机通过控制这三个管脚来读取DS1302里的时间,然后通过LCD12864来显示时间。 3.1.3温湿度采集电路 图8温湿度采集电路 如上图所示,DHT11的2脚连接到单片机的I/O口(J1000),并接一个上拉电阻R9增加可靠性,当单片机发送开始信号,DHT11从低功耗模式切换到高速模式,对周围环境的温湿度进行采集,当开始信号结束后,DHT11将采集到的数据送给单片机,同时通过LCD12864显示出数据。 3.1.4红外接收电路 图9红外接收电路 红外接收电路如上图所示,其中HW为红外一体化接收头,1脚连接到单片机的I/O口并接一个上拉电阻R10增加可靠性,接收头将接收的数字编码通过1脚送给单片机,单片机对接收到的数字编码进行解码。 3.1.5语音电路 图10语音电路 语音电路如下图所示,主控单片机主要通过四线(SCLK,MOSI,MISO,/SS)SPI协议对ISD1730进行串行通信。 ISD1730作为从机,几乎所有的操作都可以通过这个SPI协议来完成。 ROSC引脚接100K电阻,即声音的采样频率为6.4KHz。 /LED管脚给出信号来提示芯片的工作状态。 MIC+、MIC-为麦克风的输入端,SP+、SP-喇叭的输出端。 /RESET引脚接一个按键,当按键按下即/RESET被触发,芯片将播放指针和录音指针都放置在最后一段语音信息的位置。 3.2硬件电路的调试 硬件调试主要是检测硬件电路是否有短路、断路、虚焊以及元器件是否可用等。 (1)首先检验单片机芯片STC89C52是否有正常工作。 连接好电路,用示波器检测其晶振频率是否接近所买晶振的频率值,如有接近表明晶振有工作。 或者可以用编写一简单程序,如将55H送给I/O用万用表检测其高低电平是否符合,这样就可确定单片机的工作状态。 (2)显示部分的检测: 先用万用表检测显示电路连接是否正确,然后编写一个简单的显示程序来测试它。 经测试显示部分能正常工作,但是有时还是会出现花屏的现象。 经检测后发现原来是接触不良,只要把部分线,特别是电源线重新插上去就可以了。 (3)DS1302的硬件电路很简单,只通过3根I/O线跟单片机的P1^5,P1^6,P1^7直接相连,很容易检测,主要是检查其引脚: 如晶振和电源是否连接好等。 另外可以通过软件来调试硬件,如为了测试DS1302是否能正常定时,可以将DS1302读写编好的小程序加上LCD显示烧入单片机中,观察显示是否有改变,则可观察出硬件电路是否存在问题,晶振是否有工作。 可以使其全速运行,用记时器检测DS1302定时一分钟与实际值是否存在误差进行软件的调试。 (4)应注意的是在电路中晶振的地应与其他地独立分开,同时步PCB板时,应使晶振的电路尽量与所属芯片接近,否则晶振工作可能会受影响。 (5)红外接收的硬件电路也非常简单,检测也非常容易。 另外可编写小程序,当遥控器按下时,将键值通过8个LED显示出来。 这样一来可以得到按键的键值方便以后的操作;另一方面可以用来判断红外部分是否有正常工作。 (6)语音部分的检测可以通过录放音来检测电路是否正常。 在录音前应对ISD1730芯片进行擦除,具体步骤是按下/ERASE键,当LED灯先长亮二下接着再短亮七下,则表明芯片已擦除干净。 按下/REC键,通过麦克风进行录音。 录完音后,给/PLAY引脚低电平,听是否能正常播放所有已录的音段。 如果能则表明语音电路是能正常工作的,否则应检测电路。 (7)温湿度传感器电路的检测也非常容易。 可编写小程序对周围的环境进行测量。 当对DHT11哈一口气时,看温湿度是否会改变,如果能则表明电路能正常工作。 四、电子万年历的软件设计 4.1软件调试工具 系统的软件编程使用的是美国KeilSoftware公司出品的KeilC51,是51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势。 KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。 另外重要的一点,KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。 在开发大型软件时更能体现高级语言的优势。 C51工具包的整体结构中,μVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。 开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。 然后分别由C51及A51编译器编译生成目标文件(.OBJ)。 目标文件可由LIB51创建生成库文件,也可以与库文件一起经C51连接定位生成绝对目标文件(.ABS)。 ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。 烧片基本原理: RST置高电平,然后向单片机串行发送编程命令。 P1.7(SCK)输入移位脉冲,P1.6(MISO)串行读入数据,P1.5(MOSI)串行写入命令或数据。 4.2电子万年历软件流程及设计 本论文中,软件解决的主要问题是对时间显示、温湿度测量及显示、红外的解码、语音播放。 4.2.1主程序设计及流程图 图11主程序流程图 首先对程序进行初始化,包括对单片机中断的初始化、各个输入输出口初始化、DHT11的初始化、红外初始化、DS1302时间初始化。 然后进行温湿度检测、读取时钟并在液晶屏上显示出来;接着判断是否有键按下,如果有则执行按键对应的处理程序,如果没有则等待。 4.2.2时钟部分 对DS1302的读取时很重要的,首先要向其内部的RAM写入正确的初值,其内部的80H,82H,84H,86H,88H,8aH,8cH,8eH分别是代表写入的初始秒、分、时、年、月、日、星期等,我们只要向这几个地址输入初始值,然后DS1302就会自动在这个初始时间上进行计算并且把当前的时间存放在其内部RAM中的81H,83H,85H,87H,89H,8bH,8dH,8fH中,当我们想要得到正确的时间只需要单片机与其进行串行通讯读取上述地址即可。 DS1302的读写时序图如下: 图12DS1302的读写时序图 DS1302与CPU的连接仅需要三条线,即SCLK(7)、I/O(6)、RST(5)。 VCC1在单电源与电池供电的系统中提供低电源并提供低功率的电池备份。 VCC2在双电源系统中提供主电源,在这种运用方式下VCC2连接到备份电源,以便在没有主电源的情况下能保存时间信息以及数据。 DS1302由VCC1或VCC2两者中的较大者供电。 当VCC1大于Vcc2+0.2V时,Vcc1给DS1302供电。 当VCC1小于VCC2时,DS1302由VCC2供电。 数据输入输出在控制指令字输入后的下一个SCLK时钟的上升沿时数据被写入DS1302,数据输入从低位即位0开始。 同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位至高位7。 通过对DS1302的输入输出可以对其进行操作。 4.2.3温湿度部分 DATA[4]用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以 后扩展,现读出为零操作流程如下: 一次完整的数据传输40bit,高位先出。 数据式: 8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。 1、总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。 DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后,读取DHT11的响应信号,主机发送开始信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多功能 电子 万年历