基于单片机及DS1302的液晶电子钟.docx
- 文档编号:6023957
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:36
- 大小:527.08KB
基于单片机及DS1302的液晶电子钟.docx
《基于单片机及DS1302的液晶电子钟.docx》由会员分享,可在线阅读,更多相关《基于单片机及DS1302的液晶电子钟.docx(36页珍藏版)》请在冰豆网上搜索。
基于单片机及DS1302的液晶电子钟
摘要本课题通过AT89S52单片机来设计电子时钟,采用C语言进行编程,可以实现以下一些功能:
小时,分,秒的显示、定时报警功能。
本次设计的电子时钟系统由时钟电路,LCD显示电路,定时报警电路,按键调整电路四部分组成。
51单片机通过软件编程,在LCD1602液晶屏上实现小时,分,秒的显示;利用时钟芯片DS1302来实现计时,定时功能;通过两个按键开关,一个用于时钟的调节,一个用于闹钟的调节,来实现参数设置和调节功能;到达设置的闹钟时间时,由蜂鸣器发声,起报警作用。
关键词:
单片机AT89S52;时钟芯片DS1302;液晶显示器;电子时钟
ABSTRACTThisissuedesignedbyAT89S52microcontrollerelectronicclock,usingCprogramminglanguage,canachievethefollowingfunctions:
hours,minutes,seconds,show,timealarmfunctions.Thedesignoftheelectronicclocksystemfromtheclockcircuit,LCDdisplaycircuit,timingalarmcircuit,four-buttonadjustmentofthecircuitcomponents.51SCMsoftwareprogramming,theLCD1602LCDscreenontherealizationofhours,minutesandsecondsdisplay;usedtoachievetimeclockchipDS1302,timing;throughtwokeyswitches,onefortheclockadjustment,anadjustmentforthealarmclocktoachieveparametersettingandadjustmentfunction;arrivalsetthealarmtime,bythebuzzersound,fromthealarmfunction.
KEYWORDSSinglechipAT89S52;ClockchipDS1302;LCDMonitor;ElectronicClock
目录
前言5
1、电子时钟的原理6
1.1实验目标:
6
1.2实验意义:
6
2、硬件设计8
2.1整体设计方案8
图2-1系统整体框图8
2.2单片机的选择8
2.3最小系统设计9
2.4时钟电路10
2.5LCD显示电路11
2.6相关控制电路13
2.7复位电路14
3、芯片的介绍16
3.1AT89S52单片机的介绍16
3.1.1主要性能16
3.1.2功能特性描述16
3.1.3引脚结构及描述16
3.2时钟芯片DS1302的简介19
3.3DS1302的组成和工作原理20
3.4LCD1602的简介:
22
3.4.1液晶显示简介23
3.4.21602LCD的基本参数及引脚功能24
4、软件设计27
4.1.1主程序流程图27
4.1.2主程序27
4.2.1按键调整流程图29
4.2.2按键调整程序30
4.3.1DS1302控制部分程序流程图33
4.3.2DS1302控制程序34
4.4.1LCD显示程序流程图36
4.4.2LCD显示程序36
结论39
致谢40
参考文献41
前言
单片机,是集CPU,RAM,ROM,计数和多种接口于一体的微控制器。
自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注。
它体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易,广泛应用于智能生产和工业自动化上。
本课题通过MCS-51单片机来设计电子时钟,采用C语言进行编程,可以实现以下一些功能:
小时,分,秒和定时报警功能。
本次设计的电子时钟系统由时钟电路,LCD显示电路,按键调整电路三部分组成。
51单片机通过软件编程,在LCD1602液晶屏上实现小时,分,秒的显示;利用时钟芯片DS1302来实现计时,定时功能;通过两个按键开关,一个用于时钟的调节,一个用于闹钟的调节,来实现参数设置和调节功能;到达设置的闹钟时间时,由蜂鸣器发声,起报警作用。
本次设计的电子时钟,经过对比测试,发现实际计时的走时精度较高,可满足多种场合的应用需求。
本文详细介绍了AT89S52单片机的基本原理,分析了AT89S52各个管脚的功能及它在设计电路中的作用。
本文论述了LCD1602液晶屏和时钟芯片DS1302的工作原理及其软件设计过程。
1、电子时钟的原理
单片机应用于个智能仪表仪器,而本设计应用了单片机AT89S52和时钟芯片DS1302,电子时钟的理论基础主要涉及了52单片机应用中的数据转换显示,液晶显示原理,和时钟芯片DS1302相互间的通信。
图1-1电子时钟的原理图
1.1实验目标:
用液晶显示器显示时间,按下按键能分别调整当前时间和闹铃时间,两者相同时发出闹铃声响。
1.2实验意义:
在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曙光定时等,它体积小功能强大,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。
2、硬件设计
2.1整体设计方案
由单片机执行采集时钟芯片的时间信号并通过显示模块来输出信号及相关控制功能。
时钟芯片产生时钟信号,利用单片机的I/O口传给单片机:
并通过I/O实现LCD的显示。
系统按键可以对时间进行调整,还可以设置闹钟。
整体框架构图如图2-1所示。
图2-1系统整体框图
2.2单片机的选择
AT89S52是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S52具有如下特点:
40个引脚,8kBytesFlash片内程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
主要功能特性:
·兼容MCS-51指令系统 ·8k可反复擦写(>1000次)ISPFlashROM
·32个双向I/O口 ·4.5-5.5V工作电压
·3个16位可编程定时/计数器 ·时钟频率0-33MHz
·全双工UART串行中断口线 ·256x8bit内部RAM
·2个外部中断源 ·低功耗空闲和省电模式
·中断唤醒省电模式 ·3级加密位
·看门狗(WDT)电路 ·软件设置空闲和省电功能
·灵活的ISP字节和分页编程 ·双数据寄存器指针
2.3最小系统设计
单片机要正常运行,必须具备一定的硬件条件,其中最主要的就是三个基本条件:
(1)电源正常;
(2)时钟正常;(3)复位正常。
在AT89S52单片机的40个引脚中,电源引脚2根,晶振引脚2根,控制引脚4根,可编程输入输出引脚32根。
(1)工作电源
电源是单片机工作的动力源泉,对应的接线方法为:
40脚(VCC)电源引脚,工作时接+5电源,20引脚(GND)为接地线。
(2)时钟电路
时钟电路为单片机产生时序脉冲,单片机所有运算与控制过程都是在统一的时序脉冲的驱动下进行的,时钟电路就好比人的心脏一样重要。
当采用内部时钟时,连接方法如图2-2在晶振引脚XTAL1(19脚)和XTAL2(18脚)引脚之间接入一个晶振,两个引脚对地分别再接入一个电容即可产生所需的时钟信号,电容的容量一般在几十皮法,如30PF。
(3)复位电路
在复位引脚(9脚)持续出现24个振荡器脉冲周期(即2个机器周期)的高电平信号将使单片复位。
如图2-2所示电容C和电阻R构成了单片机上电自动复位电路。
复位后,单片机从0000H单元开始执行程序,并初始化一些专用寄存器为复位状态值,受影响的专用寄存器如表
表2-1复位寄存器状态表
寄存器
状态
寄存器
状态
PC
000H
TCON
00H
ACC
00H
TL0
00H
PSW
00H
TH0
00H
SP
07H
TL1
00H
DPTR
0000H
TH1
00H
P0-P3
FFH
SCON
00H
IP
XXX00000H
SBUF
不确定
IE
0XX00000H
PCON
0XXX0000H
TMOD
00H
(4)控制引脚EA接法
EA/VPP(31脚)为内外程序存储器选择控制引脚,当EA为地电位时单片机从外部程序存储器取指令:
当EA接高电平时单片机从内部程序存储器取指令。
AT89S52单片机内部有8KB可反复擦写1000次以上的程序存储器,因此要把EA接+5V高电平,让单片机运行内部的程序,这样就可以通过反复烧写验证程序了。
这就是AD89S52单片机最小化系统的连接,只有把编好的程序烧写到单片机内部,并接上+5V电源就可以正常运行了,在17脚接上的发光二极管可以用来验证系统是否正常。
2.4时钟电路
时钟是单片机的心脏,常用时钟电路有两种方式,本文选择内部时钟方式,AT89S52单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片19引脚XTAL1,输入端为18引脚XTAL2,这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。
DS1302通过串行方式与单片机进行数据传送,向单片机提供实时时间信息,还拥有用于主电源和备份电源的双电源引脚,在主电源关闭的情况下,也能保持时钟的连续运行。
另外,它还能提供31字节的用于高速数据暂存的RAM。
图2-2DS1302与单片机接口图
2.5LCD显示电路
液晶显示模块具有体积小,功耗低,显示内容丰富等特点,可以显示2行16字符,有8位数据总线D0-D7,和RS、R/W、EN三个控制端口,工作电压5V。
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
它与单片机的连接如图2-3所示
表2-2LCD引脚功能表
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
数据
3
VL
液晶显示偏压
11
D4
数据
4
RS
数据/命令选择
12
D5
数据
5
R/W
读/写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
D0
数据
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
图2-3LCD与单片机接口
2.6相关控制电路
按键电路如图2-5所示,按键的开关状态通过一定的电路转换为高、低电平状态。
按键闭合过程在相应的I/O端口形成一个负脉冲。
闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。
抖动持续时间的长短与开关的机械特性有关,一般在5-10ms之间。
为了比面CPU多次处理按键的一次闭合,应采用措施消除抖动。
采用独立式按键,直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。
P1.0口:
表示功能位移键
P1.1口:
表示数字“+”键
P1.2口:
表示数字“-”键
P1.3口:
表示时间表的切换
图2-4按键图
2.7复位电路
AT89S52单片机的复位是有外部的复位电路来实现的。
复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平有复位电路采样一次,然后才能得到内部复位操作所需要的信号。
上电复位:
上电复位电路是一种简单的复位电路,只要在RST复位引脚接一个电容到VCC,接一个电阻到地就可以了。
上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信号,这个复位信号随着VCC对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。
为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。
如图2-6所示,上电自动复位是通过外部复位电路的电容充电来实习的。
只要VCC的上升时间不超过1ms,就可以实习自动上电复位。
图2-5复位电路图
3、芯片的介绍
3.1AT89S52单片机的介绍
3.1.1主要性能
与MCSE-51单片机产品兼容
8K字节在系统可编程Flash存储器
1000次擦写周期
全静态操作:
0Hz~33Hz
三级加密程序存储器
32个可编程I/O口线
三个16位定时器/计数器
八个中断源
全双工UART串行通道
低功耗空闲和掉电模式
掉电后中断可唤醒
看门狗定时器
双数据指针
掉电标识符
3.1.2功能特性描述
AT89S52是一种低功耗、高性能CM0S8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有精巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件选择节电模式:
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工程。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
3.1.3引脚结构及描述
图3-1AT89S52引脚图
Vcc:
电源
GND:
地
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节:
在程序校验时,输出指令自己。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平:
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输入电流(
)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2在Flash编程和校验时,P1口接收低8位地址字节。
表3-1
引脚号
第二功能
P1.0
T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5
MOSI(在系统编程用)
P1.6
MISO(在系统编程用)
P1.7
SCK(在系统编程用)
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻的原因,将输出电流(
)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)8位地址(如MOVX@R1)访问外部数据存储器时,P2口输出P2锁存器的内容。
在Flash编程和校验时,P2口也接收搞8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平:
对P3端口写“1”是,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(
)。
在Flash编程和校验时,P3口也接收一些控制信号。
表3-2
引脚号
第二功能
P3.0
RXD(串行输入)
P3.1
TXD(串行输出)
P3.2
(外部中断0)
P3.3
(外部中断0)
P3.4
T0(定时器0外部输入)
P3.5
T0(定时器1外部输入)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器写选通)
RST:
复位输入,晶振工作时,RET脚持续2个机器周期高电平将使单片机复位。
看门狗几时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/
:
地址锁存器控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在Flash编程时,此引脚(
)也用作于编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,将通过地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
:
外部程序存储器选通信号(
)是外部程序存储器选通信号。
当AT89S52从外部程序存储器执行外部代码时,
在每个机器周期被激活两次,而在访问外部数据存储器时,
将不被激活。
/VPP:
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,
必须接GND。
为了执行内部程序指令,
应该接Vcc;
Flash编程期间,
也接收12VVPP电压;
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
3.2时钟芯片DS1302的简介
DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信实时时钟/日历电路.提供秒分时日日期.月年的信息,每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式.DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:
1RES复位,2I/O数据线,3SCLK串行时钟.时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信.DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW.DS1302是由DS1202改进而来,增加了以下的特性.双电源管脚用于主电源和备份电源供应Vcc1,为可编程涓流充电电源附加七个字节存储器.它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等产品领域.
实时时钟具有能计算2100年之前的秒分时日日期星期月年的能力还有闰年调整的能力;
318位暂存数据存储RAM;
串行I/O口方式使得管脚数量最少;
宽范围工作电压2.05.5V;
工作电流2.0V时,小于300nA;
读/写时钟或RAM数据时有两种传送方式单字节传送和多字节传送字符组式;
8脚DIP封装或可选的8脚SOIC封装根据表面装配;
简单3线接口;
与TTL兼容Vcc=5V;
可选工业级温度范围-40+85;
与DS1202兼容;
在DS1202基础上增加的特性;
对Vcc1有可选的涓流充电能力;
双电源管用于主电源和备份电源供应;
备份电源管脚可由电池或大容量电容输入;
附加的7字节暂存存储器。
3.3DS1302的组成和工作原理
DS1302的引脚功能排列及描述如下图所示.
图3-2DS1302引脚图
DS1302S8-PinSOIC(200mil)
DS1302Z8-PinSOIC(150mil)
管脚描述
X1X232.768KHz晶振管脚
GND地
RST复位脚
I/O数据输入/输出引脚
SCLK串行时钟
Vcc1,Vcc2电源供电管脚
.DS1302内部寄存器
CH:
时钟停止位存器2的第7位12/24小时标志
CH=0振荡器工作允许bit7=1,12小时模式
CH=1振荡器停止bit7=0,24小时模式
WP:
写保护位寄存器2的第5位:
AM/PM定义
WP=0寄存器数据能够写入AP=1下午模式
WP=1寄存器数据不能写入AP=0上午模式
TCS:
涓流充电选择DS:
二极管选择位
TCS=1010使能涓流充电DS=01选择一个二极管
TCS=其它禁止涓流充电DS=10选择两个二极管
DS=00或11,即使TCS=1010,充电功能也被禁止
表3-3
RS位
电阻
典型位
00
没有
没有
01
R1
2KΩ
10
R2
4KΩ
11
R3
8KΩ
时钟:
图3-3
3.4LCD1602的简介:
在日常生活中,我们对液晶显示器并不陌生。
液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 DS1302 液晶 电子钟
![提示](https://static.bdocx.com/images/bang_tan.gif)