ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:290.03KB ,
资源ID:4193553      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4193553.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的电子万年历毕业论文.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的电子万年历毕业论文.docx

1、基于单片机的电子万年历毕业论文-文档均为word文档,下载后可直接编辑使用亦可打印-摘 要现今信息技术飞速发展,时间和每一个人都有非常密切的相互联系,时间对任何人都有着非常重要的影响。随着科技的快速发展,流逝的时间,我们从根据太阳来判断时间,发展到了用钟摆看时间,到现在又有了各种电子表等。当各类电子表在我们生活中广泛应用的时候,电子万年历的的出现又把我们引入到一个全新的时代。电子万年历是一种使用非常广泛的日常计时工具,对现代社会越来越流行。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,还具有时间校准等功能。本设计是基于51系列的单片机进行的电子万年历设计,主要由时钟芯

2、片DS1302采集数据到单片机进行处理再通过LCD1602显示出来。电子万年历的软件部分是使用c语言编写,主要用到的硬件电路有时钟芯片DS1302、液晶显示LCD1602,主控制芯片AT89C51,还有按键。关键词:单片机, LCD602, AT89C51 ,DS302AbstractNowadays information technology develops rapidly, and time and everyone have very close interconnections, and time has a very important influence on anyone.

3、With the rapid development of science and technology, the time elapsed, we judge the time according to the sun, develop to use the pendulum to watch the time, and now have all kinds of electronic watches and so on. When all kinds of electronic watches are widely used in our lives, the advent of elec

4、tronic calendar brings us to a whole new era. Electronic calendar is a kind of widely used daily timing tool, which is becoming more and more popular in modern society. It can time the year, month, day, Sunday, hour, minute, second, also have leap year compensation and so on many functions, still ha

5、ve time calibration and so on function.This design is based on the electronic calendar design of 51 series of single-chip microcomputer, mainly by the clock chip DS1302 collecting data to the single chip microcomputer for processing and then through LCD1602. The software part of the electronic calen

6、dar is written in c language. The main hardware circuits used are clock chip DS1302, liquid crystal display LCD1602, master control chip AT89C51, and buttons.Key words: Microcontroller;LCD1602;AT89C51;DS1302第1章 绪论1.1背景及目的1.1.1课题研究背景 在当代繁忙的工作与生活中,时间与我们每一个人都有非常密切的关系,每个人都受到时间的影响,随着社会、科技的发展,人类得知时间,从观太阳、

7、摆钟到现在电子钟,不断研究、创新。为了在观测时间的同时,能够了解其它与人类密切相关的信息,比如温度、星期、日期等,电子万年历诞生了,它集时间、日期、星期和温度功能于一身,具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势。伴随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。由其是单片机技术的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来的诸多方便,作为一种附加功能,现在越来越广泛的被应用于各种电子产品中,具有广阔的市场前景。1.1.2选题的意义及目的LCD 液晶显示的日历钟显示清晰直观、走时准确、可以进行夜视并且还可以

8、扩展出多种功能。功能也越来越齐全。由于单片机的性能好,可靠性强,低功耗,抗干扰和使用轻便快捷等优点,且最近几年发展迅速,单片机已经应用于众多行业。所以单片机技术为核心,软硬件结合,设计出了功能多样、电路简洁,操作简单,功耗低,成本小等多项优点的万年历系统。适合批量生产,符合电子仪器仪表的未来发展趋势,具有广阔的市场前景。1.2 国内外发展现状及水平随着社会、科技的发展,集直观性,精度高,寿命长,功能全等为一体的记录方式更为人们所需求。在电子产业高速发展这一时代背景下,大规模集成电路大量出现,电子万年历也因读取方便、显示直观、功能多样、电路简洁等诸多优点随之诞生,它的出现极大地影响了人们的生活,

9、我们的时间记录更为全面和科学。因此,对万年历的研究与探索是具有相当重要的现实意义和实用价值。万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。近些年我国也开始重视对电子万年历的开发与设计,让更多的电子万年历能够走进人民生活,跟多人能够应用到功能强大,精度高的电子万年历。第2章 系统的方案选择及论证2.1 单片机芯片选择本设计采用AT89C51芯片作为硬件核心,该芯片采用Flash ROM,内部具有4KB ROM存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,与工业标准的MCS-51指令集和输出管脚相兼容,

10、相对于本设计而言程序空间完全够用。2.2 时钟芯片的选择与论证方案一:直接使用单片机定时器提供秒信号,计数的脉冲由外部提供,定时的脉冲由外部晶振提供,定时时间与初值和晶振频率有关。使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但程序复杂度较高,计时不精准。方案二:采用DS1302时钟芯片,该芯片是由美国DALLAS公司推出的。该芯片是一种高性能、功耗低、带有RAM的实时时钟电路,采用32.768Khz晶振,可对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能。工作电压为2.55.5V,可为掉电保护电源提供可编程的涓流电流充电功能;采用接口与CPU

11、进行串行数据传输,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。经过多方面比较,最终选择方案二。2.3 显示模块的选择与论证 方案一:采用LED数码管显示,数码管显示虽然经济实惠,但是不能显示文字,只能显示数字而且在动态扫描过程中需要用到移位寄存器,在调试过程中会略显繁琐。方案二:采用LCD液晶显示,使用LCD1602显示效果明显,操作方便显示功能强大,显示多样化。对于本设计一个1602就够了,且价格适中接口多方便调试。综上本设计采用方案二LCD显示。2.4 电路设计最终方案综合上面各种方案,最终本设计:采用AT89C51芯片作为主控制系统,采用DS1302提供时钟信号,最后使用LC

12、D1602液晶屏幕进行显示。第3章 系统的硬件设计与实现3.1 电路设计框图 图3-1 系统主要框图3.2系统硬件概述本电路是由AT89C51单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个用于临时性存放数据的RAM寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具

13、有掉电自动保存功能;显示部份由LCD液晶显示屏显示。3.3 系统的电路设计3.3.1 系统总体电路设计图 图3.3.1 系统总体设计图按键K0接P2.7口,按下按键后(锁定)进入修改状态,光标闪烁;按键K1接P2.5口,按下按键后,选择修改的值,按照年份,星期,月,日,时,分,秒的顺序选择。按键K2接P2.3口,按下按键,相对应的值加1。按键K3接P2.1口,按下按键,相对应的值减1。3.3.2单片机主控制模块AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能C

14、MOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1.芯片引脚图 图3.3.2-1 AT89C51引脚图2主要特性:与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片

15、内振荡器和时钟电路3管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地

16、址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1

17、”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:表3.3.2-1 P3口特殊功能口端口管脚备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/D(外数据存储器读控制信号)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器

18、时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的

19、/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。4振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频

20、触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。5芯片擦除: 整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.3.3 时钟电路模块DS1302时钟

21、芯片,该芯片是由美国DALLAS公司推出的。该芯片是一种高性能、功耗低、带有RAM的实时时钟电路,采用32.768Khz晶振,可对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能。工作电压为2.55.5V,可为掉电保护电源提供可编程的涓流电流充电功能;采用接口与CPU进行串行数据传输,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。(1)引脚功能DS1302芯片引脚图如图3.3-1所示。 图3.3-1 DS1302芯片引脚图 图3.3-2 DS1302内部结构图X1、X2:外接32768Hz晶振。SCLK:串行时钟脉冲输入端。I/O:串行数据输入/输出端。_RST:复位/片选端。

22、_RST=0,DS1302复位;_RST=1,允许对DS1302读写操作。Vcc1和Vcc2为主电源,接+5V电源;Vcc1为备用电源,可外接3.6V锂电池。GND:接地端。(2)操作控制字操作控制字实际上是一个地址有着固定的结构,其中包含了操作对象和操作命令,如表3.3所示。 表3.3 DS1302操作控制字 D7:操作使能位。1有效,允许操作;0无效,禁止操作。D6: 操作数据区选择位。1选择操作RAM,0选择操作时钟。D5D1:被操作单元A4A0位地址,与其余各位共同组成操作单元8位地址信号,即操作控制字。D0:读写选择位。1表示进行读操作,0表示写操作。因此,读操作单元地址(控制字)均

23、为奇数,写操作单元地址(控制字)均为偶数。读写DS1302首先要写入操作控制字。(3)读写时序图3.4为DS1302读写时序,其串行数据传输的顺序与80C51串行口相同,无论输入输出,均从低位到高位。控制字最低位RD/_WR最先串出,待最后操作使能位1串出后,紧接着下一个SCLK脉冲就是数据读写。写DS1302是上升沿触发,读DS1302是下降沿触发。 图3.4 DS1302读写时序(4)片内寄存器DS1302内部共有12个寄存器,具有时钟读写、RAM读写、充电和写保护等功能,如表3-5所示. 表3-5 DS1302寄存器1.时钟。有年、星期、月、日、时、分、秒等日历时钟单元。寄存器读单元地址

24、与写单元地址分开,读时用单数(81H8DH),写时用双数(80H8CH)。需要注意的是,DS1302在第一次加电后,必须进行初始化操作。初始化后就可以按正常的方法调整时间,数据格式为BCD码。其中:a. 秒单元(80H/81H)中的bit7功能特殊,定义为时钟暂停标志CH。CH=1,时钟振荡器停,DS1302处于低功耗状态;CH=0,时钟振荡器运行。b.小时单元(84H/85H)可有12小时模式或者24小时模式,由bit7确定:bit7=0,24小时模式,此时bit5为20小时标志位;bit7=1,12小时模式,此时bit5处于AM/PM模式:bit5=0,AM(上午);bit5=1,PM(下

25、午)。c.星期单元(8BH/8AH)中bit3的数据1对应星期日,27对应星期一星期六。周数据与我国习惯用的星期序数不一样,所以显示程序中做了修改。2.写保护。写保护单元(8EH/8FH)中,bit7为写保护位WP,当WP=1且其余各位均为0时禁止写DS1302,保护各寄存器数据不被改写,防止误操作。WP=0,允许写DS1302。3.RAM。DS1302内部有31字节8位RAM,因其有备用电源,供电连续有保障,因此可将一些需要保护的数据存入其中。RAM地址范围为C0HFDH,其中奇数为读操作,偶数为写操作。4.突发操作。DS1302每次读写一个字节,均要先写入操作控制字比较繁琐。突发操作用于连

26、续读写,分为时钟突发和RAM突发,可一次性顺序读写多字节时钟数据或RAM数据。时钟突发控制字为BEH(写)/BFH(读),RAM突发控制字为FEH(写)/FFH(读)。需要注意的是,突发写时钟必须一次性写满8字节时钟数据(包括写保护寄存器),若少写一个字节,将出错。但是突发读时钟可只读7字节时钟数据。3.3.4 显示模块LCD1602液晶显示器由液晶显示屏和驱动控制集成电路(HD44780)组成,分析其功能实际上主要是分析驱动电路HD44780的功能。LCD1602的外形和引脚结构图3.4所示。 图3.4 LCD1602的外形和结构引脚 (1)引脚功能LCD1602共有16个引脚,其名称和功能

27、如下。1. Vss:电源地端。2. VDD:电源正级。4.55.5V通常接+5V。3. Vo:LCD对比度调节端。调节范围为0+5V,接正电源时对比度最弱接地时对比度最高;一般将其调节到0.30.4V时对比度效果最好。4. RS:寄存器选择端。RS=1,读写数据寄存器;RS=0,读写指令寄存器。5. R/W:读写控制端。R/W=1,读出数据;R/W=0,写入数据。6. E:使能端。E=1,允许读写操作,下降沿触发;E=0,禁止读写操作。7. D0D7:8位数据线,三态双向,也可采用4位数据传送方式。8. BLA:LCD背光源正极。9. BLK:LCD背光源负极。(2)内部寄存器LCD1602内

28、部寄存器有指令寄存器IR、数据寄存器DR、地址计数器AC、数据显示存储器DDRAM、字符发生存储器CGROM、自定义字符存储器CGRAM、光标控制寄存器、输入/输出缓冲器和忙标志位BF等。其中与编程应用有关的寄存器简介如下:1. 数据显示存储器DDRAM(Data Display ROM)。DDRAM存放LCD显示的点阵字符代码,共有80字节。LCD1602是2x16位,即可显示2行,每行16个字符。其对应的存储器地址分别为:00H0FH(第一行)和40H4FH(第二行),其余存储单元可作一般RAM使用。2. 字符发生存储器CGROM内部固化了192个点阵字符(160个5x7点阵字符和32个5

29、x10点阵字符)。其中,标点符号、阿拉伯数字和英文大小写字母等字符为ASCII码。3. 自定义字符存储器CGRAM。有64字节RAM,可自定义8个5x8点阵字符或4个5x11点阵字符。4. 地址计数器AC。作为DDRAM或CGRAM的地址指针,具有自动加1和自动减1功能。当数据从DR送到DDRAM/CGRAM时,AC自动加1;当数据从DDRAM/CGRAM送到DR时,AC自动减1。当RS=0、R/W=1时,在使能端E=1激励下,AC的内容送到D7D0。5. 忙标志BF。BF=1时,忙;BF=0时,空闲。在RS=0、R/W=1时,令E=1,BF信号输出到D7上,CPU可对其读出判别。与LED比较

30、,LCD是一种慢响应器件,从地址建立、保持到数据建立、保持均需要时间(ms级),在其内部操作未完成前对其读写,将出错。因此,LCD1602编程应用时,需要充分考虑延时操作也可以对其“忙”状态查询,在确认LCD1602“空闲”条件下,才能对其进行读写操作。(3)控制指令LCD1602读写控制由寄存器RS、读/写控制端R/W和使能端E确定。如下表所示。 表3.3.4 LCD1602读写控制 在RS=0、R/_W=0并E=1的条件下,写入LCD1602的操作指令如表3.3.5所示。 表3.3.5 写入LCD1602的操作指令第4章 系统的软件设计4.1 程序流程框图: Y N N Y 图4.1主程序

31、流程图主程序流程图如上图4.1所示。由于在硬件电路方面上设计了时间调整按键和开关,因此应有对应的时间调整程序。时间调整程序的流程图如图4.2所示。 图4.2 时间调整程序流程图K0键为开始,按下K0键后光标闪烁,首先年闪烁,等待修改,按下K1键选择需要修改的值,按照年,星期,月份,日,小时,分钟的顺序循环选择。第一次修改年份,按下K2键(加按键)有效,年份的值加1,按下K3键(减按键)有效,年份数值减1。年份值修改完毕后,按下K1键进入修改星期值,对应光标闪烁,按下K2键(加按键)有效,星期的值加1,按下K3键(减按键)有效,星期的数值减1。星期值修改完毕后,按下K1键进入月调整程序,修改月份值,对应光标闪烁,按下K2键(加按键)有效,月份的值加1,按下K3键(减按键)有效,月份的数值减1。月份的值修改完毕后,按下K1键进入日调整程序,修改日值,对应光标闪烁,按下K2键(加按键

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1