本科生毕业设计
基于单片机的电子万年历开发与设计 The Development and Design Of Electronic Calendar Based on MCU 学生姓名 所在专业 所在班级 申请学位 指导教师 职称 副指导教 职称 师 答辩时间
基于单片机的电子万年历开发与设计 The Development and Design Of Electronic Calendar Based on MCU 学生姓名 所在专业 所在班级 申请学位 指导教师 职称 副指导教 职称 师 答辩时间
目 录
| 摘 要. |
...................................................................................................................................I |
|---|---|
| ABSTR | ACT.........................................................................................................................II |
| 1 绪 |
论..............................................................................................................................1 |
| 1.1 | 研究的目的和意义..............................................................................................1 |
| 1.2 | 电子万年历的国内外发展状况、发展趋势与存在问题..................................1 |
| 1.3 | 本研究的技术要求..............................................................................................1 |
| 1.4 | 本研究应解决的主要问题及其指导思想..........................................................2 |
| 1.4 | .1 本研究应解决的主要问题.............................................................................2 |
| 1.4 | .2 本研究的指导思想.........................................................................................2 |
| 2 芯 |
片的选择和论证......................................................................................................2 |
| 2.1 | 单片机芯片的选择方案和论证..........................................................................2 |
| 2.2 | 显示模块选择方案和论证..................................................................................3 |
| 2.3 | 时钟芯片的选择方案和论证..............................................................................3 |
| 2.4 | 温度传感器的选择方案和论证..........................................................................3 |
| 2.5 | 电路设计最终方案决定......................................................................................4 |
| 3 系 |
统设计说明..............................................................................................................4 |
| 3.1 | 硬件模块图..........................................................................................................4 |
| 3.2 | 系统原理..............................................................................................................4 |
| 3.3 | 系统的软件流程图..............................................................................................5 |
| 4 本 |
研究中的主要模块..................................................................................................5 |
| 4.1 | 主控模块(AT89S52模块)................................................................................5 |
| 4.2 | DS1302时钟模块..................................................................................................7 |
| 4.2 | .1 DS1302简介...................................................................................................7 |
| 4.2 | .2 DS1302结构与工作原理..............................................................................8 |
| 4. | 2.2.1 引脚及功能表..........................................................................................8 |
| 4. | 2.2.2 工作原理..................................................................................................9 |
目 录
| 4.2.3 | 控制命令字节与寄存器...............................................................................9 |
|---|---|
| 4.2.4 | DS1302电路设计图....................................................................................12 |
| 4.3 公 |
历与农历、星期转换模块............................................................................13 |
| 4.3.1 | 概述.............................................................................................................13 |
| 4.3.2 | 基本原理.....................................................................................................13 |
| 4.3.3 | 程序流程图.................................................................................................14 |
| 4.4 DS |
18B20温度模块..............................................................................................16 |
| 4.4.1 | 概述.............................................................................................................16 |
| 4.4.2 | DS18B20的工作原理...................................................................................16 |
| 4.4.2 | .1 DS18B20的性能....................................................................................16 |
| 4.4.2 | .2 DS18B20的内部结构............................................................................16 |
| 4.4.2 | .3 DS18B20的测温原理............................................................................19 |
| 4.4.3 | DS18B20与单片机的接口设计...................................................................20 |
| 4.4.4 | DS18B20程序设计方案...............................................................................20 |
| 4.4.4 | .1 DS18B20电路设计图............................................................................20 |
| 4.4.4 | .2 操作时序..............................................................................................21 |
| 4.5 整 |
点报时模块....................................................................................................23 |
| 4.5.1 | 概述.............................................................................................................23 |
| 4.5.2 | 设计原理.....................................................................................................23 |
| 4.5.3 | 整点报时电路设计图.................................................................................23 |
| 4.6 时 |
间可调模块....................................................................................................24 |
| 4.6.1 | 键盘扫描原理.............................................................................................24 |
| 4.6.2 | 按键说明.....................................................................................................24 |
| 4.6.3 | 软件设计思路.............................................................................................24 |
| 4.7 LC |
D1602显示模块..............................................................................................25 |
| 4.7.1 | 概述.............................................................................................................25 |
| 4.7.2 | 结构与工作原理.........................................................................................25 |
| 4.7.2 | .1 引脚图及引脚功能..............................................................................25 |
目 录
| 4.7.2.2 字符发生存储器(CGROM)..................................................................25 |
|---|
| 4.7.2.3 控制指令..............................................................................................26 |
| 4.7.2.4 1602的内部显示地址..........................................................................27 |
| 4.7.3 LCD1602电路设计图...................................................................................27 |
| 4.8 电源部分............................................................................................................28 |
| 5 设计总结及展望........................................................................................................28 |
| 结束语..............................................................................................................................29 |
| 鸣 谢..................................................................................................................................30 |
| 参考文献..............................................................................................................................31 |
| 附 录..................................................................................................................................32 |
| 附录1:电子万年历原理图................................................................................................32 |
| 附录2:设计程序................................................................................................................33 |
| 附录3:元件清单................................................................................................................64 |
摘要
随着半导体技术的迅速发展,特别是大规模集成电路出现,给人类生活带来了很多的改变。尤 其是单片机技术的应用产品已经随着社会前进的步伐走进我们的生活。电子产品的应用可谓多不胜 数,电子万年历就是其中的一种。电子万年历的出现给人们的生活带来的极大的方便。
本设计着重要描述的就是基于AT89S52的单片机的电子万年历。本文首先描述系统硬件工作原 理,随后介绍了本系统所应用的各硬件接口技术(既芯片驱动程序)和各个接口模块的功能及工作 过程。本设计的主导思想是软硬件相结合来进行各功能模块的编写。
电子万年历以硬件C语言为主体进行软件设计,增加了程序的可读性和可移植性。系统通过 1602小液晶输出显示数据,可以显示当前时间、公农历日期、星期、温度,并附有以峰鸣器为提示 的闹铃功能。
关键词:单片机;电子万年历;公农历;接口模块;C语言。
I
ABSTRACT
Along with the technical and quick development in Semiconductor, especially appearing with the large-scale integrated circuit, make the life change much. The MCU technology application already walks into our life with society step. Electron product application can be termed as being too many to enumerate.The electronic calendar is one kinds among of them.Electron calendar‘s appearing bringing about much convenience for people.
This design is going to describing the calendar based on AT89S52. System hardware of main body is described first, Follow the function, principle of work and hardware interface (that means the chip’s drives) are introduced. The design‘s main ideas is that composes soft and hardware to achieve the design.
The calendar is designed with hardware C language as the Realization tool【10】 , which increased procedure readability and transplanting. The system shows the output by LCD1602, which can demonstrate the current time, the lunar calendar date, the week, the temperature and the system, can alter people with a small sounder.
KEYWORDS: MCU ; Electronic calendar; Lunar calendar; Interface module; C Language.
II
广东海洋大学2008届本科生毕业设计
电子信息工程,200410811402,
指导教师:王骥
第1章 绪论
由于在日常生活当中,人们喜欢按时间办事或一定要按时间办事,上班下班、上课下课、开 会、乘车、轮船启航、飞机起飞等等,所以我们经常可以在一个家庭、学校、工厂、公司等等集体 或单位看到时钟或者纸挂年历。但是时钟只能显示具体某一时、分、秒信息,不能显示年、月、 日、星期和农历信息;纸挂年历只能查看年、月、日、星期、和农历信息,而不能看具体时、分、 秒信息。且假如我们不知道现在具体是什么时间,单凭纸挂年历或时钟不能帮上我们的忙,然而, 电子万年历这时就起了非常大的作用,因为电子万年历不仅能显示时、分、秒信息,也能显示、 年、月、日、星期和农历信息,是集时钟和纸挂年历功能一体的产品,且人们查看起来极其方便, 一目了然。所以,如果我们开发出一款实用电子万年历产品,其经济前景将非常可观。
近年来,随着科学技术的迅速发展,无论在国内还是国外,电子万年历的设计方案已经越发成 熟,稳定性及实用性有很大的提高,电子万年历也发展成为由原来的只能实现基本功能到现在市面 上集娱乐性于一身的常见电子产品。
现在的电子万年历产品基本都采用了集成度极高的专用芯片,这大大地降低了产品的设计难 度,同时也缩短了产品的生产周期。正是基于电子万年历很好的开放性和可发挥性,多种多样的电 子万年历被设计出来。目前市场上有普通万年历,温度万年历,计算器万年历,天气预报万年历,多功能 万年历,世界时万年历,掌心万年历等等。
然而,现代的数码产品市场更新换代的周期越来越短,所以在设计万年历产品的时候在完成一 些基本功能的情况下,在控制好生产成本的前提下,往产品内加入更多的娱乐功能已经成为一种趋 势,这也会成为制约万年历产品的受欢迎程度的一个重要因素。
通过查询多方面的信息,本研究设计了一款读取方便、显示直观,功能多样、电路简洁、成本 低廉的电子万年历。
本研究要求设计的电子万年历不仅能显示时间、星期、公历日期信息,还能显示农历信息(因
- 1 -
广东海洋大学2008届本科生毕业设计
为在我们国家,很多节日都是定在农历的,如年初一、七夕、八月十五等)以及实现整点报时和实 时温度显示等功能。
在这个万年历设计系统中,时间具有可调功能,比如我们想知道某年某日的农历时间,我们可 以调到相应的公历日,按键后农历就会根据公历日期被系统自动转换过来,再显示相应的农历信 息。
本研究的主要问题是公历转农历的算法问题和时间可调问题,这两个问题是否能够成功解决关 系到本次研究的成败。
公历与农历是我国目前并存的两种历法,各有其固有的规律。农历与月球的运行相对应,其影 响因素多,它的大小月和闰月与天体运行有关计算十分复杂,且每年都不一致。因此要用单片机实 现公历与农历的转换用查表法是最方便实用的办法。按日查表是速度最快的方法,但单片机寻址能 力有限,不可能采用按日查表的方法。除按日查外,我们可以通过按年查表的方法,再通过适当的 计算,来确定公历日所对应的农历日期。
时间可调可以说本研究关键的一步。由于系统要在供电状态才工作,若断电一段时间后再通 电,时间不能实时显示。所以通过按键来调时,可达到实时显示时间数据的功能。
本论文先对系统所需要的主要芯片进行选择和论证,确定了选用AT89S52单片机作为系统的主 要控制芯片,时钟芯片DS1302提供时钟,数字式温度传感器实现实时温度显示,而显示部分采用的是 LCD显示屏。
本论文重点是对相应主要模块的硬件进行详细的讲解。比如AT89S52、DS1302、DS18B20和 LCD1602等芯片的引脚功能和工作原理。有利于读者对各模块的理解。在最后给出全局程序和电路 原理图,让读者理清整个设计的来龙去脉。
方案一:
采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低 压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次 拔插会对芯片造成一定的损坏。
- 2 -
广东海洋大学2008届本科生毕业设计
方案二:
采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单 片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦 除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需 要对芯片多次拔插,所以不会对芯片造成损坏。
所以选择采用AT89S52作为主控制系统。
方案一:
采用LED数码管动态扫描,虽然LED数码管价格适中,对于显示数字也比较合适,然而需要显示多 位数字和字母时,编程就会变得很复杂,而且占用的单片机口线多。
方案二:
采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适 合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.
方案三:
采用LCD液晶显示屏, LCD液晶显示屏尽管价格比较贵,但它的显示功能强大,可显示大量字符, 显示多样,清晰可见, ,需要的接口线少。
所以采用LCD液晶显示屏作为显示。
方案一:
直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。 采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。 方案二:
采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、 时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电 压2.5V~5.5V范围内,2.5V时耗电小于300nA.
所以采用DS1302提供时钟。
方案一:
使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随 温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。。此设计方案需用A/D 转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误 差。
- 3 -
广东海洋大学2008届本科生毕业设计
方案二:
采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据 传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,数字式温度 传感器还具有测量精度高、测量范围广等优点。
所以采用数字式温度传感器DS18B20测量温度。
电路设计最终方案决定
综上各方案所述,对此次作品的方案选定: 采用AT89S52作为主控制系统; DS1302提供时钟;数 字式温度传感器;LCD液晶显示屏作为显示模块。
系统的硬件模块图如图3.1所示。
键盘输入电路
峰鸣器
闹铃模块 (89S52) DS18B20温度
主控模块
模块
DS1302
时钟模块 显示电路
图 3.1 系统硬件模块图
模块说明:
DS1302时钟模块可以输出其当前日期、时间及星期
键盘输入电路可以调整日期,时间及公农历的转换
DS18B20温度模块可以测量当前室内的温度
峰鸣器闹铃模块可以做整点报时
显示电路则显示当前的系统运行情况
3.2 系统原理
本系统是由AT89S52单片机为控制核心;时钟电路由DS1302提供,它可以对年、月、日、周 日、时、分、秒进行计时,具有闰年补偿功能;温度的采集由DS18B20构成;LCD1602用来显示数 据;键盘输入电路可以调整日期,时间及公农历的转换。通过用C语言[1] 编程,从DS1302寄存器中 读取年、月、日、周日、时、分、秒等数据信息;从DS18B20寄存器中读取温度信息,再编程将以 上信息送到LCD1602显示出来。同时,通过键扫描,编程实现调整日期,时间及公农历的转换。
- 4 -
预览结束 · 共 70 页
下载完整版