基于STC89C52单片机的电子时钟设计带程序Word格式.docx
《基于STC89C52单片机的电子时钟设计带程序Word格式.docx》由会员分享,可在线阅读,更多相关《基于STC89C52单片机的电子时钟设计带程序Word格式.docx(60页珍藏版)》请在冰点文库上搜索。
第3章系统硬件设计..................................................................................................13
3.1电路设计框图..................................................................................................13
3.2系统硬件概述..................................................................................................13
第4章系统的软件设计..............................................................................................14
4.1程序概述...........................................................................................................14
4.2延时函数...........................................................................................................15
4.3对DS1302读写操作函数...............................................................................15
......................................................................................15写数据向4.3.1DS1302
......................................................................................16读数据从DS13024.3.2
4.4显示函数..........................................................................................................17
..........................................................................171602液晶中写一个指令4.4.1向.............................................................................................17向液晶写数据4.4.2........................................................................................171602液晶4.4.3初使化.............................................................18如何在液晶上显示时间、日期及周4.4.4
4.5按键函数...........................................................................................................19
......................................................................2112/24小时显示模式切换键4.5.1
................................................................................................23功能键函数4.5.2
................................................................................................26调整键函数4.5.3
.......................................................................................................314.5.4确定键4.6主函数..............................................................................................................32
总结................................................................................................................................34
致谢................................................................................................................................35
参考文献........................................................................................................................36
阳泉职业技术学院专科学校
绪论
概述
时间,对人们来说是非常宝贵的,准确的掌握时间和分配时间对人们来说至关重要。
因此自从时钟发明的那刻起,就成为人类的好朋友。
随着时间的流逝,科学技术的不断发展和提高,人们对时间计量的精度要求越来越高,应用越来越广。
怎样让时钟更好、更方便、更精确的显示时间,这就要求人们不断设计研发出新型的时钟。
高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校。
数字式电子钟用集成电路计时时,译码代替机械式传动,用LCD显示器代替指针进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。
时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。
在单片机的应用系统中,时钟有两个方面的含义:
一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;
二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:
一是用软件实现,即用单片机内部的可编程定时器/计数器来实现;
二是用专门的时钟芯片实现。
研究目的
通过利用STC89C52单片机和DS1302芯片以及外围的按键和LCD显示器等部件,设计一个基于单片机的电子时钟。
设计的电子时钟通过液晶显示器显示,并能通过按键对时间进行设置。
-1-
第1章设计要求与方案论证
1.1设计要求
①具有年、月、日、星期、时、分、秒显示功能
②具备年、月、日、星期、时、分、秒校准功能
③具有12/24小时切换显示功能
1.2系统基本方案选择和论证
1.2.1单片机芯片的选择方案和论证
方案一:
采用STC89C52芯片作为硬件核心。
STC89C52内部具有8KBROM存储空间,512字节数据存储空间,带有2K字节的EEPROM存储空间,与MCS-51系列单片机完全兼容,STC89C52可以通过串口下载。
方案二:
采用AT89S52。
AT89S52片内具有8K字节程序存储空间,256字节的数据存
储空间没有EEPROM存储空间,也与MCS-51系列单片机完全兼容,具有在线编程可擦除技术。
两种单片机都完全能够满足设计需要,STC89C52相对ATS89C52价格便宜,且抗干扰能力强。
考虑到成本因素,因此选用STC89C52。
1.2.2显示模块选择方案和论证
方案一:
采用点阵式数码管显示。
点阵式数码管是由八行八列的发光二极管组成,可用来显示数。
但体积较大,且价格也相对较高,从便携实用的角度出发,不采用此种方案。
方案二:
采用LED数码管动态扫描。
LED数码管价格便宜,对于显示数字最合适,但功耗较大,且显示容量不够,所以也不用此种方案。
方案三:
采用LCD液晶显示屏。
液晶显示屏的显示功能强大,可显示大量文字,显示多样,清晰可见,且价格适中,所以采用了LCD数码管作为显示。
-2-
1.2.3时钟芯片的选择方案和论证
直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。
采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。
所以不采用此方案。
采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自
动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA.
1.3电路设计最终方案决定
综上各方案所述,对此次作品的方案选定:
采用STC89C52单片机作为主控制系统;
采用DS1302作为时钟芯片;
采用1602LCD液晶作为显示器件。
-3-
第2章主要元件介绍
2.1STC89C52介绍
2.1.1STC89C52主要功能及PDIP封装
STC89C52是由深圳宏晶科技公司生产的与工业标准MCS-51指令集和输出管脚相兼容的单片机。
STC89C52主要功能如表2.1所示,其PDIP封装如图2.1所示
主要功能特性P0.4(AD4)635P0.5(AD5)734P23DRGND2319P22X12218P21X22120P20GNDXTC330uF5280C230uF
兼容MCS51指令系统P0.6(AD6)8331P10/T2
8K可反复擦写FlashROMVCC40Vcc39
个双向I/O口32P0.7(AD7)9RST32STCP11/T3P124
256x8bit内部RAMP0038P01C5C437
3个16位可编程定时/计数器中断EA/VppRXD/P3.0311089C52ALE/PROGTXD/P3.11130P135P146P15
时钟频率0-24MHzP0236P0310FuF0.1u35P04
2个串行中断+5V7P16VCCC18P17
可编程UART串行通道34P0533P06
2个外部中断源9RESET10XDR10uF11
共6个中断源32P0731EA/VPGND30
2个读写中断口线TXD21RR12INT0K2001013INT1
3级加密位ALE/P29PSEN28P27
低功耗空闲和掉电模式14T0复位按键15T116WR17
软件设置睡眠和唤醒功能27P2626P2525P2424
表2.1STC89C52主要功能
2.1.2STC89C52引脚介绍
①主电源引脚(2根)
VCC(Pin40):
电源输入,接+5V电源
GND(Pin20):
接地线
②外接晶振引脚(2根)
XTAL1(Pin19):
片内振荡电路的输入端
XTAL2(Pin20):
片内振荡电路的输出端
③控制引脚(4根)
RST/VPP(Pin9):
复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):
地址锁存允许信号
PSEN(Pin29):
外部存储器读选通信号
EA/VPP(Pin31):
程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
④可编程输入/输出引脚(32根)
STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
P0口(Pin39~Pin32):
8位双向I/O口线,名称为P0.0~P0.7
-4-
P1口(Pin1~Pin8):
8位准双向I/O口线,名称为P1.0~P1.7
P2口(Pin21~Pin28):
8位准双向I/O口线,名称为P2.0~P2.7
P3口(Pin10~Pin17):
8位准双向I/O口线,名称为P3.0~P3.7
P1.0140VccP0.0(AD0)239P1.1P0.1(AD1)P1.2338P0.2(AD2)P1.3437P0.3(AD3)536P1.4MOSI/P1.5MISO/P1.6SCK/P1.7
PSEN1229INTO/P3.2
P2.7(AD15)13INTI/P3.328P2.6(AD14)T0/P3.41427P2.5(AD13)26T1/P3.515
P2.4(AD12)2516WR/P3.6
P2.3(AD11)17RD/P3.724P2.2(AD10)18XTAL223P2.1(AD9)19XTAL122P2.0(AD8)GND2120
图2.1STC89C52PDIP封装图
2.1.3STC89C52最小系统
最小系统是指能进行正常工作的最简单电路。
STC89C52最小应用系统电路如图2.2所示。
它包含五个电路部分:
电源电路、时钟电路、复位电路、片内外程序存储器选择电路、输入/输出接口电路。
其中电源电路、时钟电路、复位电路是保证单片机系统能够正常工作的最基本的三部分电路,缺一不可。
①电源电路芯片引脚VCC一般接上直流稳压电源+5V,引脚GND接电源+5V的负极,电源电压范围在4~5.5之间,可保证单片机系统能正常工作。
为提高电路的抗干扰性能,通常在引角Vcc与GND之间接上一个10uF的电解电容和一个0.1uF陶片电容,这样可抑制杂波串扰,从而有效确保电路稳定性。
②时钟电路单片机引脚18和引脚19外接晶振及电容,STC89C52芯片的工作频率可在2~33MHz范围之间选,单片机工作频率取决于晶振XT的频率,通常选用11.0592MHz晶振。
两个小电容通常取值3pF,以保证振荡器电路的稳定性及快速性。
-5-
③复位电路一般若在引脚RST上保持24个工作主频周期的高电平,单片机就可以完成复位,但为了保证系统可靠地复位,复位电路应使引脚RST保持10ms以上的高电平。
如图复位电路带有上电自动复位功能,当电路上电时,由于C1电容两端电压值不能突变,电源+5V会通过电容向RST提供充电电流,因此在RST引脚上产生一高电平,使单片机进入复位状态。
随着电容C1充电,它两端电压上升使得RST电位下降,最终使单片机退出复位状态。
正常运行时,可按复位按钮对单片机复位
+5V
GND最小系统STC89C522.2图2.2DS1302时钟芯片介绍
2.2.1DS1302概述
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用双电源供电(主电源和备用电源),同时提供了对后背电源进行涓细电流充电的能力。
采用三线接口与CPU进行同步通信
-6-
Vcc115Vcc2DS130262X1SCLK7I/OX238CE4GND
DS1302封装图图2.3
引脚介绍2.2.2DS1302各引脚功能为:
DS1302向时,由Vcc2主电源;
Vcc2:
备用电源。
当Vcc2>
Vcc1+0.2VVcc:
供电。
Vcc1向DS1302供电;
当Vcc2<
Vcc1时,由:
串行时钟输入端,控制数据的输入与输出SCLK三线接口时的双向数据线I/O:
输入信号,在读、写数据期间必须为高CE:
使用方法DS13022.2.3
的工作原理:
时钟芯片DS1302
(1)
”,“0在每次进行读、写程序前都必须初始化,先把SCLK端置DS1302为所示。
表2/写时序如图5脉冲;
读接着把RST端置“1”,最后才给予SCLK进行读则不能把对DS