基于AT89C51的数字万年历设计.docx

上传人:b****8 文档编号:12751786 上传时间:2023-06-07 格式:DOCX 页数:33 大小:941.58KB
下载 相关 举报
基于AT89C51的数字万年历设计.docx_第1页
第1页 / 共33页
基于AT89C51的数字万年历设计.docx_第2页
第2页 / 共33页
基于AT89C51的数字万年历设计.docx_第3页
第3页 / 共33页
基于AT89C51的数字万年历设计.docx_第4页
第4页 / 共33页
基于AT89C51的数字万年历设计.docx_第5页
第5页 / 共33页
基于AT89C51的数字万年历设计.docx_第6页
第6页 / 共33页
基于AT89C51的数字万年历设计.docx_第7页
第7页 / 共33页
基于AT89C51的数字万年历设计.docx_第8页
第8页 / 共33页
基于AT89C51的数字万年历设计.docx_第9页
第9页 / 共33页
基于AT89C51的数字万年历设计.docx_第10页
第10页 / 共33页
基于AT89C51的数字万年历设计.docx_第11页
第11页 / 共33页
基于AT89C51的数字万年历设计.docx_第12页
第12页 / 共33页
基于AT89C51的数字万年历设计.docx_第13页
第13页 / 共33页
基于AT89C51的数字万年历设计.docx_第14页
第14页 / 共33页
基于AT89C51的数字万年历设计.docx_第15页
第15页 / 共33页
基于AT89C51的数字万年历设计.docx_第16页
第16页 / 共33页
基于AT89C51的数字万年历设计.docx_第17页
第17页 / 共33页
基于AT89C51的数字万年历设计.docx_第18页
第18页 / 共33页
基于AT89C51的数字万年历设计.docx_第19页
第19页 / 共33页
基于AT89C51的数字万年历设计.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于AT89C51的数字万年历设计.docx

《基于AT89C51的数字万年历设计.docx》由会员分享,可在线阅读,更多相关《基于AT89C51的数字万年历设计.docx(33页珍藏版)》请在冰点文库上搜索。

基于AT89C51的数字万年历设计.docx

基于AT89C51的数字万年历设计

江西理工大学南昌校区

毕业设计(论文)

 

题目:

基于AT89C51的数字万年历设计

系别:

信息工程系

专业:

电气自动化

班级:

09电子自动化1班

学生:

学号:

09321131

 

指导教师:

职称:

助教

 

摘要

电子万年历是一种日常广泛应用的计时工具,在现代社会中越来越流行。

数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周、时、分、秒、温度等信息,还具有时间校准等功能。

第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!

因此,电子万年历的出现带来了钟表计时业界跨跃性的进步。

本文中万年历的设计过程在硬件与软件方面进行同步设计,硬件部分主要由AT89C51单片机,液晶显示电路,复位电路,时钟电路,稳压电路电路等组成。

在单片机的选择上使用了AT89C51单片机,该单片机适合于许多较为复杂控制应用场合,显示器使用液晶LCD1602。

软件方面主要包括日历程序、液晶驱动程序、显示程序等,这些程序采用C语言编写。

所有程序编写完成后,在KeilC51软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。

并且利用Protel软件进行制图,画出PCB图并且制作出实物。

 

关键词:

时钟电钟;液晶LCD1602;单片机

 

ABSTRACT

E-calendarisaveryextensivedailytimingtool,morepopularinmodernsociety.Fordigitalelectroniccalendarusingintuitivedigitaldisplay,simultaneouslydisplaysyear,month,day,day,hour,minute,second,temperaturesandotherinformation,alsowithatimecalibrationcapabilities.Thethirdrevolutionisasingle-chipdigitaltimingtechnology(electroniccalendar),sothatthetimingproductwalktimedifferencefromgradednarrowingto1/6000000ofasecond,fromtheoriginaltraditionalpointertimingforthedevelopmentofpeople'sdailymorefamiliarluminousdigitaldisplay,intuitiveandclear,andtheincreaseofthefullautomaticdate,week,temperatureandotherdailyauxiliaryinformationdisplayfunction,whichismoreinlinewithconsumerneeds.Therefore,theelectroniccalendarbringsawatchindustryabigprogress.

Synchronizingdesignofcalendarisbasedonhardwareandsoftwaredesign.HardwarepartbyAT89C51microcontroller,circuitforLCD,resetcircuit,clockcircuits,voltage-stabilizingcircuitandserialdownloadcircuitsandothercomponentsofthecircuit.Onthechoiceofusingsingle-chipmicrocomputerAT89C51microcontroller,themicrocontrollerissuitableforahostofcomplexcontrolapplications.MonitorLCDLCD1602.Softwareincludescalendar,LCDdrivers,displayprogram.Programsusingalanguage.Alltheprogrammingiscompleted,KielC51debuggingsoftware,surenoproblem,inProteussoftwareembeddedinsingle-chipmicrocomputerinthesimulation.AndtheuseofPortalsoftwarefordrawinganddrawthePCB.

 

 Keywords:

clockelectricclock

第一章绪言

二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。

第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。

第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。

第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求。

因此,电子万年历的出现带来了钟表计时业界跨跃性的进步。

电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。

因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。

而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。

数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,壁挂式LED数码管显示的日历钟逐渐受到人们的欢迎。

LED数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。

随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。

单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。

本设计硬件电路较简单,所用器件较少,电路中使用了AT89S52单片机、DS1302时钟芯片、24C02FLASH存储器和HY-12864液晶显示器等主要芯片,实现了预计功能。

在对芯片的管脚功能和用法有充分的了解后,根据设计要求设计硬件电路,包括单片机控制电路、时钟电路、存储电路、键盘扫描电路、显示电路和闹铃电路。

然后通过软件编程,实现了对年、月、日、时、分、秒、星期、闰年和阴历的自动调整,用按键进行控制,用液晶模块进行显示,并具有闹铃功能。

万年历的设计过程在硬件与软件方面进行同步设计。

硬件部分主要由AT89C51单片机,液晶显示电路,复位电路,时钟电路,稳压电路电路以及串口下载电路等组成。

在单片机的选择上使用了AT89C51单片机,该单片机适合于许多较为复杂控制应用场合。

显示器使用液晶LCD1602。

软件方面主要包括日历程序、液晶驱动程序,显示程序等。

程序采用汇编语言编写。

所有程序编写完成后,在KeilC51软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。

电子万年历可以正常显示时间并进行时间调整,基本完成了预期要实现的目标。

第二章设计方案论证

2.1系统的基本方案选择、论证和设计

系统方案包括控制部分的选型、时钟芯片的选择、单片机型号的选择和显示模块的确定,具体的要求如下:

具有年、月、日、星期、时、分和秒,温度显示,闹钟等功能;具备年、月、日、星期、时、分和秒校准,定闹钟功能

2.1.1显示部分的方案选择

方案一:

采用数码管显示,数码管是由八个发光二极管组成,对于显示数字字符比较适合,虽然价格便宜,但对于电子万年历需要显示的数码管位数多,编程麻烦,且不稳定,存在抖动现象,需要通过某些软件延时进行消抖,操作起来就比较的麻烦。

方案二:

采用LCD1602液晶显示屏,液晶显示效果出众,可以运用菜单项来方便操作,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,易于编程,稳定可靠,比较的人性化。

通过对比,本课程设计采用LCD1602作为显示模块

2.1.2单片机型号方案选择与论证

方案一:

采用AT89C51芯片作为硬件核心,采用FlashROM,内部具有4KBROM存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,对单片机程序的烧录、调试都有很好的作用,并且性价比很高,能满足本次毕业设计。

方案二:

采用AT89S52,片内ROM全都采用FlashROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KBROM存储空间,同样具有AT89C51的功能,虽然具有在线编程可擦除技术,但是在程序上功能是和AT89C51一样的功能,价格比较高,相对数字万年历,AT89C51就可以满足了。

所以选择采用AT89C51作为主控制系统控制整个系统的正常工作。

2.1.3时钟芯片方案的选择与论证

方案一:

直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。

采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。

所以不采用此方案。

方案二:

采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM作为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA。

同时在外加电源和外加晶振电路下,掉电后走时准确。

本课程设计采用DS1302作为时钟的芯片。

2.1.4温度传感器方案选择与论证

方案一:

采用热敏电阻作为传感器,用热敏电阻与一个相应阻值的电阻串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集者两个电阻变化的分压值,并进行A/D转换。

此设计方案需要A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格的线性化,会产生很大的误差,所以不会选择这种温度传感器。

方案二:

采用DS18B20数字温度传感器来进行温度测量,其主要特性:

(1)适用电压范围宽,在寄生电源方式下可由数据线供电;

(2)单线接口方式;(3)支持多点组网功能,实现组网多点测温;(4)使用中不需要任何外围元件,全部传感器及转换电路集成在形如一只三极管的集成电路内;(5)温度范围-55℃--+125℃,在-10℃--+85℃时精度是±0.5℃;(6)可编程的分辨率为9~12位,在9位分辨率的转换时间是93.75ms,12位分辨率最多为750ms;(7)测量结果直接输出数字温度信号并且具有极强的抗干扰能力;(8)负压特性:

电源极性反接,芯片不会因为发热而烧毁。

所以选择温度传感器用数字温度传感器DS18B20更好。

综上各方案所述,对此次作品的方案选定:

采用AT89S51单片机作为主控制系统;C语言进行编程;DS1302提供时钟;数字式温度传感器DS18B20;LCD1602液晶屏作为显示。

2.2数字万年历设计原理

单片机就是简化的微型计算机,由运算器、控制器、存储器、输入输出设备组成。

CPU(由运算器与控制器组成)中本身自带存储器ROM和RAM,CPU片内也有总线。

IC(集成电路)技术是将电路通过特殊工艺做在一块硅基片上封装成芯片。

本次毕业设计主要是以单片机(AT89C51)为控制核心(采用FlashROM,内部具有4KBROM存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,对单片机程序的烧录、调试都有很好的作用,并且性价比很高),晶振,存储器,地址锁存器,逻辑门电路组成单片机电路系统,LCD1602液晶屏(工业字符型液晶,能够同时显示16列2行)为显示,按钮(类似键盘),扩展芯片,DS1302提供时钟芯片,DS18B20提供温度传感器(温度范围-55℃--+125℃,在-10℃--+85℃时精度是±0.5℃,在使用中不需要任何外围元件)的一个电路系统,通过PCB工艺做在环氧树脂板上。

这样就完成了对数字万年历的设计,其中使用到得软件有单片机仿真软件Protues,编写程序软件KeiluVision2,制板ProtelDXP等。

主要涉及的课程有《单片机的开发与应用》、《Protel的设计》等内容。

第三章系统的硬件设计与实现

3.1系统硬件概述

本系统的电路系统框图如图1所示,AT89C51单片机对DS1302和DA18B20写入控制并读取相应的数据,继而控制LCD1602作出对应的显示。

 

图3-1系统硬件框图

本电路由AT89C51单片机作为控制核心,采用FlashROM,内部具有4KBROM存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,对单片机程序的烧录、调试都有很好的作用,并且性价比很高;时钟电路由DS1302提供,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM作为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA。

同时在外加电源和外加晶振电路下,掉电后走时准确;温度采集有DS18B20完成,它具有独特的单线接口方式,在与微处理器连接仅需要一条口线即可实现双向通讯,支持多点组网功能,实现组网多点测温,使用中不需要任何外围元件,全部传感器及转换电路集成在形如一只三极管的集成电路内,温度范围-55℃--+125℃,在-10℃--+85℃时精度是±0.5℃,在使用中不需要任何外围元件;显示部分由LCD1602液晶显示器完成,该显示器为工业字符型液晶,能够同时显示16列2行。

3.1.1AT89C51功能及其应用

功能特性概述:

AT89C51提供以下标准功能:

4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/记数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89C51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/记数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作直到下一个硬件复位。

AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。

图3-2单片机实物图

引脚功能说明:

Vcc:

电源电压;GND:

P0口:

P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在FIash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻;P1口:

P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

FIash编程和程序校验期间,P1接收低8位地址;P2口:

P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。

在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。

Flash编程或校验时,P2亦接收高位地址和其它控制信号;P3口:

P3口是一组带有内部上拉电阻的8位双向I/O口。

P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。

作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL);P3口还接收一些程序校验的控制信号;RST:

复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位;ALE/PROG:

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

即使不访问外部存储器,ALE仍以时钟振荡频率的l/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:

每当访问外部数据存储器时将跳过一个ALE脉冲。

对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的DO位置位,可禁止ALE操作。

该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。

此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效;PSEN:

程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲

欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。

需注意的是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。

Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp;XTAL1:

振荡器反相放大器的及内部时钟发生器的输入端;XTAL2:

振荡器反相放大器的输出端。

图3-3AT89C51方框图

3.1.2时钟模块功能与原理

DS1302的结构及工作原理:

DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。

DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。

引脚功能及结构:

所示出DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。

在主电源关闭的情况下,也能保持时钟的连续运行。

DS1302由Vcc1或Vcc2两者中的较大者供电。

当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。

当Vcc2小于Vcc1时,DS1302由Vcc1供电。

X1和X2是振荡源,外接32.768kHz晶振。

RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。

RST输入有两种功能:

首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。

当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。

如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。

上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。

只有在SCLK为低电平时,才能将RST置为高电平。

I/O为串行数据输入输出端(双向),后面有详细说明。

SCLK始终是输入端。

3.数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。

同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。

3.1.3温度模块功能与原理

DS18B20的外形和内部结构:

DS18B20内部结构主要由4部分组成:

64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

DS18B20的管脚排列,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

DS18B20工作原理:

DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。

DS18B20测温原理如图3所示。

图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。

高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。

计数器1和温度寄存器被预置在-55℃所对应的一个基数值。

计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度,斜率累加器用于补偿和修正测温过程中的非线性。

3.1.4液晶显示器功能与原理

液晶显示原理:

液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。

液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。

液晶显示器各种图形的显示原理:

线段的显示:

点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。

例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2