电子万年历的设计与制作.docx
- 文档编号:7201893
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:51
- 大小:257.80KB
电子万年历的设计与制作.docx
《电子万年历的设计与制作.docx》由会员分享,可在线阅读,更多相关《电子万年历的设计与制作.docx(51页珍藏版)》请在冰豆网上搜索。
电子万年历的设计与制作
毕业设计(论文)
题目
电子万年历的设计与制作
学生姓名
学 号
教学院系
电气与电子工程系
专业班次
电子测量技术与仪器2011级11251
指导教师
职 称
副教授
单 位
完成日期
2014
年
05
月
20
日
摘要
本文介绍了基于AT89S52单片机的多功能电子万年历的硬件结构和软硬件设计方法。
本设计由数据显示模块、温度采集模块、时间处理模块和调整设置模块四个模块组成。
系统以AT89S52单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。
温度采集选用DS18B20芯片,万年历采用直观的数字显示,数据显示采用1602A液晶显示模块,可以在LCD上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。
此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。
关键字:
万年历;温度计;液晶显示
ABSTRACT
ThispaperintroducesthebasedonAT89S52multi-functionelectroniccalendarofthehardwarestructureandsoftwareandhardwaredesignmethod.Thisdesignbydatadisplaymodule,temperatureacquisitionmodule,timeprocessingmoduleandsetmodulefourmodules.WithAT89S52single-chipmicrocomputersystemforthecontrollertoserialclockcalendarchipDS1302recordcalendarandtime,itcanbetodateandtime,minutesandsecondsforthetime,alsohasaleapyearcompensationandotherfunctions.TemperaturegatheringchooseDS18B20chip,calendarbyusingobjectdigitaldisplay,datashowedthatthe1602Aliquidcrystaldisplaymodule,canbeintheLCDshowsatthesametimeyear,month,day,Sunday,when,minutesandseconds,stillhavetimecalibrationetc.Function.Thiscalendarhasreadtheconvenient,directdisplay,functionaldiversity,simplecircuit,lowcost,andmanyotheradvantages,hasabroadmarketprospect.
Keywords:
PerpetualCalendar;thermometer;LCDdisplay
2.7系统的机体设计…...………………………………………………4
第1章绪论
随着科学的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不
断研究,不断创新纪录。
目前,单片机技术的应用产品已经走进了千家万户。
电
子万年历的出现给人们的生活带来了诸多方便。
随着微电子技术的高速发展,单
片机在国民经济的个人领域得到了广泛的运用。
单片机以体积小、功能全、性价
比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各
种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、
自动化、机电一体化等专业技术人员必须掌握的技术。
单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、家用电器、
机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子
系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化
工具,于是基于单片机的醒目而时尚的电子版万年历顺应而生。
基于单片机的电
子万年历结合了时钟和日历的功能,将其二者融为一体,在显示时间的同时还能
显示日期和年、月,它主要是通过单片机来读取时钟芯片的时间、日期,然后送
给显示设备显示出来。
而电子万年历作为电子类小设计不仅是市场上的宠儿,也
是是单片机实验中一个很常用的题目。
因为它的有很好的开放性和可发挥性,因
此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩
展的应用。
而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出
色。
数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、
会议室、车站和广场等使用,壁挂式LED数码管显示的日历钟逐渐受到人们的欢
迎。
LED数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可
以扩展出多种功能。
。
课题研究的背景
随着科技的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。
它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。
对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、时、分、秒和温度等信息,还具有时间校准等功能。
该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。
此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
课题的研究目的与意义
二十一世纪是数字化技术高速发展的时代,而单片机在数字化高速发展的时代扮演着极为重要的角色。
电子万年历的开发与研究在信息化时代的今天亦是当务之急,因为它应用在学校、机关、企业、部队等单位礼堂、训练场地、教学室、公共场地等场合,可以说遍及人们生活的每一个角落。
所以说电子万年历的开发是国家之所需,社会之所需,人民之所需。
由于社会对信息交换不断提高的要求及高新技术的逐步发展,促使电子万年历发展并且投入市场得到广泛应用
课题解决的主要内容
本课题所研究的电子万年历是单片机控制技术的一个具体应用,主要研究内容包括以下几个方面:
(1)选用电子万年历芯片时,应重点考虑功能实在、使用方便、单片存储、低功耗、抗断电的器件。
(2)根据选用的电子万年历芯片设计外围电路和单片机的接口电路
(3)在硬件设计时,结构要尽量简单实用、易于实现,使系统电路尽量简单
(4)根据硬件电路图,在开发板上完成器件的焊接。
(5)根据设计的硬件电路,编写控制AT89S52芯片的单片机程序。
(6)通过编程、编译、调试,把程序下载到单片机上运行,并实现本设计的功能。
(7)在硬件电路和软件程序设计时,主要考虑提高人机界面的友好性,方便用户操作等因素。
第2章系统的方案设计与论述
2.1概述
单片机电子万年历的制作有多种方法,可供选择的器件和运用的技术也有很多种。
所以,系统的总体设计方案应在满足系统功能的前提下,充分考虑系统使用的环境,所选的结构要简单使用、易于实现,器件的选用着眼于合适的参数、稳定的性能、较低的功耗以及低廉的成本。
系统的功能往往决定了系统采用的结构,经过成本,性能,功耗等多方面的考虑决定用三个8位74LS164串行接口外接LED显示器,RESPACK-8对单片机AT89S52进行供电,时间芯片DS1302连接单片机AT89S52。
从而实现电子万年历的功能。
按照系统设计的要求,初步确定系统由电源模块、时钟模块、显示模块、键盘接口模块、温度测量模块和闹钟模块共六个模块组成,电路系统构成框图如图2.1所示
图2.1硬件电路框图
2.2单片机芯片选取
采用AT89S52芯片作为硬件核心,采用FlashROM,能以3V的超低电压工作,而且与MCS-51系列单片机完全兼容,该芯片内部存储器为8KBROM存储空间。
同样具有AT89S52的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
由于AT89S52内部具有8KBROM存储芯片并且支持ISP在线编程,因此采用AT89S52作为主控芯片。
2.3按键控制模块设计与论证
因系统中所需按键不多,为了释放更多的CPU占有时间,操作方便采用独
立按键,查询简单,程序处理简单,可节省CPU资源
2.4时钟模块设计与论述
采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可
自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,
位的RAM作为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300
Ma
2.5温度采集模块设计与论证
因为用DS18B20温度芯片,采用单总线访问,降低成本、降低制作难度且
可节省单片机资源,所以采用数字式温度传感器DS18B20,它能直接读出被测温
度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。
2.6显示模块设计与论证
采用LCD的方法,具有硬件制作简单可直接与单片机接口,显示内容多,功耗
小,成本低等优点,LCM1602可显
2.7系统的机体设计
本设计由数据显示模块、温度采集模块、时间处理模块和调整设置模块四个模块组成。
系统的核心采用的是AT89S52单片机;数据显示模块采用的是LCD液晶显示;温度采集模块用的是DS18b20温度传感器,该传感器所采用的是单总线传输,内部带有A/D转换,用起来非常方便;时间处理模块用的是DS1302时钟芯片,可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能;调整设置模块共包括四个按键:
模式选择键、功能选择键、调整加按键、调整减按键。
系统在正常工作时,LCD液晶上第一行显示时分秒和温度,第二行显示年月日和星期,如果想要对时间进行调整,可以通过调整设置模块来实现。
当按下P3.3键时,系统进入另一模式,此时液晶显示当前温度以及温度上限和下限,可以通过按键来设置温度上下限,当温度超过温度上限或低于温度下限,此时液晶会显示越限标志,如果想要退出该模式就在按一下P3.3即可。
系统仿真图如图2.2:
图2.2系统仿真图
第3章系统硬件的设计
3.1概述
系统硬件的设计主要采用AT89S52单片机的可编程串口其内部的震荡电路产生时钟。
用其2个定时器、计数器产生震荡周期。
单片机中的六个中断系统中C
PU执行各种操作。
另外同时使用时钟芯片DS1302能够向单片机提供包括秒、分、时、日、月、年等在内的实时时间信息。
3.2AT89S52单片机
3.2.1单片机的引脚功能
AT89S52单片机有40个引脚
Vcc:
电源电压+5V
GND:
接地
P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线服用,在访问期间激活内部上拉电阻在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时要求外接上拉电阻。
P1口:
P1口是一个带内部上拉电阻的8位双向I/O,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
Flash编程和程序校验期间,P1接收低8位地址。
P2口:
P2口是一个带内部上拉电阻的8位双向I/O,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(MOVX@Ri指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。
Flash编程和程序校验期间,P2亦接收低高位地址和其他控制信号。
P3口:
P3口是一组带内部上拉电阻的8位双向I/O,P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部的上拉电阻拉高并可作为输入端口。
作输入端时,被外部拉低的P3口将用上拉电阻输出电流。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,见表3.1所示P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
表3.1P3口的第二功能图
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INT0(外中断0)
P3.3
INT1(外中断1)
P3.4
T0(定时/计时器0外部输入)
P3.5
T1(定时/计时器1外部输入)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
WDT溢出将使引脚输出高电平,设置SFRAUXR的DISRT0(地址8EH)可打开或关闭该功能。
DISRT0位缺省为RESET输出高电平打开状态。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存器允许)输出脉冲用于锁存地址的低8位字节。
即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
PSEN:
程序存储允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
当访问外部数据存储器,没有两次有效的PSEN信号。
EA/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。
需要注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平,CPU则执行内部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的变成电压Vpp。
XTAL1:
振荡器反相放大器及内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器的输出端。
3.2.2AT89S52单片机与MCS-51完全兼容
看门狗(WDT):
WDT是一种需要软件控制的复位方式。
WDT由13位计数
器和特殊功能寄存器中的看门狗定时器复位存储器(WDTRST)构成。
WDT在默认情况下无法工作;为了激活WDT,用户必须往WDTRST寄存器(地址:
0A6H)中依次写入01EH和0E1H。
当WDT激活后,晶振工作,WDT在每个机器周期都会增加。
WDT计时周期依赖于外部时钟频率。
除了复位(硬件复位或WDT溢出复位),没有办法停止WDT工作。
当WDT溢出,它将驱动RSR引脚输出一个高电平。
可编程串口(UART)在AT89S52中,UART的操作与AT89S52和AT89C52一样。
AT89S52系列单片机的串行通信口可以工作于同步和异步通信方式。
当工作于异步方式时,它具有全双工的操作功能,也就是说,它可以同时进行数据的发送和接收。
串行口内的接收器采用的是双缓冲结构,能够在接收到的第一个字节从接收寄存器读走之前就开始接收第二个字节(当然,如果第二个字节接收完毕,而第一个字节仍然没有被读走,那将会丢掉一个字节)。
串行口的发送和接收操作都是通过特殊功能寄存器中的数据缓冲寄存器SBUF进行的,但在SBUF的内部,接收寄存器和发送寄存器在物理结构上是完全独立的。
如果将数据写入SBUF,数据会被送入发送寄存器准备发送。
如果执行SBUF指令,则读出的数据一定来自接收缓存器。
因此,CPU对SBUF的读写,实际上是分别访问2个不同的寄存器。
这2个寄存器的功能决不能混淆。
振荡电路:
AT89S52系列单片机的内部振荡器,由一个单极反相器组成。
XTAL1反相器的输入,XTAL2为反相器的输出。
可以利用它内部的振荡器产生时钟,只要XTAL1和XTAL2引脚上一个晶体及电容组成的并联谐振电路,便构成一个完整的振荡信号发生器,此方式称为内部方式。
另一种方式由外部时钟源提供一个时钟信号到XTAL1端输入,而XTAL2端浮空。
在组成一个单片机应用系统时,多数采用这种方式,这种方式结构紧凑,成本低廉,可靠性高。
在电路中,对电容C1和C2的值要求不是很严格,如果使用高质的晶振,则不管频率为多少,C1、C2通常都选择30pF。
定时/计数器:
AT89S52单片机内含有2个16位的定时器/计数器。
当用于定时器方式时,定时器的输入来自内部时钟发生电路,每过一个机器周期,定时器加1,而一个机器周期包含有12个振荡周期,所以,定时器的技术频率为晶振频率的1/12,而计数频率最高为晶振频率的1/24。
为了实现定时和计数功能,定时器中含有3种基本的寄存器:
控制寄存器、方式寄存器和定时器/计数器。
控制寄存器是一个8位的寄存器,用于控制定时器的工作状态,方式寄存器是一个8位的寄存器,用于确定定时器的工作方式,定时器/计数器是16位的计数器,分为高字节和低字节两部分。
RAM:
高于7FH内部数据存储器的地址是8位的,也就是说其地址空间只有256字节,但内部RAM的寻址方式实际上可提供384字节。
的直接地址访问同一个存储空间,高于7FH的间接地址访问另一个存储空间。
这样,虽然高128字节区分与专用寄器,即特殊功能寄存器区的地址是重合的,但实际上它们是分开的。
究竟访问哪一区,存是通过不同的寻址方式加以区分的。
SFR:
SFR是具有特殊功能的所有寄存器的集合,共含有22个不同寄存器,
它们的地址分配在80H~FFH中。
虽然如此,不是所有的单元都被特殊功能寄存器占用,未被占用的单元,其内容是不确定的。
如对这些单元进行读操作,得到的是一些随机数,而写入则无效,所以在编程时不应该将数据写入这些未确定的地址单元中,特殊功能寄存器主要有累加器ACC、B寄存器、程序状态字寄存器PSW、堆栈指针SP、数据指针DPTR、I/O端口、串行口数据缓冲器SBUF、定时器寄存器、捕捉寄存器、控制寄存器。
中断系统:
AT89S52单片机有6个中断源,中断系统主要由中断允许寄存器IE、中断优先级寄存器IP、优先级结构和一些逻辑门组成。
IE寄存器用于允许或禁止中断;IP寄存器用于确定中断源的优先级别;优先级结构用于执行中断源的优先排序;有关逻辑门用于输入中断请求信号。
在整个中断响应过程中CPU所执行的操作步骤如下:
(1)完成当前指令的操作
(2)将PC内容压入堆栈
(3)保存当前的中断状态
(4)阻止同级的中断请求
(5)将中断程序入口地址送PC寄存器
(6)执行中断服务程序
(7)返回
3.3时钟芯片DS1302接口设计与性能分析
3.3.1DS1302性能简介
DS1302是Dallas公司生产的一种实时时钟芯片。
它通过串行方式与单片机进行数据传送,能够向单片机提供包括秒、分、时、日、月、年等在内的实时时间信息,并可对月末日期、闰年天数自动进行调整;它还拥有用于主电源和备份电源的双电源引脚,在主电源关闭的情况下,也能保持时钟的连续运行。
另外,它还能提供31字节的用于高速数据暂存的RAM。
DS1302时钟芯片内主要包括移位寄存器、控制逻辑电路、振荡器。
DS1302与单片机系统的数据传送依靠RST,I/O,SCLK三根端线即可完成。
其工作过程可概括为:
首先系统RST引脚驱动至高电平,然后在SCLK时钟脉冲的作用下,通过I/O引脚向DS1302输入地址/命令字节,随后再在SCLK时钟脉冲的配合下,从I/O引脚写入或读出相应的数据字节。
因此,其与单片机之间的数据传送是十分容易实现的,DS1302的引脚排列及内部结构图如图3.1
DS1302引脚说明:
X1,X232.768kHz晶振引脚
GND地线
RST复位端
I/O数据输入/输出端口
SCLK串行时钟端口
VCC1慢速充电引脚
VCC2电源引脚
图3.1DS1302的引脚
3.3.2DS1302接口电路设计
时钟芯片DS1302的接口电路及工作原理:
图3.2DS1302与MCU接口电路
图3为DS1302的接口电路,其中Vcc1为后备电源,Vcc2为主电源。
VCC1在单电源与电池供电的系统中提供低电源并提供低功率的电池备份。
VCC2在双电源系统中提供主电源,在这种运用方式中VCC1连接到备份电源,以便在没有主电源的情况下能保存时间信息以及数据。
DS1302由VCC1或VCC2两者中较大者供电。
当VCC2大于VCC1+0.2V时,VCC2给DS1302供电。
当VCC2小于VCC1时,DS1302由VCC1供电。
DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置“0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图5所示。
表-1为DS1302的控制字,此控制字的位7必须置1,若为0则不能对DS1302进行读写数据。
对于位6,若对时间进行读/写时,CK=0,对程序进行读/写时RAM=1。
位1至位5指操作单元的地址。
位0是读/写操作位,进行读操作时,该位为1;进行写操作时,该位为0。
控制字节总是从最低位开始输入/输出的。
表-2为DS1302的日历、时间寄存器内容:
“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。
“WP”是写保护位,在任何的对时钟和RAM的写操作之前,“WP”必须为0。
当“WP”为1时,写保护位防止对任一寄存器的写操作。
DS132的控制字:
DS1302的控制字如表3.2所示。
控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为1表示进行读操作,为0表示进行写操作。
控制字节总是从最低位开始输出。
表3.2DS1302的控制字格式
1
RAM/CK
A4
A3
A2
A1
A0
RD/WR
数据输入输出(I/O)
在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。
同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。
如下图3.3所示。
图3.3DS1302读/写时序图
DS1302的寄存器———AM
DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 万年历 设计 制作