单片机的多功能电子时钟设计(附件)
1 引言 1
2 总体设计方案 1
2.1 总体方案概述 1
2.2 系统硬件设计 1
2.3 系统软件设计 3
3 硬件系统详细设计 4
3.1 单片机最小系统 4
3.2 DS1302时钟模块 7
3.3 温湿度采集模块 11
3.4 液晶显示模块 12
3.5 按键模块 14
3.6 WT588D语音模块 15
3.7 蜂鸣器模块 15
3.8 系统PCB图 16
4 软件系统详细设计 16
4.1 Keil软件开发工具介绍 16
4.2 程序设计思路 17
4.3 程序流程图 18
5 系统测试 21
结 论 28
致 谢 30
参 考 文 献 31
1 引言
20世纪末电子技术得到飞速的发展[1],而在当今社会,随着社会步伐的加快,时间的意义就更加不言而喻了。而手表,数字钟等计时工具的的出现则能够帮助人们能够更好的融入快节奏的社会生活中。与此同时,人们对计时工具的性能提出了更高的要求。而相对于手表,数字钟用数字显示代替了指针显示,更加便捷直观,同时还兼具闹钟、日期及温湿度显示功能[2]。
基于单片机的多功能电子时钟因其要求
*景先生毕设|www.jxszl.com +Q: 3 5 1 9 1 6 0 7 2
20世纪末电子技术得到飞速的发展[1],而在当今社会,随着社会步伐的加快,时间的意义就更加不言而喻了。而手表,数字钟等计时工具的的出现则能够帮助人们能够更好的融入快节奏的社会生活中。与此同时,人们对计时工具的性能提出了更高的要求。而相对于手表,数字钟用数字显示代替了指针显示,更加便捷直观,同时还兼具闹钟、日期及温湿度显示功能[2]。
基于单片机的多功能电子时钟因其要求实现的功能及应用范围的的不同,所以可以在单片机上集成不同的传感器来满足它们在教学、科研、日常生活等各个领域的应用。本次设计的多功能电子时钟以STC89C52芯片为核心,通过各个模块与单片机的连接与数据传输实现温湿度显示、农历阳历显示及星期显示,相对于传统时钟,电子时钟不仅耗能少、使用方便,更重要的是数字时钟的功能也更加强大使用也更为方便。
总体设计方案
2.1 总体方案概述
系统功能的设计实现是在软件与硬件的共同作用下完成的,电路图的绘制及电路板的焊接是进行软件编写的基础,在确保开发板的正确焊接后使用Keil uVision4进行相关功能代码的编写,在代码运行无误后我们使用烧录软件将程序烧进单片机芯片内进行实物演示,观察实物是否能够实现各个模块对应的功能,通过程序的多次修改完成系统预设功能。
2.2 系统硬件设计
系统框图如图2.2所示,系统的功能完成主要是利用温湿度传感器完成温湿度的采集,由DS1302提供时间参数,通过按键实现时间参数的修改与闹钟的设定,LCD12864负责完成温湿度、时间的显示[2],而WT588D则完成语音的播报。将编写的程序加载到单片机上后,接通电源,单片机STC89C52完成对显示模块的初始化,在显示模块的初始化完成后对温湿度传感器进行初始化,初始化完成后通过DHT11芯片实现对温湿度信息的采集与存储,然后通过DH11T的DATA端口与单片机的P3.1口进行连接完成数据的传输,由于采集到的温湿度参数的数据形式是BCD码,因而我们在显示前需要对数据形式进行转换,然后送往LCD上进行显示。在时钟信号下降沿将时间信息地址写到DS1302中,当时钟读取到该时间信息地址后在时钟信号的下降沿将时间参数相关的信息传送到单片机的P1.3口,然后将存储的时间参数转换成十进制,然后将各个时间参数传送到显示模块上进行显示。按键模块主要由5个按键组成,主要实现复位、对时钟的设置及对闹钟的设定功能,当时钟芯片内存储的时间到达设定的闹钟时间时打开蜂鸣器进行报警。WT588D语音模块,当时间为整点、半点或是按下语音播报按键时,连接在芯片上的喇叭进行播报。
图2.2 系统框图
LCD12864显示模块:由于在LCD上显示的参数较多,所以我们选择四行显示。该显示模块不仅能够对汉字进行显示同时能对图案进行显示[3]。LCD12864上显示的每一个汉字都对应了一个地址。在显示时需要注意,单个字符不存在各自的地址,两个字符对应一个地址,所以说每一个汉字开始显示的都是第偶数个(假设从0开始数)。
DS1302时钟模块:主要使用该模块来产生时间参数,选用晶振频率为32.768Khz的晶振因而产生的时间参数精确度更高,能够将年、月、日、时、分、秒等时间信息进行存储,在需要显示时进行读取即可;
(3)DHT11模块:主要是以DHT11芯片为核心,该温湿度芯片能够采集温湿度信息并将之进行存储,它的温度测量范围能够适用于我们的日常生活,湿度测量范围较广;
(4)复位电路:在程序中设定复位时间为2016-01-01,若按下复位键则将时钟信息的时间复位到2016-01-01,00:00:00,闹钟设置为00:00:00;若想修改复位时间只需在程序中将时间信息改为我们想要的时间信息即可。
(5)按键模块:主要由5个按键组成,按键分别用来完成复位,返回,加,减及设置的功能,利用这5个按键来完成时间、日期的设置,闹钟的设定
(6)蜂鸣器电路:用于整点和定时闹钟的报时。
(7)语音模块:主要用通过语音实现播报功能,无论播报年月日信息还是其他参数都很方便且它的音质较好,同时它还能对在整点和半点对时间进行播报,我们还能手动进行语音播报。
2.3 系统软件设计
本次设计的多功能电子时钟采用顺序结构,首先对LCD12864液晶屏进行初始化,主要是完成功能设置,显示控制与清屏等一系列操作, 当设置键按下,实现对时间的修改主要为当加键按下相应的时间参数进行加一,当减键按下时相应的时间参数进行减一操作以此来完成对时间的修改与闹钟的设定,当中断计时到达报警时间,则报警模块进行报警直到检测到有按键按下则关闭闹钟。此间不停的检测时间是否到达整点或半点,若为整点或半点则通过调用WT588D子函数进行语音播报,同时语音播报部分也能对当前时间与温湿度星期等参数进行播报。对于多功能电子钟的设计我们主要使用Keil软件进行开发,使用C语言对系统功能进行实现更加方便、高效。
硬件系统详细设计
硬件电路如下图所示,主要包括了各个显示、温湿度采集、
原文链接:http://www.jxszl.com/dzxx/txgc/34795.html