基于STC89C52单片机的电子时钟设计带程序.doc
- 文档编号:2590399
- 上传时间:2022-11-02
- 格式:DOC
- 页数:40
- 大小:834.60KB
基于STC89C52单片机的电子时钟设计带程序.doc
《基于STC89C52单片机的电子时钟设计带程序.doc》由会员分享,可在线阅读,更多相关《基于STC89C52单片机的电子时钟设计带程序.doc(40页珍藏版)》请在冰豆网上搜索。
阳泉职业技术学院毕业论文
程序已经验证可行本人亲自做了一个
基于51单片机的电子时钟设计
目录
绪论 1
概述 1
研究目的 1
第1章设计要求与方案论证 2
1.1设计要求 2
1.2系统基本方案选择和论证 2
1.2.1单片机芯片的选择方案和论证 2
1.2.2显示模块选择方案和论证 2
1.2.3时钟芯片的选择方案和论证 3
1.3电路设计最终方案决定 3
第2章主要元件介绍 4
2.1STC89C52介绍 4
2.1.1STC89C52主要功能及PDIP封装 4
2.1.2STC89C52引脚介绍 4
2.1.3STC89C52最小系统 5
2.2DS1302时钟芯片介绍 6
2.2.1DS1302概述 6
2.2.2DS1302引脚介绍 7
2.2.3DS1302使用方法 7
2.31602字符液晶介绍 9
2.3.11602液晶概述 9
2.3.21602引脚介绍 10
2.3.31602字符液晶使用方法 10
第3章系统硬件设计 13
3.1电路设计框图 13
3.2系统硬件概述 13
第4章系统的软件设计 14
4.1程序概述 14
4.2延时函数 15
4.3对DS1302读写操作函数 15
4.3.1向DS1302写数据 15
4.3.2从DS1302读数据 16
4.4显示函数 17
4.4.1向1602液晶中写一个指令 17
4.4.2向液晶写数据 17
4.4.3初使化1602液晶 17
4.4.4如何在液晶上显示时间、日期及周 18
4.5按键函数 19
4.5.112/24小时显示模式切换键 21
4.5.2功能键函数 23
4.5.3调整键函数 25
4.5.4确定键 31
4.6主函数 32
总结 34
致谢 35
参考文献 36
绪论
概述
时间,对人们来说是非常宝贵的,准确的掌握时间和分配时间对人们来说至关重要。
因此自从时钟发明的那刻起,就成为人类的好朋友。
随着时间的流逝,科学技术的不断发展和提高,人们对时间计量的精度要求越来越高,应用越来越广。
怎样让时钟更好、更方便、更精确的显示时间,这就要求人们不断设计研发出新型的时钟。
高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校。
数字式电子钟用集成电路计时时,译码代替机械式传动,用LCD显示器代替指针进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。
时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。
在单片机的应用系统中,时钟有两个方面的含义:
一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:
一是用软件实现,即用单片机内部的可编程定时器/计数器来实现;二是用专门的时钟芯片实现。
研究目的
通过利用STC89C52单片机和DS1302芯片以及外围的按键和LCD显示器等部件,设计一个基于单片机的电子时钟。
设计的电子时钟通过液晶显示器显示,并能通过按键对时间进行设置。
第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数码管作为显示。
1.2.3时钟芯片的选择方案和论证
方案一:
直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。
采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。
所以不采用此方案。
方案二:
采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA.
1.3电路设计最终方案决定
综上各方案所述,对此次作品的方案选定:
采用STC89C52单片机作为主控制系统;采用DS1302作为时钟芯片;采用1602LCD液晶作为显示器件。
-36-
第2章主要元件介绍
2.1STC89C52介绍
2.1.1STC89C52主要功能及PDIP封装
STC89C52是由深圳宏晶科技公司生产的与工业标准MCS-51指令集和输出管脚相兼容的单片机。
STC89C52主要功能如表2.1所示,其PDIP封装如图2.1所示
主要功能特性
兼容MCS51指令系统
8K可反复擦写FlashROM
32个双向I/O口
256x8bit内部RAM
3个16位可编程定时/计数器中断
时钟频率0-24MHz
2个串行中断
可编程UART串行通道
2个外部中断源
共6个中断源
2个读写中断口线
3级加密位
低功耗空闲和掉电模式
软件设置睡眠和唤醒功能
表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
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
图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,以保证振荡器电路的稳定性及快速性。
③复位电路一般若在引脚RST上保持24个工作主频周期的高电平,单片机就可以完成复位,但为了保证系统可靠地复位,复位电路应使引脚RST保持10ms以上的高电平。
如图复位电路带有上电自动复位功能,当电路上电时,由于C1电容两端电压值不能突变,电源+5V会通过电容向RST提供充电电流,因此在RST引脚上产生一高电平,使单片机进入复位状态。
随着电容C1充电,它两端电压上升使得RST电位下降,最终使单片机退出复位状态。
正常运行时,可按复位按钮对单片机复位
图2.2STC89C52最小系统
2.2DS1302时钟芯片介绍
2.2.1DS1302概述
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用双电源供电(主电源和备用电源),同时提供了对后背电源进行涓细电流充电的能力。
采用三线接口与CPU进行同步通信
图2.3DS1302封装图
2.2.2DS1302引脚介绍
各引脚功能为:
Vcc:
主电源;Vcc2:
备用电源。
当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电;当Vcc2 SCLK: 串行时钟输入端,控制数据的输入与输出 I/O: 三线接口时的双向数据线 CE: 输入信号,在读、写数据期间必须为高 2.2.3DS1302使用方法 (1)时钟芯片DS1302的工作原理: DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置“0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如图5所示。 表2为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。 对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。 位1至位5指操作单元的地址。 位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。 控制字节总是从最低位开始输入/输出的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STC89C52 单片机 电子 时钟 设计 程序
![提示](https://static.bdocx.com/images/bang_tan.gif)