1、湖北工业大学商贸学院毕业设计I毕业设计基于单片机带温度显示的电子万年历设计湖北工业大学商贸学院毕业设计II摘 要单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能 IC 卡、电子宠物等,这些都离不开单片机。单片机是集 CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。本设计着重要描述的就是基于 AT89S52 的单片机的电子万年历。本文首先描述系统硬件工作原理,随后说明了本系
2、统所应用的各硬件接口技术(既芯片驱动程序)和各个接口模块的功能及工作过程。本设计的主导思想是软硬件相结合来进行各功能模块的编写。电子万年历以硬件 C 语言为主体进行软件设计,增加了程序的可读性和可移植性。系统通过 LCD 液晶输出显示数据,可以显示当前时间、公农历日期、星期、温度,并附有以峰鸣器为提示的闹铃功能。关键词:单片机 电子万年历 公农历 接口模块 C 语言湖北工业大学商贸学院毕业设计IIIAbstractMCU rapid development of applied technology, we now live Looking at the various fields, fro
3、m the missiles navigation devices, to the various instruments on the aircraft control, computer network communications and data transmission, industrial automation to the process of real-time control and data Processing, and we live in the extensive use of the smart IC cards, electronic pets, these
4、are inseparable from the SCM. SCM is set CPU, RAM, ROM, timing, counting on one interface and a variety of microcontrollers.Its small size, low cost, feature strong, smart widely used in industry and industrial automation.This design is going to describing the calendar based on AT89S52. System hardw
5、are of main body is described first, Follow the function, principle of work and hardware interface (that means the chips drives) are introduced. The designs main ideas is that composes soft and hardware to achieve the design.The calendar is designed with hardware C language as the Realization tool,
6、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
7、 module C Language.湖北工业大学商贸学院毕业设计IV目 录摘 要 .IABSTRACT .II目 录 .III引 言 .11 系统方案设计 .21.1 单片机芯片的选择方案 .21.2 显示模块选择方案 .31.3 时钟芯片的选择方案 .31.4 温度传感器的选择方案 .41.5 电路设计最终方案 .42 系统设计说明 .52.1 硬件模块图 .52.2 系统原理 .52.3 系统的软件流程图 .63 系统单元模块设计 .73.1 主控模块(AT89S52 模块) .73.2 DS1302 时钟模块 .93.2.1 DS1302 简介 .93.2.2 DS1302 结构与工作
8、原理 .103.2.3 控制命令字节与寄存器 .113.2.4 DS1302 电路设计图 .163.3 公历与农历、星期转换模块 .163.3.1 概述 .163.3.2 基本原理 .173.3.3 程序流程图 .183.4 DS18B20 温度模块 .203.4.1 概述 .203.4.2 DS18B20 的工作原理 .203.4.3 DS18B20 与单片机的接口设计 .253.4.4 DS18B20 程序设计方案 .263.5 整点报时模块 .293.5.1 概述 .293.5.2 设计原理 .293.5.3 整点报时电路设计图 .293.6 时间可调模块 .303.6.1 键盘扫描原理
9、 .303.6.2 按键说明 .303.6.3 软件设计思路 .313.7 LCD1602 显示模块 .31湖北工业大学商贸学院毕业设计V3.7.1 概述 .313.7.2 结构与工作原理 .313.7.3 LCD1602 电路设计图 .343.8 电源部分 .35结 束 语 .36参 考 文 献 .37致 谢 .38附 录 .- 1 -湖北工业大学商贸学院毕业设计1引 言近年来,随着我国科技的不断发展,我国经济发展的支柱产业电子产业获得长足发展,近年来各种电子产品琳琅满目,随处可见,随着电子产品的更新速度的加快,各种功能强大,款式新颖的电子产品不断问世。日历时钟便是这一发展趋势中的代表,各种
10、功能的日历应有尽有,且功能不断更新。日历时钟的研究也成为大多数相关专业的学生以及研究人员先研究的对象。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等。因此,研究日历时钟及扩大其应用,有着非常现实的意义。日历是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用使得时钟的精度远远超过老式钟表, 时钟的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。市场上有许多电
11、子钟的专用芯片如:LM8363、LM8365 等,但它们功能单一,电路连接复杂,不便于调试制作!但是考虑到用单片机配合时钟芯片,可制成功能任意的日历时钟,而且可以做到硬件简单、成本低廉。所以本系统采用了以广泛使用的单片机 AT89S52 技术为核心,配合时钟芯片 DS1302。软硬件结合,使硬件部分大为简化,提高了系统稳定性,并采用 LCD 显示电路、键盘电路,使人机交互简便易行。本方案设计出的日历时钟可以显示时间、设置闹铃功能,重点研究实现了单片机时钟芯片这种模式的日历,在很多场合都能用到,也可以把此设计装在镜框中或其它工艺品中,以便更加实用。湖北工业大学商贸学院毕业设计21 系统方案设计1
12、.1 单片机芯片的选择方案方案一: 采用 89C51 芯片作为硬件核心,采用 Flash ROM,内部具有 4KB ROM 存储空间,能于 3V 的超低压工作,而且与 MCS-51 系列单片机完全兼容,但是运用于电路设计中时由于不具备 ISP 在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二:采用 AT89S52,片内 ROM 全都采用 Flash ROM;能以 3V 的超底压工作;同时也与 MCS-51 系列单片机完全该芯片内部存储器为 8KB ROM 存储空间,同样具有89C51 的功能,且具有在线编程
13、可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。综上所述,选择采用 AT89S52 作为主控制系统更适合设计。AT89S52 单片机是一种低功耗高性能的 CMOS8 位微控制器,内置 8KB 可在线编程闪存。该器件采用 Atmel 公司的高密度非易失性存储技术生产,其指令与工业标准 的 80C51 指令集兼容。片内程序存储器允许重复在线编程,允许程序存储器在系统内通过 SPI 串行口改写或用同用的非易失性存储器改写。通过把通用的 8 位 CPU 与可在线下载的 Flash 集成在一个芯片上,AT89S52 便成
14、为一个高效的微型计算机。它的应用范围广,可用于解决复杂的控制问题,且成本较低。 AT89S52 的主要特性如下:1、兼容 MCS51 产品2、8K 字节可擦写 1000 次的在线可编程 ISP 闪存3、4.0V 到 5.5V 的工作电源范围4、全静态工作:0Hz 24MHz5、3 级程序存储器加密6、256 字节内部 RAM湖北工业大学商贸学院毕业设计37、32 条可编程 I/O 线8、3 个 16 位定时器/计数器9、8 个中断源10、UART 串行通道11、低功耗空闲方式和掉电方式12、通过中断终止掉电方式13、看门狗定时器14、双数据指针15、灵活的在线编程(字节和页模式)1.2 显示模
15、块选择方案方案一:采用 LED 数码管动态扫描,虽然 LED 数码管价格适中 ,对于显示数字也比较合适,然而需要显示多位数字和字母时,编程就会变得很复杂,而且占用的单片机口线多。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.方案三:采用 LCD 液晶显示屏, LCD 液晶显示屏尽管价格比较贵,但它的显示功能强大,可显示大量字符,显示多样,清晰可见, ,需要的接口线少。所以综合考虑,采用方案三的 LCD 液晶显示屏作为显示更适合本设计。1.3 时钟芯片的选择方案方案一:直接采用单
16、片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。方案二:湖北工业大学商贸学院毕业设计4采用 DS1302 时钟芯片实现时钟,DS1302 芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的 RAM做为数据暂存区,工作电压 2.5V5.5V 范围内,2.5V 时耗电小于 300nA.综上所述,为显示时间更准确,实现功能更多,本设计采用 DS1302 时钟芯片提供时钟。1.4 温度传感器的选择方案方案一:使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电
17、阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行 A/D 转换。 。此设计方案需用 A/D 转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。方案二:采用数字式温度传感器 DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除 A/D 模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点。为提高测量精度,降低成本,所以本设计采用数字式温度传感器 DS18B20 测量温度。1.5 电路设计最终方案综上各方案所述,对此次作品的方案选定:
18、采用 AT89S52 作为主控制系统; DS1302提供时钟;数字式温度传感器;LCD 液晶显示屏作为显示模块。湖北工业大学商贸学院毕业设计52 系统设计说明2.1 硬件模块图系统的硬件模块图如图 2.1 所示。图 2.1 系统硬件模块图模块说明:1、DS1302 时钟模块可以输出其当前日期、时间及星期2、键盘输入电路可以调整日期,时间及公农历的转换3、DS18B20 温度模块可以测量当前室内的温度4、峰鸣器闹铃模块可以做整点报时5、显示电路则显示当前的系统运行情况2.2 系统原理本系统是由 AT89S52 单片机为控制核心;时钟电路由 DS1302 提供,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能;温度的采集由 DS18B20 构成;LCD1602 用来显示数据;键盘输入电路可以调整日期,时间及公农历的转换。通过用 C 语言 1编程,从 DS1302 寄存器中读取年、月、日、周日、时、分、秒等数据信息;从 DS18B20 寄存器中读取温度信息,再编程将以上信息送到 LCD1602 显示出来。同时,通过键扫描,编程实现调整日期,时间及公农历的转换。DS1302时钟模块(89S52)主控模块键盘输入电路显示电路峰鸣器闹铃模块 DS18B20 温度模块