基于51单片机的电子日历.docx
- 文档编号:27552641
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:31
- 大小:791.89KB
基于51单片机的电子日历.docx
《基于51单片机的电子日历.docx》由会员分享,可在线阅读,更多相关《基于51单片机的电子日历.docx(31页珍藏版)》请在冰豆网上搜索。
基于51单片机的电子日历
摘要
本设计是基于51系列的单片机进行的实时日历和时钟显示设计,能够显示年月日时分秒及周信息,具有可调整日期和时刻功能。
在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面预备。
实时日历和时钟显示的设计进程在硬件与软件方面进行同步设计。
硬件部份要紧由AT89S52单片机,LED显示电路,和调时按键电路等组成,系统通过LED显示数据,因此具有人性化的操作和直观的显示成效。
软件方面要紧包括时钟程序、键盘程序,显示程序等。
本系统以单片机的汇编语言进行软件设计,为了便于扩展和更改,软件的设计采纳模块化结构,使程序设计的逻辑关系加倍简练明了,以便更简单地实现调整时刻及日期显示功能。
所有程序编写完成后,在wave软件中进行调试,确信没有问题后,在Proteus软件中嵌入单片机内进行仿真。
关键词:
AT89S52;DS1302;LED
Abstract
Thisdesignisbasedon51seriesmonolithicintegratedcircuitsofareal-timecalendarandtheclockshowsthedesign,youcanshowhowandwhenaweek,hasmayadjustthedateandtimefunctions.inthedesignformonolithicintegratedcircuits,andperipheraltoexpandthebasictheoriesofknowledgewasfairlycomprehensivepreparation.
Real-timecalendarandtheclockshowsthedesigninhardwareandsoftwaredesignofhardwarethatissynchronized.theleddisplayat89s52monolithicintegratedcircuits,andwhenshouldtheelectricalcircuits,thesystemthroughtheleddisplaydatasobehumanizedoperateandintuitivethateffect.includingthesoftwareapplicationprograms,thekeyboard,theprogram,etc.Thissystemtomonolithicintegratedcircuitsoftheassemblylanguageforeasilydevelopingsoftwaredesign,andchanges,softwaredesigntousemodulardesign,theprogramminglogicalrelationshipwithmoreandmoresoastorealizethetimeanddatedisplaythefunctions.allproceduresinwritingafterwaveofdebuggingthesoftwareandmakenoquestionoftheproteussoftwareembeddedmonolithicintegratedcircuits.
KeyWords:
AT89S52;DS1302;LED
-
代做本论文毕业设计实物。
代做专科、本科各个专业毕业论文。
代做电子、机械类专业毕业设计。
完全依照毕业设计指导书做,指导毕业答辩。
淘宝交易:
1概述
在日新月异的21世纪里,家用电子产品取得了迅速进展。
许多家电设备都趋于人性化、智能化,这些电器设备大部份都含有CPU操纵器或是单片机。
单片机以其高靠得住性、高性价比、低电压、低功耗等一系列优势,近几年取得迅猛进展和大范围推行,普遍应用于工业操纵系统、通信设备、日常消费类产品和玩具等。
而且已经深切到工业生产的各个环节和人民生活的方方面面,如车间流水线操纵、自动化系统等、智能型家用电器(冰箱、空调、彩电)等。
用单片机来操纵的小型家电产品具有便携有效,操作简单的特点。
时钟,自从它发明的那天起,就成为人类的朋友,但随着时刻的推移,科学技术的不断进展,人们对时刻计量的精度要求愈来愈高,应用愈来愈广。
如何让时钟更好的为人民效劳,如何让咱们的老朋友焕发青春呢?
这就要求人们不断设计出新型时钟。
现今,高精度的计时工具大多数都利用了石英晶体振荡器,由于电子钟,石英表,石英钟都采纳了石英技术,因此走时精度高,稳固性好,利用方便,不需要常常调校,数字式电子钟用集成电路计不时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时刻,减小了计时误差,这种表具有时,分,秒显示时刻的功能,还能够进行时和分的校对,片选的灵活性好。
时钟电路在运算机系统中起着超级重要的作用,是保证系统正常工作的基础。
在一个单片机应用系统中,时钟有两方面的含义:
一是指为保障系统正常工作的基准振荡按时信号,要紧由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定不时钟,即定不时刻,它通常有两种实现方式:
一是用软件实现,即用单片机内部的可编程按时/计数器来实现,但误差专门大,要紧用在对时刻精度要求不高的场合;二是用专门的时钟芯片实现,在对时刻精度要求很高的情形下,通常采纳这种方式,典型的时钟芯片有:
DS1302,DS12887,X1203等都能够知足高精度的要求。
本文设计的日历和时钟的显示普遍用于小型智能家用电子产品,如电子钟。
利用单片机进行操纵,实不时钟芯片DS1302进行记时,外加掉电存储电路和显示电路,可实现时刻的调整和显示。
电子钟既可普遍应用于家庭,也可应用于银行、邮电、宾馆、医院、学校、企业、商店等相关行业的大厅,和单位会议室、门卫等场所。
因此,此设计具有相当重要的现实意义和有效价值。
2设计方案论证
功能要求
一、能显示年、月、日、时、分、秒、礼拜
二、能对时刻进行手动修正
3、采纳24小时制
4、利用LED显示时刻参数
五、上电后,电子钟显示“2020年1月1日”
“1时1分1秒礼拜1”
对时,分,秒,日,月,年高位为0时做消隐处置,只显示单个数字以增强其可读性。
方案确信
2单片机芯片的选择方案和论证
方案一:
采纳89C51芯片作为硬件核心,采纳FlashROM,内部具有4KBROM存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,可是运用于电路设计中时由于不具有ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成必然的损坏。
方案二:
采纳AT89S52,片内ROM全都采纳FlashROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KBROM存储空间,一样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,因此可不能对芯片造成损坏。
因此选择采纳AT89S52作为主操纵系统.
2显示模块选择方案和论证
方案一:
采纳LED液晶显示屏,液晶显示屏的显示功能壮大,可显示大量文字,图形,显示多样,清楚可见,可是价钱昂贵,需要的接口线多,因此在此设计中不采纳LED液晶显示屏。
方案二:
采纳点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,关于显示文字比较适合,如采纳在显示数字显得太浪费,且价钱也相对较高,因此也不用此种作为显示。
方案三:
采纳LED数码管动态扫描,LED数码管价钱适中,关于显示数字最适合,而且采纳动态扫描法与单片机连接时,占用的单片机口线少。
因此采纳了LED数码管作为显示。
2时钟芯片的选择方案和论证
方案一:
直接采纳单片机按时计数器提供秒信号,利用程序实现年、月、日、礼拜、时、分、秒计数。
采纳此种方案尽管减少芯片的利用,节约本钱,可是,实现的时刻误差较大。
因此不采纳此方案。
方案二:
采纳DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年和闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压~范围内,时耗电小于300nA.
2电路设计最终方案确信
综上各方案所述,对这次作品的方案选定:
以单片机AT89S52为主操纵器,时刻数据是通过时钟芯片DS1302来读取,并通过LED数码管显示出来,并用键盘来完成对当前时刻的调整。
3主操纵器和外围器件
单片机
AT89S52是一种低功耗、高性能CMOS8位微操纵器,利用ATMEL公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
并具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗按时器,2个数据指针,三个16位按时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,许诺RAM、按时器/计数器、串口、中断继续工作。
掉电爱惜方式下,RAM内容被保留,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
时钟芯片
3DS1302芯片介绍
低功耗时钟芯片DS1302能够对年、月、日、时、分、秒进行计时,且具有闰年补偿等多种功能。
DS1302用于数据记录,专门是对某些具有特殊意义的数据点的记录上,能实现数据与显现该数据的时刻同时记录。
这种记录对长时刻的持续测控系统结果的分析和对异样数据显现的缘故的查找有重要意义。
采纳DS1302作为记录测控系统中的数据记录,其软硬件设计简单,时刻记录准确,既幸免了持续记录的大工作量,又幸免了按时记录的盲目性,给持续长时刻的测量、操纵系统的正常运行及检查都来了专门大的方便,可普遍应用于长时刻持续的测控系统中。
在测量操纵系统中,专门是长时刻无人职守的测控系统中,常常需要记录某些具有特殊意义的数据及其显现的时刻。
记录及分析这些特殊意义的数据,对测控系统的性能分析及正常运行具有重要的意义。
传统的数据记录方式是隔时采样或按时采样,没有具体的时刻记录,因此只能记录数据而无法准确记录其显现的时刻;假设采纳单片机计时,一方面需要采纳计数器,占用硬件资源,另一方面需要设置中断、查询等,一样花费单片机的资源,而且某些测控系统可能不许诺。
而在系统中采纳DS1302那么能专门好地解决那个问题。
DS1302的性能特性
·实不时钟,可对秒、分、时、日、周、月和带闰年补偿的年进行计数;
·用于高速数据暂存的31×8位RAM;
·最少引脚的串行I/O;
·~电压工作范围;
·时耗电小于300nA;
·用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式;
·简单的3线接口;
·可选的慢速充电(至VCC1)的能力。
DS1302时钟芯片包括实不时钟/日历和31字节的静态RAM。
它通过一个简单的串行接口与微处置器通信。
实不时钟/日历提供秒、分、时、日、周、月和年等信息。
关于小于31天的月和月末的日期自动进行调整,还包括闰年校正的功能。
时钟的运行能够采纳24h或带AM(上午)/PM(下午)的12h格式。
采纳三线接口与CPU进行同步通信,并可采纳突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302有主电源/后备电源双电源引脚:
VCC1在单电源与电池供电的系统中提供低电源,并提供低功率的电池备份;VCC2在双电源系统中提供主电源,在这种运用方式中,VCC1连接到备份电源,以便在没有主电源的情形下能保留时刻信息和数据。
DS1302由VCC1或VCC2中较大者供电。
当VCC2大于VCC1+时,VCC2给DS1302供电;当VCC2小于VCC1时,DS1302由VCC1供电。
DS1302数据操作原理
DS1302在任何数据传送时必需先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄放器,数据在SCLK的上升沿被输入。
不管是读周期仍是写周期,开始8位指定40个寄放器中哪个被访问到。
在开始8个时钟周期,把命令字节装入移位寄放器以后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。
时钟脉冲的个数在单字节方式下为8加8,在多字节方式下为8加字节数,最大可达248字节数。
图3-1DS1302管脚图
若是在传送进程中置RST为低电平,那么会终止本次数据传送,而且I/O引脚变成高阻态。
上电运行时,在VCC>=之前,RST脚必需维持低电平。
只有在SCLK为低电平常,才能将RST置为高电平。
DS1302的管脚图如图3-1所示,表3-2为各引脚的功能。
引脚号
引脚名称
功能
1
VCC2
主电源
2,3
X1,X2
振荡源,外接32768HZ晶振
4
GND
地线
5
RST
复位/片选线
6
I/O
串行数据输入/输出端(双向)
7
SCLK
串行时钟输入端
8
VCC1
后备电源
表3-2DS1302引脚功能表
DS1302的操纵字如图3-3所示。
操纵字节的最高有效位(位7)必需是逻辑1;若是它为逻辑0,那么不能把数据写入到DS1302中。
位6若是为0,那么表示存取日历时钟数据;为1表示存取RAM数据。
位5~1(A4~A0)指示操作单元的地址。
最低有效位(位0)如为0,表示要进行写操作;为1表示进行读操作。
操纵字节老是从最低位开始输入/输出。
图3-3操纵字节的含义
为了提高对32个地址的寻址能力(地址/命令位1~5=逻辑1),能够把时钟/日历或RAM寄放器规定为多字节(burst)方式。
位6规按时钟或RAM,而位0规定读或写。
在时钟/日历寄放器中的地址9~31或RAM寄放器中的地址31不能存储数据。
在多字节方式中,读或写从地址0的位0开始。
必需按数据传送的顺序写最先的8个寄放器。
可是,当以多字节方式写RAM时,为了传送数据没必要写所有31字节。
不管是不是写了全数31字节,所写的每一字节都将传送至RAM。
数据读写程序如图3-4所示。
≈
SCLKK
≈
RST
I/O
5
7
1
3
5
7
2
1
0
2
4
6
0
≈
4
6
R/C
A2
A3
A0
A1
R/W
A4
1
≈
DATA
I/O
BYTE
DATA
I/O
BYTE
图3-4数据读写程序
DS1302共有12个寄放器,其中有7个寄放器与日历、时钟相关,寄存的数据位为BCD码形式,其日历、时刻寄放器及其操纵字见表3-5,其中奇数为读操作,偶数为写操作。
寄存器
命令码
数据范围
寄存器中各位的内容
名称
地址
写
读
7
6
5
4
3
2
1
0
秒
00H
80H
81H
00~59
CH
秒数据
分
01H
82H
83H
00~59
0
分数据
时
02H
84H
85H
01~12
或00~23
12/
24
0
10/
AP
时数据
日
03H
86H
87H
01~28,29
30,31
0
0
日数据
月
04H
88H
89H
01~12
0
0
0
月数据
星期
05H
9AH
8BH
01~07
0
0
0
0
0
星期数据
年
06H
8CH
8DH
00~99
年数据
多字节读写
BEH
BFH
—
—
表3-5片内时钟数据寄放器
3DS1302的应用
实不时钟芯片DS1302采纳串行数据传输,可为掉电爱惜电源提供可编程的充电功能,也能够关闭充电功能,芯片采纳32768Hz晶振。
要专门说明的是,备用电源BT1能够用电池或超级电容(10万μF以上)。
尽管DS1302在主电源掉电后耗电很小,但如果是要长时刻保证时钟正常,最好选用小型充电电池。
若是断电时刻较短(几小时或几天),能够用漏电较小的一般电解电容代替(100μF就能够够保证1小时的正常走时)。
DS1302在第一次加电后,需进行初始化操作。
初始化后就能够够按正常方式调整时刻。
DS1302的时钟电路如图3-6所示。
图3-6DS1302时钟电路
数码管LED
LED显示器由假设干个发光二极管组成,当发光二极管导通时,相应的一个笔画或一个点就发光。
操纵相应的管导通,就能够显示出对应字符。
各段LED显示器需要由驱动电路驱动。
在七段LED显示器中,通常将各段发光二极管的阴极或阳极连在一路作为公共端。
将各段发光二极管连在一路的叫共阳极显示器,用低电平驱动;将阴极连在一路的叫共阴极显示器,用高电平驱动。
静态显示确实是每一个显示器各笔画段都要独占具有一个锁存功能的输出口线,CPU把要显示的字形代码送到输出口上,就能够够使显示器上显示所需的数字或符号,尔后,即便CPU不在去访问它,因为各笔画段借口具有锁存功能,显示的内容也可不能消失。
动态显示是指显示器显示某一字符时,相应段的发光二极管恒定地导通或截止。
静态显示有并行输出和串行输出两种方式。
在本系统中数码管利用共阴极接法而且是用动态显示。
译码器74HC138
74HC138译码器是通过3条线来达到操纵8条线的状态,确实是通过3条操纵线A0、A一、A2不同的高低电平组合来操纵Y0~Y7的输出状态,其中4和5为使能地端,与8引脚一起接地,当接高电平常Y0到Y7输出高电平。
6号脚为使能端,为高电平常有效。
74HC138封装如图3-7。
当需要级联时只需要改变使能端信号引脚即可,连接方式简单。
图3-774HC138封装图
锁存器74LS244
74ls244由2组、每组四路输入、输出组成。
每组有一个操纵端G,由操纵端的高或低电平决定该组数据被接通仍是断开。
图3-874LS244引脚图
4硬件设计
电路设计框图
AT89S52
主控制模块
DS1302时钟模块
LED数码管动态扫描显示模块
键盘模块
复位电路
时钟电路
系统概述
本电路是由AT89S52单片机为操纵核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实不时钟电路,它能够对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为~。
采纳三线接口与CPU进行同步通信,并可采纳突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31*8的用于临时性寄存数据的RAM寄放器。
可产生年、月、日、周日、时、分、秒,具有利用寿命长,精度高和低功耗等特点,同时具有掉电自动保留功能;显示部份由15个数码管,74Hs13八、74ls244组成。
利用动态扫描显示方式对数字的显示。
硬件的结构和靠得住性直接阻碍着整个系统的靠得住性,因此合理的安排电路能提高电子产品的性能。
电源设计
在那个地址因设计分工和偏重点不同,电源模块用通用的5v变压器。
单片机的复位电路
图4-2手动复位电路
在系统运行的进程中,有时可能对系统需要进行复位,为了幸免对硬件系统常常加电和断电造成的损害,设计了手动的复位电路。
如图4-2所示。
这种电路的设计,在系统的运行进程中需要复位时,只需使开关闭合,在RST端就会显现一按时刻的高电平信号,从而使单片机实现复位。
单片机系统的晶振电路
单片机必需在时钟的驱动下才能进行工作。
MCS-51系列单片机内部都有一个时钟振荡电路,只需外接晶振源,就能够产生必然频率的时钟信号送到单片机的内部的各个单元,决定单片机的工作速度。
图4-3确实是内部时钟工作方式的电路图,这是一种经常使用的方式。
这种方式是外界振荡源,本设计就采纳这种外接晶振的方式。
电路中的两个电容的作用有两个:
一是帮忙振荡器起振(C1C2的值大,起振的速度慢;反之,速度快。
);二是对振荡器的频率起到微调的作用(C1C2的值大,频率略有减少,反之,频率略有提高)。
C1C2的值采纳30pF。
图4-3单片机内部晶振电路连接图
主电路设计
主电路的功能是完成年、月、日、礼拜、时、分、秒之间的转换,再送往LED显示,而且同意键盘操作,对日期和时刻进行校正。
电路原理图如图4-4所示,显示部份用P0口做为输出数据接到LED数码管a到h,并接74ls244做为各段的驱动(为了简化电路图在此用了8个上拉电阻代替74ls244)。
用P3口的低3位接译码器的A0,A1,A2端,用,,别离接译码器的使能端,通过操纵P3口来操纵LED的动态扫描。
单片机的18和19引脚接12MHZ的晶振,并接两个22PF的电容同时接地,单片机复位端接一极性电容并连接到电源处,在极性电容的负极接一10K的电阻,并连接至地做为放电用。
本设计用到四个独立式键盘别离接到P1口的低4位,用P1口的,,接日历时钟的使能端和时钟端及数据输入输出口,并在日历时钟上接一的晶振,并接两个22PF的电容终端和地相连,各芯片的电源部份别离接到有开关式电源产生的+5V电源上,芯片的接地端都接在公共地上,在那个地址接电源部份就再也不一一详述。
设计采纳动态显示,连番扫描各个LED使之显示相应的数型码,当扫描频率大于人眼所能识别的频率时就看不到闪烁现象。
动态显示的亮度不如静态显示,但静态显示占用的I/O口资源较多,往往用移位寄放器74LS164等来扩充其I/O口不足的情形,当显示位数较多时,如此必将增加硬件开销,增大本钱,无益于开阔市场。
本设计的突出的地方在于硬件电路简单,大大减少了硬件开销,如此又必将增加了软件开发的难度,但降低了本钱有利于市场的开阔。
图4-4电路原理图
5软件设计
软件的设计是设计操纵系统的应用程序。
其任务是在整体设计和硬件设计的基础上,确信程序结构,分派内RAM资源,划分功能模块,然后进行主程序和各模块程序的设计,最后连接起来成为一个完整应用程序,与硬件相结合完成相应功能。
主程序设计
主程序才用模块化设计,流程图如图5-1所示。
从上面主程序看出,主程序的组成是通过别离挪用各子程序组成整体系统功能,能很直观的看出主程序所要完成的功能,第一是初始化各模块,以后挪用键盘完成时刻的调整,挪用日历子程序完成日历时钟的初始化和时刻数据的读写,挪用显示子程序显示数据,最后又转到键盘程序来回循环。
初始化部份要紧有初始化按时器部份和和一些寄放器、标志位、初始化时刻等。
对按时器T0初始化时,第一置初值,CPU开中断,按时器T0开中断,而且开始计数,而对按时器T1初始化时,第一置初值,按时器T1关中断,而且停止计数,只有收到命令时才能产生中断。
开始
初始化T0并开中断
初始化T1并关中断
寄存器初始化
标志位初始化
初始化时间
调键盘子程序
调日历子程序
调显示子程序
结束
寄放器的初始化主若是初始化执行程序时用到的部份RAM空间,避免程序执行时带来混乱。
标志位初始化是对时刻调整时判定是调分仍是调时等而专设的位标志,初始化进程中标志位全数置0,即开始时是处于显示状态,而不是调整状态,这一点在程序中相当明了。
初始化时刻是开机时显
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 电子 日历