多功能万年历设计毕业论文
2021-04-15 22:01:16
摘 要
电子万年历在人们的生活中越来越重要,人们可以通过它知道时间信息,让人们的生活井然有序。除了时间信息,农历、温湿度、闹钟功能亦是人们普遍需求的功能,多功能万年历应运而生。本设计的万年历是基于STC89C52单片机的多功能万年历。本设计的硬件电路由时间模块、显示模块、温湿度模块、按键模块、闹钟模块和电源模块六大模块与STC89C52芯片构成,其中显示模块采用的是带字库的LCD12864,温湿度模块采用DHT11,时间模块采用的是DS1302。软件设计采用C语言,用KEIL软件编写。本文设计的万年历可以显示温度、湿度、时、分、秒、星期、阳历、农历、季节,还具有闹钟的功能,具有显示方便、电路简单、价格低廉、低功耗、多功能等诸多优点,市场前景广阔,能够满足绝大多数人的需求。
关键词:万年历;温湿度计;单片机
Abstract
The electronic calendar is more and more important in people's lives. People can use it to know the time information and make people's lives orderly. In addition to time information, the functions of the lunar calendar, temperature and humidity, and alarm clock are functions that people generally demand. Multi-function calendars have emerged.This article describes a multi-period calendar design method based on STC89C52 microcontroller. The hardware circuit of the design consists of six modules: display module, temperature and humidity module, key module, alarm clock module, time module and power module, and STC89C52 chip. The display uses 12864A liquid crystal, the temperature and humidity sensor uses DHT11, and the clock chip uses DS1302. The software design uses C language, written with KEIL software.The calendar designed in this article can display temperature, humidity, hour, minute, second, week, Gregorian calendar, lunar calendar, and season. It also has the function of alarm clock. It has the advantages of convenient display, simple circuit, low cost, low power consumption, and multi-functionality. The market has broad prospects and can meet the needs of the vast majority of people.
Keywords:Perpetual calendar; Hygrometer; Microcontroller
目 录
摘 要 I
Abstract II
第1章 绪论 1
1.1 研究的目的及意义 1
1.2 多功能万年历现状分析 1
1.3 本文主要工作及设计目标 2
1.4 本章小结 2
第2章 多功能万年历系统设计方案 3
2.1 单片机芯片选择方案 3
2.2 按键模块设计方案 4
2.3 时钟模块设计方案 4
2.4 温湿度模块设计方案 4
2.5 显示模块设计方案 4
2.6 本章小结 4
第3章 系统硬件的设计 5
3.1 单片机芯片的选择 5
3.2 DS1302性能分析与接口电路设计 6
3.2.1 DS1302性能分析 6
3.2.2 DS1302接口电路设计 7
3.3 DHT11传感器模块设计 9
3.3.1 DHT11传感器模块的选择 9
3.3.2 DHT11传感器模块电路设计 13
3.4 LCD显示模块 14
3.4.1 LCD12864的特性及使用说明 14
3.4.2 LCD12864与MCU的接口电路 15
3.5 按键模块设计 16
3.6 闹钟模块的设计 16
3.7 复位电路的设计 17
3.8 本章小结 18
第4章 系统的程序设计 19
4.1 DS1302程序设计 19
4.2 DHT11程序设计 21
4.3 LCD12864程序设计 24
4.4 按键模块程序设计 27
4.5 闹钟模块设计 30
4.6 本章小结 30
第5章 系统的测试 31
5.1 底层模块测试 31
5.1.1 显示模块测试 31
5.1.2 按键模块测试 32
5.1.3 闹钟模块测试 33
5.2 系统整体测试 35
5.3 本章小结 35
第6章 结束语 36
附录1 多功能万年历部分代码 39
附图2 多功能万年历系统电路设计图 52
附图3 多功能万年历系统硬件实物图 53
致谢 54
第1章 绪论
1.1 研究的目的及意义
随着科学技术的飞速发展,时间的流逝,从太阳的概念,钟摆到现在的电子钟,人类不断研究和不断创新记录。二十一世纪是数字技术飞速发展的时代,微控制器在高速数字化时代发挥了极其重要的作用。电子日历的开发和研究也是信息时代的重中之重。它适用于学校,机构,公司和军事单位的礼堂,培训场所,教室,公共场所等场合,可以说覆盖了人们生活的方方面面。因此,电子日历的发展就是国家的需求,社会的需求和人们的需求。
由于社会对信息交流的要求不断提高,高新技术的逐步发展,多功能万年历的开发已经在市场上得到广泛应用。
1.2 多功能万年历现状分析
在中国,单片机的学习兴起,行业发展迅速,国内生产技术不断提高。为了获得更大的投资回报,国内企业不断提高生产规模和产品质量,单片机的发展是必然趋势。中国有很多过功能万年历。总体而言,它们基于多功能电子日历。除了时间,日期和其他基本功能的基本功能外,日历还具有闹钟和闹钟灯。商家生产的电子日历更好。
价格和实际考虑因素继续改变电子日历的设计,使其更加适销。随着科学技术的发展,情报肯定会成为未来的发展趋势。因此,供应链管理的发展和学习是社会发展的必然要求。
今天,二十一世纪最具代表性的计时器是多功能万年历,它增加了自动星期,日期,温度,湿度等日常会员信息显示功能,更符合消费者审查要求。因此,多功能电子万年历的出现为时钟行业的发展带来了飞跃。
1.3 本文主要工作及设计目标
本课题研究的电子日历是单片机控制技术的具体应用。 主要研究内容包括以下几个方面:
(1)在选择电子日历芯片时,重要的是要考虑功能实际情况,易用性,单芯片存储器,低功耗以及抵御电源故障的设备。
(2)当在设计硬件时候,我们应该考虑使用结构简单易实用,易于实现的电路。
(3)根据我们选择的电子元器件设计电路图。
(4)根据我们画好的电路图,把买到的电子元器件焊接在万能板上。
(5)设计C语言程序来控制STC89C52芯片。
(6)通过编程,编译,调试,将程序下载到MCU中运行,并实现功能的设计。
(7)在硬件电路和软件程序的设计中,主要考虑的是提操作要人性化,并实现功能的设计。
1.4 本章小结
本章介绍了本文的课题背景,通过对多功能万年历的国内外现状分析,根据实际需求及其实际状况,提出了多功能万年历的设计思想和目标。
第2章 多功能万年历系统设计方案
有很多方法可以为微控制器生成电子日历,并且有许多可用的设备和技术可用。因此,在满足系统功能的前提下,系统的总体设计应充分考虑系统使用的环境,选定的结构应该易于使用且易于实施,器件选择应关注适当的参数,稳定的性能,低功耗和低成本。
系统的功能通常决定系统采用的结构。经过许多考虑(如成本,性能和功耗)后,决定使用USB对STC89C52单片机供电,使用DHT11测量温湿度,时间芯片DS1302连接STC89C52单片机,LED12864显示信息,这样就能实现我们需要的功能。
易知系统由电源模块,时钟模块,显示模块,独立按键模块,温湿度测量模块和闹钟模块组成。系统框图如图2.1所示。
图2.1 硬件电路框图
2.1 单片机芯片选择方案
该系统设计选用STC89C52单片机的理由:低廉、可靠、、低功耗、程序下载简单。STC89C52的主要功能特性:
· 兼容MCS51指令系统
· 8k可反复擦写(gt;1000次)Flash ROM
· 32个双向I/O口
· 256x8bit内部RAM
· 2个串行中断
· 可编程UART串行通道
· 2个外部中断源
· 共6个中断源
· 2个读写中断口线
· 3级加密位
2.2 按键模块设计方案
我考虑使用矩阵键盘还是独立按键,最终选择了独立按键,因为使用独立按键查询简单,程序处理简单,并且可以保存CPU资源。由于系统中所需的按钮不多,为了释放更多的CPU时间,操作方便,因此选择独立按键。
2.3 时钟模块设计方案
我考虑使用单片机自带的定时计数器还是使用DS1302芯片,最终选择了DS1302芯片方案,因为单片机自带的定时器对于时间计时精度不高,而DS1302是一款高性能时钟芯片,计时精确,还能自动计算出秒,分,小时,天,周,月,年和闰年的补偿年数,保存在自己的存储器中。
2.4 温湿度模块设计方案
我考虑的是分别使用温度和湿度传感器(如热敏电阻或AD590),还是使用DHT11温湿度传感器,最终选择了DHT11,因为前者电路复杂,价格高昂,而后者操作简单,只有一个数据线,接口连线也简单,虽然精度没前者高,但大体能够满足日常人们的生活。
2.5 显示模块设计方案
我考虑了使用LCD1602还是LCD12864,最终选择了LCD12864,因为前者显示的内容少,而多功能万年历要显示日期,时间,温湿度,LCD12864虽然价格贵一点,但是他能让我们更好的拓展功能,比如,显示农历,季节,闹钟信息等。
2.6 本章小结
本章通过多功能万年历功能分析,提出了多功能万年历的总体设计方案,明确了系统的功能实现和各个模块划分,完成了各个模块元器件的选择,并且确定了相关的设计思路和方法。
第3章 系统硬件的设计
根据上述系统方案的概念,下面具体说明系统的硬件电路。系统的具体设计将在下面详细描述。
3.1 单片机芯片的选择
STC89C52RC是STC公司生产的高性能8位CMOS 8位微控制器,具有8K字节的可编程闪存。 STC89C52使用经典的MCS-51类,但是已经进行了许多改进以使该芯片具有51遗传微控制器上不具备的功能。 在一个芯片上,通过智能的8位CPU和集成系统编程,STC89C52为许多嵌入式控制应用提供了高度灵活和超高效的解决方案。
1.STC89C52标准功能
它具有以下标准功能:8K的FLASH字节,512个字节RAM,32 /位线I / O,看门狗定时器,EEPROM集成4KB,复位电路MAX810,3定位/计数器16位和4个外部中断, 4矢量矢量中断结构(按照5矢量51级2维矢量结构),双面串口。此外,STC89C52可以降低至零0Hz逻辑,并支持两种具有软件选择的节能模式。在空闲模式下,CPU停止工作,允许RAM,定时器/计数器,串行端口和中断继续工作。在省电模式下,RAM内容的存储,振荡器被冻结,微控制器的整个工作停止,直到下一次关闭或硬件复位。最高工作频率35MHz,6T / 12T可选。STC89C52引脚图如图3.1所示:
图3.1 STC89C52引脚