《基于STC89C52的可调电子钟设计.doc》由会员分享,可在线阅读,更多相关《基于STC89C52的可调电子钟设计.doc(31页珍藏版)》请在金锄头文库上搜索。
1、滨江学院毕业论文(设计) 题 目 学生姓名 学 号 院 系 专 业 指导教师 职 称 目 录第一章 概述31.1 背景31.2 研究目的3第二章 设计要求与方案论证42.1 设计要求42.2 系统基本方案选择与论证42.2.1 单片机芯片的选择与论证42.2.2 显示模块选择和论证42.2.3 时钟芯片的选择和论证52.3 电路实际最终方案决定5第三章 主要原件介绍53.1 STC89C52介绍53.1.1 STC89C52主要功能53.1.2 STC89C52引脚介绍53.1.3 STC89C52的PDIP封装图63.2DS1302时钟芯片介绍73.2.1DS1302 简介:73.2.2 D
2、S1302引脚介绍73.2.3 DS1302读写时序说明73.3 MT05643DR数码管介绍83.4 语音芯片介绍8第四章 系统硬件设计94.1 电路设计框架94.2 STC89C52最小系统104.3 按键控制电路104.4 DS1302时钟模块104.5 电路仿真图11第五章 系统的软件设计125.1 系统软件设计流程图125.3 对DS1302读写操作函数135.6 按键函数21设计总结21参考文献21致 谢22Abstract23附录24附录一源程序代码25附录二原件清单31基于STC89C52的可调电子钟设计摘要:随着单片机技术飞速发展,它有力的推动了现代电子产品性能的增加。时间就
3、是金钱,时间就是生命,时间就是胜利,准确掌握时间并且分配时间对人们来说十分重要,时钟是我们生活中必不可少的工具之一。本设计则是利用了STC89C52单片机对 DS1302时钟芯片进行读写操作,并通过时钟数码管来显示时钟信息,这样便构成了一个单片机电子时钟。关键词:单片机,电子时钟,STC89C52第一章 概述1.1 背景近年来伴随着计算机在社会上的应用以及大规模集成电路应用的发展,单片机的应用正不断的深入,由于单片机具有、体积小、功能强、价格便宜、功耗低、使用方便等特点,所以特别适合与控制有关的系统,越来越广泛的自动控制,智能化的仪器,仪表,数据采集,军工产品和家用电气的各个领域。单片机往往是
4、作为一个核心部件来使用的,再根据其具体硬件结构以及针对具体应用对象特点的软件结合,加以完善。时间对于人们来说是非常宝贵的,准备掌握和分配时间对人们来说更是至关重要。随着时代推进和科学技术的不断发展,人们对时间计量的精确度越来越高,时间计量的应用也越来越广泛,这就促使了人们不断的设计和研发出新时钟。时钟电路在计算机系统中起着至关重要的作用,它是保证系统正常工作的基础。在单片机的应用系统中,时钟有两个方面的含义:一是指为保证系统正常工作的基准振荡定时信号,主要是由晶振以及外围电路组成,晶振频率大小决定了单片机系统工作速度的快慢;二是指系统标准定时时钟,即定时时间,它通常具有两种实现方法:一种是利用
5、软件实现,即利用单片机内部可编程定时器或者计数器来实现;另一种是用专门的时钟芯片来实现。1.2 研究目的本设计通过利用STC89C52单片机,DS1302芯片,外围按键和时钟数码管等部件,设计一个基于单片机的可调电子时钟。设计的电子钟通过数码管现实,能通过按键对时间进行设置,并且有报时的功能。第二章 设计要求与方案论证2.1 设计要求具有时、分、秒的显示功能具备时、分、秒的校准功能具有语音报时功能2.2 系统基本方案选择与论证2.2.1 单片机芯片的选择与论证方案一 :采用STC89C52芯片作为硬件核心。STC89C52的内部具有8KB ROM存储空间,512字节数据存储空间,带有2K字节E
6、EPROM存储空间,可与MCS-51系列的单片机完全兼容,并且它可以通过串口下载。方案二:采用AT89S52芯片。AT89S52的内部具有8K字节程序存储空间,256字节的数据存储空间,其没有EEPROM存储空间,也可与MCS-51系列单片机完全兼容,具有在线编程可擦除技术。两种单片机都能够完全满足设计的需要,但是STC89C52抗干扰能力强,并且价格相对比较便宜。因此选择STC89C52芯片。2.2.2 显示模块选择和论证方案一 :采用点阵式数码管来现实。点阵式数码管是由八行八列的发光二极管组成,可用来显示数据。方案二:采用MT05643DR 四位数码管显示。 两种显示模块都能满足设计需要,
7、但是点阵式数码管体积比较大,并且价格也相对较高,从便携实用以及成本因素考虑,采用MT05643D数码管显示。2.2.3 时钟芯片的选择和论证方案一:采用单片机定时计数器提供秒信号,试用程序实现时、分、秒的计数。采用这种方案虽然能减少芯片的使用,能够节约成本,但是实现的时间误差会较大。方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能时钟芯片,可自动对时分秒来进行计算,并且其精确度高。因此选择DS1302时钟芯片实现时钟。2.3 电路实际最终方案决定 采用STC89C52单片机作为主控制系统,采用DS1302作为时钟芯片;采用MT05643DR数码管作为显示器件。第三章 主要
8、原件介绍3.1 STC89C52介绍3.1.1 STC89C52主要功能STC89C52是一种带8K字节 闪烁可编程 可檫除 只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件是采用ATMEL高密度非易失存储器的制造技术制造,其与工业标准的MCS-51指令集和输出管脚相兼容。STC89C5的内部具有一个用来构成振荡器的高增益反相放大器,其引脚RXD和TXD分别是该放大器输入端以及输出端。时钟可以通过内部方式或者外部方式产生。内部方式产生的时钟电路在RXD和TXD引
9、脚外接定时元件时,内部振荡器就会产生自激振荡。定时元件常采用石英晶体及由电容组成的并联谐振回路。晶体振荡的频率可在1.212MHz之间选择,电容值可以在530pF间选择,电容值大小可以对频率起微调作用。外部方式产生的时钟电路RXD接地,而TXD则接外部振荡器。对 外部振荡信号没有特殊要求,仅仅要求保证脉冲的宽度,通常采用其频率低于12MHz的方波信号。片内时钟发生器可把振荡频率两分频,产生一个两相时钟P1和P2,供给单片机使用。STC89C52主要功能如表3.1所示表3.1 STC89C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8b
10、it内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能3.1.2 STC89C52的引脚介绍(1) 主电源引脚(2根)VCC (Pin40):电源的输入,接5V电源;GND (Pin20):接地线;(2)外接晶振引脚(2根)XTAL1 (Pin19):片内振荡电路输入端;XTAL2 (Pin20):片内振荡电路输出端;(3)控制引脚(4根)RST/VPP (Pin9):复位引脚。引脚上,出现2个机器周期高电平将使单片机复位;ALE/PROG (Pin30
11、):地址锁存允许信号;PSEN (Pin29):外部存储器读选通信号;EA/VPP (Pin31):程序存储器的内外部选通,接低电平从外部程序的存储器读指令,如果接高电平则是从内部程序的存储器读指令。(4)可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,其分别位P0、P1、P2、P3口,每个口有8位(8根引脚),一共32根。PO口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7;P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7 ;P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7 ;P3口(P
12、in10Pin17):8位准双向I/O口线,名称为P3.0P3.7;3.1.3 STC89C52的PDIP封装图STC89C52的PDIP封装图如图3.1:图3.1 STC89C52的PDIP封装图3.2 DS1302时钟芯片介绍3.2.1 DS1302 简介: DS1302是由美国的DALLAS公司推出的一种高性能低功耗的实时时钟芯片,附加31字节静态RAM,采用了SPI三线接口和CPU进行同步通信,并且可采用突发方式 一次传送多个字节时钟信号以及RAM数据。实时时钟可以提供时分秒年月日以及星期,一个月小于31天可以自动进行调整,并且具有闰年的补偿功能。工作电压则宽达2.55.5V。其采用双
13、电源的供电(主电源和备用电源),可以设置备用电源的充电方式,提供对后背电源进行涓细电流充电的能力。 DS1302用于数据的记录,尤其是对某些具有特殊意义的数据点的记录,能实现数据与出现此数据的时间同时记录,因此广泛的应用于测量系统中。DS1302 时钟芯片存在时钟精度不高,易受环境影响,出现时钟混乱等一些缺点。DS1302可以用于数据的记录,特别是对具有特殊意义数据点的记录,能够实现数据和出现此数据时间同时的记录。这种记录对长时间连续测控系统结果的分析和对异常数据出现原因的查找具有重要的意义。传统数据记录方式分别是隔时采样或是定时采样,没有具体的时间记录,因此,只能记录数据却不能准确的记录出现
14、的时间。如果采用单片机计时,一方面需要采用计数器,占用了硬件资源,而另一方面则需要设置中断、查询等,同样耗费了单片机资源。并且某些测控系统会不允许。但如果在系统中采用时钟芯片DS1302,则可以很好地解决这个问题。 DS1302的工作原理:DS1302工作时为了能对任何数据传送进行初始化,需要将复位脚(RST)置为高电平并且将8位地址以及命令信息装入移位的寄存器。数据在时钟(SCLK)上升沿串行输入,前8位指定访问地址,命令字装入移位的寄存器后,在之后的时钟周期中,读写操作时分别输入数据和输出数据。时钟脉冲的个数在单字节的方式下是8+8(8位地址+8位数据),在多字节的方式下是8加最多可达248的数据。DS1302寄存器以及控制命令:对 DS1302的操作就是对它内部寄存器的操作,DS1302内部一共具有12个寄存器,其中有七个寄存器与日历和时钟相关,存放的数据位是BCD码形式。另外,DS1302还有年份寄存器、充电寄存器、控制寄存器、时钟突发寄存器以及与 RAM 相关的寄存器等。时钟突发寄存器可以一次性顺序读写除充电寄存器以外的寄存器。3.2.2 DS1302引脚介绍DS1302外部引脚分配如图3.3图3.3 DSI302外部引脚分配各个引脚的功能为: Vcc1:是备用电源;Vcc2是主电源。当Vcc2Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2 V