基于51系列单片机及DS1302时钟芯片的电子时钟Proteus仿真_报告

合集下载

基于51单片机的电子时钟设计

基于51单片机的电子时钟设计

基于51单片机的电子时钟设计
摘要:本文论述了基于51单片机的电子时钟设计,包括硬件设计与软件编程。

其中,硬件设计包括基本指示灯、DS1302时钟芯片等的选择与连接,时钟电路、晶振电路的设计等。

软件编程包括时钟显示的实现,时钟校准、闹钟等功能的实现等。

本设计具有精度高、操作简便、易于实现等特点,可广泛应用于各种场合。

关键词:51单片机;电子时钟;硬件设计;软件编程
前言
随着人们生活水平的提高,电子时钟已经成为人们生活中必不可少的物品,目前市场上各种类型的电子时钟层出不穷。

本文以51单片机为基础,设计了一款高精度、易于操作的电子时钟,采用DS1302时钟芯片作为时钟驱动芯片,实现了时钟的准确显示、校准、闹钟等功能。

硬件设计
硬件设计主要包括控制器、时钟驱动、显示装置以及电源。

本设计采用了AT89C51单片机作为控制器,一块DS1302时钟芯片作为时钟驱动,LED数字管作为显示装置。

同时,本设计采用了USB供电方式,其电源电压为5V。

软件编程
软件编程主要包括时钟显示、时钟校准、闹钟功能的实现等。

时钟显示采用了动态显示方式,实现了时间的精确定位。

同时,本设计还具有时钟校准功能,在程序接通时,可自动对时钟进行校准,保证时钟的精确度。

此外,本设计还具有设置闹钟的功能,用户可在指定时间响起闹钟。

结论本文以51单片机为基础,设计了一款高精度、易于操作的电子时钟。

通过对硬件设计、软件编程的设计与实现,使得该产品能够准确显示时间,保证了时钟的稳定性,满足了时间的要求,目前已
得到广泛应用。

作息时间控制器(基于51单片机和DS1302的时钟).

作息时间控制器(基于51单片机和DS1302的时钟).

课程设计(论文)题目:作息时间控制器院(系):电子工程与自动化学院专业:测控技术与仪器学生姓名:吉哲学号: 0900820413指导教师:徐翠锋职称:讲师2012年12月27日摘要本次作息时间控制器设计是采用AT89S52单片机作为系统的核心元件,在其最小系统基础上与DS1302时钟芯片配合,四个独立按键控制,六位七段数码管显示,无源蜂鸣器发声。

单片机最小系统作为核心处理和控制单元;时钟芯片用来实现实时时间的精准输出和闹钟信息的存储,并可用纽扣电池供电以保持时间的连续运行;独立按键用于进行时间及闹钟的设定;数码管用于显示时间及闹钟信息;蜂鸣器用于在达到设定的时间后进行及时提醒。

关键词:时间控制;AT89S52;单片机;DS1302;时钟芯片;闹铃;定时报警AbstractThis work and rest time controller design is to use AT89S52 SCM as the core of the system components, in its minimum system with DS1302 clock chip based on coordination, four independent key control, six seven period of digital tube display, passive buzzer sound. Single chip microcomputer minimum system as the core processing and control unit; Clock chip to realize real-time time accurate output and alarm information storage, and use button batteries to keep continuous operation time, Independent key for time and alarm clock Settings; Digital tube is used to display the time and alarm information; Buzzer to reach a set time for timely remind.Key words:Time control; AT89S52 devices; SCM; DS1302; Clock chip; Alarm; Timing alarm目录引言 (1)1 课程设计任务及要求 (1)2 硬件设计 (1)2.1 总体设计思路及系统框图 (1)2.2 中央处理控制器 (2)2.3 晶振电路 (3)2.4 时钟信号产生电路 (3)2.5 显示电路 (4)2.6 控制电路 (6)2.7 闹铃电路 (8)2.8 电源及下载电路 (8)3 程序设计 (9)3.1 主程序流程图 (9)3.2 按键扫描程序流程图 (9)3.3 响铃扫描程序 (10)4 制板、组装与调试 (11)4.1 PCB制作 (11)4.2 制作PCB板流程 (11)4.3 调试 (11)5 方案总结 (11)心得体会 (12)谢辞 (13)参考文献 (14)附录 (15)引言时间是人类生活必不可少的重要元素,从古至今它都扮演着一个非常重要的角色。

基于单片机及时钟芯片DS1302的电子时钟设计

基于单片机及时钟芯片DS1302的电子时钟设计

基于单片机及时钟芯片DS1302的电子时钟设计一、概述二、电子时钟的基本原理电子时钟是一种以单片机为核心的智能电子产品,采用数字电路来显示时间。

电子时钟的核心部件是一个定时器,通过周期性的计数来确定时间,然后再将计数器的结果通过数码管等显示装置进行显示。

除此之外,电子时钟还需要一个能够准确计时的时钟芯片,如本文所使用的时钟芯片DS1302。

三、电子时钟的设计方法本文设计的电子时钟采用AT89C52单片机和时钟芯片DS1302,并通过外围的驱动电路和数码管来实现时间的显示。

该电子时钟具有以下特点:1.可进行24小时制和12小时制的切换:电子时钟可以通过按键实现24小时制和12小时制的切换,可按需选择。

2.自动夏令时判断:电子时钟可自动识别夏令时,并根据设定值进行切换,方便易用。

3.温度显示:电子时钟的DS1302时钟芯片自带温度探测器,可实现温度的实时显示。

本文所设计的电子时钟的硬件设计方案如下:1.主控芯片:采用AT89C52单片机2.显示装置:采用数码管进行时分秒的显示,共4位数码管。

3.时钟芯片:采用DS1302时钟芯片,保证时间的准确性。

5.电源:采用开关电源或锂电池供电。

锂电池供电时,电子时钟可实现断电后不重置的功能。

1.初始化:在电子时钟启动时,需要对各个模块进行初始化,如DS1302时钟芯片的读写口、数码管和按键都需要进行初始化。

2.频率切换:按下切换按键后,电子时钟的频率从24小时制切换到12小时制。

3.设定夏令时:按下设定按键后,可以进行夏令时设定。

设定值以秒为单位存储,在夏季过渡期改变时,只需修改设定值即可。

5.时间的显示:通过程序将DS1302时钟芯片中的时间读出并在数码管上显示,实现实时显示的功能。

五、总结本文设计的基于单片机及时钟芯片DS1302的电子时钟,可通过按键实现24小时制和12小时制的切换、自动夏令时判断、温度显示等多种功能,实现了电子时钟的多种要求和需求。

该设计方案具有简单实用、成本低廉、易于维护等优点,可广泛应用于各个领域。

单片机DS1302时钟的Protues仿真

单片机DS1302时钟的Protues仿真

单片机DS1302时钟的Protues仿真作者:缐磊王毓谦来源:《卷宗》2019年第18期摘要:本文利用单片机和DS1302时钟芯片设计一个简易的时钟装置,阐述了该装置的硬件组成、软件实现、程序流程图及程序说明,并在在Protues仿真软件中进行仿真。

仿真结果表明该电子钟具有工作可靠、结构简单的特点,有很大的扩展空间。

關键词:DS1302;Protues;单片机;时钟一般情况下,可通过单片机的定时器功能模拟一个简单的电子时钟,但是此种方法不仅时间误差大,耗费单片机的内部资源,而且不可保存时间,一旦系统断电,时钟及恢复到复位值。

本文选用专门的时钟芯片DS1302,仿真设计结构简单,调试方便,成本低,设计开发周期短,有很大的扩展空间。

1 时钟芯片DS1304简介DS1302是美国 DALLAS公司推出的一种高性能、低功耗、带RAM的低功耗实时时钟芯片,它可以对年、月、日、周、日、时、分、秒进行计时,并能够对每月的天数和闰年的天数进行自动调整,时钟可以采用24小时制,也可以采用12小时制。

DS1302功耗很低,保持数据和时钟信息时功率小于1uW,在没有电源供电的情况下,可以工作长达10年的时间。

具体各管脚功能如下:X1和X2为晶振接入引脚,接入的晶振为32.768kHz;SCLK为串行时钟引脚;I/O为数据输入与输出引脚;CE为复位引脚;VCC1和VCC2为点源供电引脚,且VCC1为主电源,VCC2为备份点源,当VCC2>VCC1+0.2V时,由VCC2向DS1302供电,否则由VCC1供电。

DS1302与单片机等微处理器接口时,可以采用简单的同步串行工作方式,仅需要三个口线与单片机相连:1)CE管脚、2)I/O管脚、3)串行时钟SCLK管脚。

DS1302内部有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码,其日历、时间寄存器及其控制字如表1所示。

此外DS1302内部还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。

基于51单片机和时钟芯片DS1302的数字时钟设计2

基于51单片机和时钟芯片DS1302的数字时钟设计2

基于51单片机和DS1302数字时钟硬件总体设计说明书编制单位:*****作者:*****版本:V1.0发布日期:2011-2-12目录一、引言-----------------------------------------------11.1编写目的-----------------------------------------11.2背景---------------------------------------------11.3参考资料-----------------------------------------1二、总体设计--------------------------------------------32.1设计与运行环境------------------------------------32.2硬件功能描述--------------------------------------3三、数字钟软件和硬件设计-------------------------------33.1 硬件电路设计-------------------------------------33.1.1电源---------------------------------------33.1.2独立按键模块-------------------------------33.1.3显示模块------------------------------------43.1.4复位电路模块--------------------------------43.1.5时钟芯片模块--------------------------------53.1.6主控模块------------------------------------53.1.7闹铃模块------------------------------------6 3.2软件设计--------------------------------------------63.2.1程序设计流程图-------------------------------63.2.2 源程序--------------------------------------8四、数字钟制作过程中遇到的问题-------------------------19五、总结-----------------------------------------------20附录Ⅰ:DS1302时钟芯片的工作原理和使用方法-----------22 附录Ⅱ:如何利用软件减小的计时误差--------------------25一、引言1.1编写目的为了进一步熟悉51单片机的编程以及学习数字钟的相关设计方法,在老师的指导下我们进行了本次数字钟的设计。

51单片机_DS1302时钟芯片_共阴数码管_时钟实例【中为电子科技工作室.】

51单片机_DS1302时钟芯片_共阴数码管_时钟实例【中为电子科技工作室.】
read_dat |= 0x80; rtcCK = 1; _nop_(); rtcCK = 0; _nop_(); } return read_dat; }
Page: 3
E:\Demo\Keil3\IS_EB51M_V100_DEMO\12时钟\ds1302.c
//================DS1302读数据函数================// uchar Ds1302Read(uchar read_addr) {
void Ds1302Write(uchar write_addr, uchar write_dat)
{
rtcCE = 0;
rtcCK = 0;
Ds1302WriteByte(write_addr);
//先写地址
Ds1302WriteByte(write_dat);
//再写数据
rtcCK = 0;
rtcCE = 0;
CkntDisplay(ckntSeg[hourL],ckntDig[2]); CkntDisplay(ckntSeg[hourH],ckntDig[3]); }
if(isSetHour == 1) {
blinkHour++; if(blinkHour < 250) {
CkntDisplay(ckntSeg[hourL],ckntDig[2]); CkntDisplay(ckntSeg[hourH],ckntDig[3]); } else if((blinkHour >= 250) && (blinkHour < 500)) { CkntDisplay(ckntSeg[hourL],ckntDig[4]); CkntDisplay(ckntSeg[hourH],ckntDig[4]); } else

基于51单片机的实时时钟芯片DS1302

基于51单片机的实时时钟芯片DS1302

K_on LED1 LED2 LED3CLK LED4IO RST
BIT P3.0 BIT P3.3 BIT P3.4 BIT P3.5 BIT P3.7 BIT P3.1
;闹铃输出 ;DS1302
SECOND EQU 60H
;60H 秒
;61h 分
;62h 时
;63h 日
;64h 月
;65h DAY
;200Us ; ;display LED
MOV R2,#00H
;
MOV R3,#00H
;
MOV TMOD,#12H MOV TL1,#0e5H MOV TH1,#0BeH MOV TH0,#3FH MOV TL0,#3FH SETB ET0 SETB ET1 setb pt0 SETB TR0 SETB TR1 SETB IT0 SETB EX0 CLR PX0 ;LCALL SET1302 MOV R1,#0C1H acall T_6061 MOV 6AH,A MOV R1,#0C3H ACALL T_6061
;定时到时,显示闪
MOV C,07H MOV acc.7,C ;秒灯闪
段表
mov dptr,#tab2
MOV ANL MOV MOV SWAP ANL
A,61H A,#0FH B,A A,61H A A,#0FH
MOVC A,@A+DPTR
烁 MOV P1,A CLR LED3CLK LCALL DL2M SETB LED3CLK
MOV A,62H ANL A,#0FH MOV B,A MOV A,62H SWAP A ANL A,#07H MOVC A,@A+DPTR MOV P1,A CLR LED1 LCALL DL2M SETB LED1 MOV A,B MOVC A,@A+DPTR

基于proteus的51单片机仿真实例八十一、实时时钟芯片DS1302应用

基于proteus的51单片机仿真实例八十一、实时时钟芯片DS1302应用

基于proteus的51单片机仿真实例八十一、实时时钟芯片DS1302应用实例标签: proteus单片机芯片时钟实例2010-02-25 16:561、DS1302引脚排列:如下图引脚说明:1)Vcc1:后备电源,VCC2:主电源。

在主电源关闭的情况下,也能保持时钟的连续运行。

DS1302由Vcc1或Vcc2两者中的较大者供电。

当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。

当Vcc2小于Vcc1时,DS1302由Vcc1供电。

2)X1、X2:振荡源,外接32.768kHz 晶振。

3)RST:复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。

RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。

当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。

如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。

上电运行时,在Vcc>2.0V之前,RST必须保持低电平。

只有在SCLK为低电平时,才能将RST置为高电平。

4)I/O为串行数据输入输出端(双向)。

5)SCLK为时钟输入端。

2、 DS1302的控制字节DS1302 的控制字如下图所示。

控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。

3、数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。

同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。

DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见数据手册。

基于MCS-51和DS1302时钟电路设计

基于MCS-51和DS1302时钟电路设计

基于MCS-51和DS1302时钟电路设计摘要随着现代科技的快速发展,时间的不断流逝,从观太阳、摆钟到现在的电子时钟,人类凭借非凡的智慧不断研究又创造出新的纪录。

美国Dallas公司推出了一种具有涓细电流充电能能力的低功耗实时时钟芯片DS1302,可以对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。

本设计采用AT89C51单片机作为控制器,功耗小,电压可选用4.5-5.5V供电。

用8位数码管显示年月日也比较直观。

再运用Proteus仿真平台将硬件电路和软件程序结合起来测试验证,最终完成时钟电路设计。

综上所述本文对时钟电路设计的研究具有读取方便、显示直观、功能多样、电路简单、成本低廉优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。

关键字:时钟,单片机,DS1302,Proteus目录摘要 (I)目录 (II)1 绪论 (1)1.1课题研究背景 (1)1.2 课题研究的目的与意义 (1)1.3 课题主要研究内容 (1)2 系统设计方案 (2)2.1 单片机芯片选择 (2)2.2 显示模块的选择 (3)2.3 时钟模块的选择 (3)3 硬件电路设计 (3)3.1 电路结构框图 (3)3.2 单片机最小系统设计 (4)3.3 时钟模块电路设计 (5)3.4 显示模块电路设计 (8)4 软件程序设计 (9)5 仿真系统设计 (10)结论 (12)致谢 (13)参考文献 (14)1 绪论1.1课题研究背景万年历在我国已有一千多年的历史,相传为商朝的万年所创,为纪念他的功绩而将该历法命名为“万年历”。

万年历古时通称时宪书或通书,是按照某一特定历法的推算法则编排年、月、日、节气等以供查考的工具书,是人类创造的文化成果之一。

据文学记载,历书大约在距今1100多年前,就已经在中国出现了。

帝制年代,它是皇帝的“垄断品”,所以历书又叫“皇历”。

但真正古老的历书产生于唐顺宗永贞元年(公元805年),之后又包含干支、月令、节气以及各种忌日、星相吉凶、符咒、卜卦等内容。

利用单片机及DS1302制作电子时钟

利用单片机及DS1302制作电子时钟

单片机原理及应用——基于Proteus仿真设计报告课程名:利用单片机及DS1302制作电子时钟专业:班级:学号:姓名:设计时间:一、简介这是一种“基于单片机和DS1302的电子时钟”(简称“电子时钟”)。

单片机为控制核心,DS1302为应用广泛且走时准确的时钟芯片。

二、功能与操作1.功能(1)时钟功能:动态显示时、分、秒。

(2)调时功能:可依据标准时钟调校时间。

(3)因DS1302接有辅助纽扣电池,即使电源断电也能准确计时数年。

2.操作(1)上电后时钟开始计时并显示。

(2)调时。

按下“调时”按键,则进入调校时间状态,可依次调校时、分、秒。

三、技术要点1.时钟芯片DS1302的应用(1)DS1302的简介DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM 的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。

DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。

(2)DS1302的电路图2.应用中的几个小问题(1)子程序必须满足三线通信的时序要求。

单片机晶振频率不同,相应的子程序中的延时也要调整。

否则,运行结果可能出现错误。

(2)注意LED数码管动态扫描显示程序的设计及单片机晶振频率的选择。

否则,会因LED数码管数量多而导致显示闪烁或不正确。

所以在程序设计中,应使动态扫描频率大于视觉暂留频率,要考虑避免出现串显现象。

四、元件清单五、原理图六、程序SCLK EQU P3.2IO EQU P3.3RST EQU P3.4JIA1 EQU P3.6 ;"加一"口TSH EQU P3.7 ;"调时间"口HOUR DATA 62HMINTUE DATA 61HSECOND DATA 60HDS1302_ADDR DATA 32HDS1302_DATA DATA 31HORG 0HMOV SP,#70HLCALL DELY1MOV DS1302_ADDR,#8EH ;允许写1302MOV DS1302_DATA,#00HLCALL WRITEMOV DS1302_ADDR,#81H ;从1302读秒LCALL READANL A,#7FH ;启动1302振荡器MOV DS1302_ADDR,#80HMOV DS1302_DATA,ALCALL WRITEMOV 20H,#0 ;调整时标识单元MOV 21H,#0FH ;调整时工作单元MAIN1: JB TSH,MAIN2F ;按调时键往下执行MOV DS1302_ADDR,#81H ;从1302读秒LCALL READORL A,#80H ;停1302振荡器MOV DS1302_ADDR,#81HMOV DS1302_DATA,ALCALL WRITESSS: LCALL DISP ;显示JNB TSH,SSS ;等待调键盘弹起MOV 20H,#8 ;设置调"时"标志SSS3: JNB TSH,FFF ;按调时键转调"分"LCALL DISP ;显示JB JIA1,SSS3 ;按"加一"键往下执行SSS2: LCALL DISP ;显示JNB JIA1,SSS2 ;等待"加一"键弹起MOV R7,HOURMOV HOUR,ACJNE A,#24H,SSS1 ;不等于24时转MOV HOUR,#0 ;等于24时归零SSS1: MOV DS1302_ADDR,#84H ;将"时"写入1302 MOV DS1302_DATA,HOURLCALL WRITEMOV R0,HOUR ;"时"分离LCALL DIVIDEMOV 44H,R1MOV 45H,R2SJMP SSSMAIN2F: LJMP MAIN2FFF: NOP ;调"分"LCALL DISP ;显示JNB TSH,FFF ;等待调时键弹起MOV 20H,#4 ;置调"分"标志FFF3: JNB TSH,MMM ;安调时键转调"秒"LCALL DISP ;显示JB JIA1,FFF3 ;若按"加一"键往下执行FFF2: LCALL DISP ;显示JNB JIA1,FFF2 ;等待"加一"键弹起MOV R7,MINTUELCALL JIAYI ;"分"加一MOV MINTUE,ACJNE A,#60H,FFF1 ;不等于60转MOV MINTUE,#0 ;等于60则归零FFF1: MOV DS1302_ADDR,#82H ;将"分"写入1302 MOV DS1302_DATA,MINTUELCALL WRITEMOV R0,MINTUELCALL DIVIDE ;"分"分离MOV 42H,R1MOV 43H,R2SJMP FFF3MMM: LCALL DISP ;显示JNB TSH,MMM ;若按调时键则转调"秒"MOV 20H,#2 ;置调"秒"标志MMM3: JNB TSH,MAIN3 ;按调时键退出调时LCALL DISP ;显示JB JIA1,MMM3 ;按"加一"键往下执行MMM2: LCALL DISP ;显示JNB JIA1,MMM2 ;等待"加一"键弹起MOV R7,SECONDMOV SECOND,ACJNE A,#60H,MMM1 ;不等于60转MOV SECOND,#0MMM1: ORL SECOND,#80HMOV DS1302_ADDR,#80H ;写"秒"MOV DS1302_DATA,SECONDLCALL WRITEANL SECOND,#7FHMOV R0,SECONDLCALL DIVIDE ;"秒"分离MOV 40H,R1MOV 41H,R2SJMP MMM3MAIN3: LCALL DISP ;显示JNB TSH,MAIN3 ;等待调时键弹起MOV 20H,#0MOV 21H,#0FHMOV DS1302_ADDR,#81H ;读"秒"LCALL READANL A,#7FH ;启动1302振荡器MOV DS1302_ADDR,#80HMOV DS1302_DATA,ALCALL WRITELJMP MAIN1MAIN2: MOV P1,#0 ;读时分秒并显示MOV DS1302_ADDR,#85H ;读"时"LCALL READMOV HOUR,DS1302_DATAMOV DS1302_ADDR,#83H ;读"分"LCALL READMOV MINTUE,DS1302_DATAMOV DS1302_ADDR,#81H ;读"秒"LCALL READMOV SECOND,DS1302_DATAMOV R0,HOUR ;"时"分离LCALL DIVIDEMOV 44H,R1MOV 45H,R2MOV R0,MINTUE ;"分"分离LCALL DIVIDEMOV 42H,R1MOV 43H,R2MOV R0,SECOND ;"秒"分离LCALL DIVIDEMOV 40H,R1MOV 41H,R2LCALL DISPLJMP MAIN1DISP: NOPMOV P1,40H ;显示"秒"低位JNB 01H,MIAOLMOV A,21HRL AMOV 21H,ACJNE A,#78H,MIAO1MIAO1: JC MIAOLCLR P2.4CLR P2.5SJMP FENMIAOL: SETB P2.5LCALL DELY1CLR P2.5LCALL DELY2MOV P1,41H ;显示"秒"高位SETB P2.4LCALL DELY1CLR P2.4LCALL DELY2FEN: MOV P1,42H ;显示"分"低位JNB 02H,FENLMOV A,21HRL AMOV 21H,ACJNE A,#78H,FEN1FEN1: JC FENLCLR P2.2CLR P2.3SJMP SHIFENL: SETB P2.3LCALL DELY1CLR P2.3LCALL DELY2MOV P1,43H ;显示"分"高位SETB P2.2LCALL DELY1CLR P2.2LCALL DELY2SHI: MOV P1,44H ;显示"时"地位JNB 03H,SHILMOV A,21HRL AMOV 21H,ACJNE A,#78H,SHI1SHI1: JC SHILSJMP SHI2SHIL: SETB P2.1LCALL DELY1CLR P2.1LCALL DELY2MOV P1,45H ;显示"时"高位SETB P2.0LCALL DELY1CLR P2.0LCALL DELY2SJMP SFMSHI2: CLR P2.0CLR P2.1SFM: RETDELY1: MOV R7,#5 ;晶振12MHz,延时2.58ms DELY11: MOV R6,#0DJNZ R6,$DJNZ R7,DELY11RETDELY2: MOV R7,#1 ;晶振12MHz,延时0.52ms DELY21: MOV R6,#0DJNZ R6,$DJNZ R7,DELY21RETDELY3: MOV R7,#40 ;晶振12MHz,延时8x2.58ms DELY31: MOV R6,#0DJNZ R6,$DJNZ R7,DELY31RETJIAYI: MOV A,R7ADD A,#1DA ARETDIVIDE: MOV A,R0 ;分离子程序ANL A,#0FHMOV R1,AMOV A,R0SWAP AANL A,#0FHMOV R2,ARET;以下为DS1302在单片机晶振频率为4MHz时的串行通信子程序WRITE: CLR SCLK ;1302写子程序SETB RSTMOV A,DS1302_ADDRMOV R4,#8WRITE1: RRC ACLR SCLKMOV IO,CSETB SCLKDJNZ R4,WRITE1CLR SCLKMOV A,DS1302_DATAMOV R4,#8WRITE2: RRC ACLR SCLKMOV IO,CSETB SCLKDJNZ R4,WRITE2CLR RSTRETREAD: CLR SCLK ;1302读子程序SETB RSTMOV A,DS1302_ADDRMOV R4,#8READ1: RRC ANOPMOV IO,CSETB SCLKCLR SCLKDJNZ R4,READ1MOV R4,#8READ2: CLR SCLKMOV C,IORRC ASETB SCLKDJNZ R4,READ2MOV DS1302_DATA,ACLR RSTRETEND七、总结通过这次设计与仿真,让我对PROTEUS仿真有了一定的了解,其中也碰见了许多不会用的,后来经过网上查阅懂得了怎么使用,如,画总线工具在什么地方,怎么使用这个东西来画总线,怎么画网络标号。

电子时钟设计(DS1302)简述基于51单片机

电子时钟设计(DS1302)简述基于51单片机

安康学院单片机课程设计报告书课题名称:电子时钟的设计(DS1302)姓名:学号:院系:电子与信息工程系专业:电子信息工程指导教师:时间:2012年6月设计项目成绩评定表设计报告书目录一、设计目的 (1)二、设计思路 (1)三、设计过程 (1)3.1系统设计结构图 (1)3.2 MCU微控制器电路 (2)3.3 LCD液晶显示电路 (4)3.4 实时时钟电路 (5)3.5 复位电路 (5)3.6 晶振电路 (6)四、系统调试与结果 (6)五、主要元器件与设备 (6)六、课程设计体会 (7)七、参考文献 (7)一、设计目的1、掌握电子时钟的基本工作方式。

2、进一步熟悉DS1302芯片的特性。

3、通过使用各基本指令,进一步熟练掌握单片机的编程和程序调试。

二、设计思路利用AT89C52的特点及DS1302的特点,设计一种基于DS1302单片机控制,再利用数码管显示的数字钟。

本系统硬件利用AT89S52作为CPU进行总体控制,通过DS1302时钟芯片获取准确详细的时间(年、月、日、周、日、时、分、秒准确时间),对时钟信号进行控制,同时利用液晶显示芯片LCD1602对时间进行准确显示年、月、日、周、日、时、分、秒。

三、设计过程3.1系统设计结构图图1系统设计结构图图2 系统软件流程图根据系统设计的要求和设计思路,确定该系统的系统设计结构图。

如图1所示。

硬件电路主要由MCU微处理控制器单元、DS1302时钟电路、储存器、复位电路、晶振电路、数码管显示模块构成。

3.2MCU微控制器电路AT89S52作为系统的核心控制元件,只有它能正常工作后才能使其它的元件进入正常工作状态。

因此,下面对AT89S52进行必要的说明,AT89S52的管脚如图3所示。

图3 AT89S52的管脚1)VCC:40脚,供电电压,一般接+5V电压。

2)GND:20脚,接工作地。

3)P0口:1~8脚,P0口是一个8位漏极开路的双向I/O口。

作为输出口,每位能驱动8个TTL逻辑电平。

51单片机制作的电子时钟的proteus仿真

51单片机制作的电子时钟的proteus仿真

通过proteus仿真51单片机制作的电子钟----------by lyz这是一个利用proteus仿真简易电子钟的例子,通过c51单片机和一块1602液晶显示屏来工作,十分简单,这样的实践是初学者不错的练习。

第一步:首先,点开isis.exe(切记不是ARES.EXE),如图1通过proteus把原理图布好。

单片机可以选用AT89c51,液晶显示可通过搜索关键字LM016L得到。

由于本电路选用P0口,因此加上了RP1排阻作为上拉电阻。

图1第二步:编写程序如下,时间略有误差(us级),可通过keil中的debug调试地更为精确:#include<reg52.h>typedef unsigned char uchar;typedef unsigned int uint;sbit rs=P3^2;sbit wr=P3^3;sbit lcden=P3^4;uchar timecount=0;void delay(uint i){uint a,b;for(a=i;a>0;a--)for(b=10;b>0;b--);}/********************1602*****************/ void write_com(uchar com){P0=com;rs=0;lcden=0;delay(10);lcden=1;delay(10);lcden=0;}void write_date(uchar date){P0=date;rs=1;lcden=0;delay(10);lcden=1;delay(10);lcden=0;}void init(){wr=0;write_com(0x38);delay(20);write_com(0x0f);delay(20);write_com(0x06);delay(20);write_com(0x01);delay(20);}/*********************************************************主函数**********************************************************/void main(){uchar a,second=0,minute=0,hour=0;uchar table[8];TMOD|=0x01; //定时/计数器0工作于定时器模式,方式1TH0=(65536-5000)/256;TL0=(65536-5000)%256; //50ms定时常数EA=1; //开总中断ET0=1; //允许定时/计数器0 中断TR0=1; //启动定时/计数器0 中断P0=0;P2&=0x1F;init();while(1){if(timecount>19) //*****20乘50为1000ms {timecount=0;second++;}if(second==60){second=0;minute++;}if(minute==60){minute=0;hour++;}if(hour==24){hour=0;}table[0]=hour/10+48; //***数字加上48对应的它的ascll码,用来显示在液晶上table[1]=hour%10+48;table[2]=58; //***58对应冒号table[3]=minute/10+48;table[4]=minute%10+48;table[5]=0;table[6]=second/10+48;table[7]=second%10+48;write_com(0x80);delay(20);for(a=0;a<8;a++){write_date(table[a]);delay(20);}}}/*********************************************************中断服务函数**********************************************************/void Time0(void) interrupt 1 // using 0{TH0=(65536-5000)/256;TL0=(65536-5000)%256; //50ms定时常数timecount++;}/*********************************************************/第三步:双击电路图中的单片机,如下添加hex文件。

基于51单片机的实时时钟DS1302

基于51单片机的实时时钟DS1302

基于51单片机的DS1302实时时钟本讲内容:介绍DS1302实时时钟芯片基本知识,演示DS1302例程。

DS1302实时时钟:DS1302能提供包括秒、分、时、日期、月份和年份信息。

闰年可自行调整,可选择12小时制和24小时制,可以设置AM、PM。

只通过三根线进行数据的控制和传递:/RST、I/O、SCLK。

通过备用电源可以让芯片在小于1mw的功率下运作。

DS1302是总线驱动方式,它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。

要想与DS1302通信,首先要先了解DS1302的控制字。

DS1302的控制字如图:位7:必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。

位6:如果为0,则表示存取日历时钟数据,为1表示存取RAM 数据。

位5至位1(A4~A0):指示操作单元的地址。

位0:为1表示进行读操作,为0表示要进行写操作,控制字后SCLK下降沿读数据,SCLK上升沿写数据。

数据是低位在前,高位在后。

读数据:读数据时在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据是从最低位到最高位。

写数据:写数据时在紧跟8位的控制字指令后的下一个SCLK脉冲的上升沿,数据被写入DS1302,数据输入也是从最低位(0位)开始。

DS1302的数据读写是通过I/O串行进行的。

当进行一次读写操作时最少要读写两个字节。

第一个字节是控制字节,就是一个命令,告诉DS1302是读还是写操作,是对RAM还是对CLOCK寄存器操作,以及操作的地址。

第二个字节就是要读或写的数据了。

单字节写:在进行操作之前先将CE(也可说是RST)置高电平,然后单片机将控制字的位0放到I/O上,当I/O的数据稳定后,将SCLK置高电平,DS1302检测到SCLK的上升沿后就将I/O上的数据读取,然后单片机将SCLK置为低电平,再将控制字的位1放到I/O上,如此反复,将一个字节控制字的8个位传给DS1302。

基于51单片机的多功能电子时钟设计报告及其protel仿真电路及效果

基于51单片机的多功能电子时钟设计报告及其protel仿真电路及效果

单片机课程设计报告多功能电子数字钟姓名:学号:班级:指导教师:目录一课程设计题目-------------------------------- 3 二电路设计--------------------------------------- 4 三程序总体设计思路概述------------------- 5 四各模块程序设计及流程图---------------- 6 五课程设计心得及体会---------------------- 12 六程序、仿真电路效果见附录------------ 41一题目及要求本次单片机课程设计在Proteus软件仿真平台下实现,完成电路设计连接,编程、调试,仿真出实验结果。

具体要如下:用8051单片机设计扩展6位数码管的静态或动态显示电路,再连接几个按键和一个蜂鸣器报警电路,设计出一个多功能电子钟,实现以下功能:(1)走时(能实现时分秒,年月日的计时)(2)显示(分屏切换显示时分秒和年月日,修改时能定位闪烁显示)(3)校时(能用按键修改和校准时钟)(4)定时报警(能定点报时)本次课程设计要求每个学生使用Proteus仿真软件独立设计制作出电路图、完成程序设计和系统仿真调试,验收时能操作演示。

最后验收检查结果,评定成绩分为:(1)完成“走时+显示+秒闪”功能----及格(2)完成“校时修改”功能----中等(3)完成“校时修改位闪”----良好(4)完成“定点报警”功能,且使用资源少----优秀二电路设计(电路设计图见附件电路图)(1)采用89C51型号单片机(2)采用8位共阴数码管(3)因为单片机输出高电平时输出的电流不足以驱动数码管,所以在P0口与8位数码管之间加74LS373来驱动数码管(4)P2口与数码管选择位直接加74LS138译码器(5)蜂鸣器接P3.7口。

因为单片机输出高电平时输出的电流不足以驱动蜂鸣器所以蜂鸣器,所以P3.7口与蜂鸣器直接接反相器再接蜂鸣器的一端,蜂鸣器的另一端接5V电源。

利用单片机及DS1302制作电子时钟_实习报告 精品

利用单片机及DS1302制作电子时钟_实习报告 精品

单片机原理及应用——基于Proteus和Keil C实习报告课程名:利用单片机及DS1302制作电子时钟摘要为了进一步熟悉51单片机的编程以及学习电子时钟的相关设计方法,在老师的指导下我们进行了本次电子时钟的设计。

我们在实习期间基于51单片机——AT89C51和时钟芯片DS1302设计并实现了电子时钟显示。

在PCB板制作完成并且调试成功之际,为了进一步提高自己的动手能力和编程能力,对这次电子时钟的设计和制作的过程中遇到的问题及设计思路做一次总结。

本电子时钟是一种利用时钟芯片DS1302及51单片机来显示时、分、秒和年、月的装置。

默认显示为时间,由四个按键分别控制定时设置、时间调整、分钟调整、日期显示;设计电路工作电源为5V;由4位LED数码管显示时间,格式为时时分分,中间点每隔1S亮暗;有备用电池,掉电后再上电能正常显示时间。

电子时钟大体可以分为三大模块,数码管的显示模块、DS1302时钟芯片与单片机的时钟模块和按键与单片机的模块。

单片机在5V电压下,各个模块正常工作。

单片机从DS1302芯片中读出一组时间日期数据,同时单片机通过按键设置当前要求显示的信息给单片机。

单片机接收到各个数据时,把各个数据显示出来。

目录一、总体设计 (4)1.1 设计目的 (4)1.2 硬件功能描述 (4)1.3 设计方案选择 (4)1.4 设计任务及要求 (4)二、电子时钟软件和硬件设计 (5)2.1 硬件电路设计 (5)2.1.1 工作原理 (5)2.1.2 单元模块电路 (5)2.1.3 元器件清单 (6)2.2 软件设计 (7)2.2.1 程序设计流程 (7)三、电路调试 (7)四、心得体会 (8)五、参考文献 (9)附录Ⅰ: (10)附录Ⅱ:程序清单 (11)附录Ⅲ: (19)一、总体设计此电子时钟利用AT89C51单片机和时钟芯片DS1302 设计完成。

1.1 设计目的1、通过对电子时钟的设计,进一步熟练掌握单片机编程方法及思想。

基于DS1302和51单片机的电子时钟设计.

基于DS1302和51单片机的电子时钟设计.

目录第一章系统介绍 (2)1.1电子钟介绍 (2)1.2单片机AT89C51介绍 (2)1.3时钟芯片DS1302简介 (5)1.3.1 主要功能 (5)1.3.2 内部结构及引脚功能 (5)1.3.3 工作原理 (6)1.3.4 控制字节及寄存器 (6)1.3.5 时钟/日历存储区(时分秒) (7)1.3.6 数据的传送 (7)第二章硬件设计 (8)2.1系统结构及总流程图 (8)2.2系统硬件电路设计图 (9)2.2.1整体电路设计 (9)2.2.2 DS1302电路设计 (9)2.2.3 按键电路 (10)2.2.4 显示电路 (10)第三章、程序源代码 (11)3.1程序流程图 (11)3.1源程序 (12)第四章PROTEUS软件仿真 (18)总结 (19)谢辞 (20)参考文献 (21)第一章系统介绍1.1 电子钟介绍电子钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、办公室等场所。

钟表数字化给人们生产生活带来了极大地方便而且大大地扩展了钟表原先的报时功能诸如定时自动报警、按时自动打铃、时间程序自动控制、通断动力设备、甚至各种定时电气的自动启用,因此研究数字钟及扩大其应用有着非常现实的意义。

数字电子钟设计与制作可采用数字电路实现,也可以采用单片机来完成。

若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。

若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低。

截止今日,单片机应用技术飞速发展,纵观现在各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。

单片机即单片微型计算机(Single-Chip Microcomputer ),是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。

基于51系列单片机及DS1302时钟芯片的电子时钟-C语言-Proteus仿真-报告

基于51系列单片机及DS1302时钟芯片的电子时钟-C语言-Proteus仿真-报告

基于单片机的电子时钟姓名:班级:学号:指导教师:完成日期:目录摘要一、引言 (1)二、基于单片机的电子时钟硬件选择分析 (2)2.1主要IC芯片选择 (2)2.1.1微处理器选择 (2)2.1.2 DS1302简介 (4)2.1.3 DS1302引脚说明 (4)2.2电子时钟硬件电路设计 (5)2.2.1时钟电路设计 (6)2.2.2整点报时功能 (7)三、Protel软件画原理图 (8)3.1系统工作流程图 (8)3.2原理图 (9)四、proteus软件仿真及调试 (9)4.1电路板的仿真 (9)4.2软件调试 (9)五、源程序 (10)六、课设心得 (13)七、参考文献 (13)基于单片机电子时钟设计摘要电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时钟精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。

另外,在生活和工农业生产中,也常常需要温度,这就需要电子时钟具有多功能性。

本设计主要为实现一款可正常显示时钟/日历、带有定时闹铃的多功能电子时钟。

本文对当前电子钟开发手段进行了比较和分析,最终确定了采用单片机技术实现多功能电子时钟。

本设计应用AT89C52芯片作为核心,6位LED数码管显示,使用DS1302实时时钟日历芯片完成时钟/日历的基本功能。

这种实现方法的优点是电路简单,性能可靠,实时性好,时间精确,操作简单,编程容易。

该电子时钟可以应用于一般的生活和工作中,也可通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。

关键词:电子时钟;多功能;AT89C52;时钟日历芯片一、引言时间是人类生活必不可少的重要元素,如果没有时间的概念,社会将不会有所发展和进步。

从古代的水漏、十二天干地支,到后来的机械钟表以及当今的石英钟,都充分显现出了时间的重要,同时也代表着科技的进步。

致力于计时器的研究和充分发挥时钟的作用,将有着重要的意义。

1.1 多功能电子时钟研究的背景和意义20世纪末,电子技术获得了飞速的发展。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录摘要一、引言 (1)二、基于单片机的电子时钟硬件选择分析 (2)2.1主要IC芯片选择 (2)2.1.1微处理器选择 (2)2.1.2 DS1302简介 (4)2.1.3 DS1302引脚说明 (4)2.2电子时钟硬件电路设计 (5)2.2.1时钟电路设计 (6)2.2.2整点报时功能 (7)三、Protel软件画原理图 (8)3.1系统工作流程图 (8)3.2原理图 (9)四、proteus软件仿真及调试 (9)4.1电路板的仿真 (9)4.2软件调试 (9)五、源程序 (10)六、课设心得 (13)七、参考文献 (13)基于单片机电子时钟设计摘要电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时钟精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。

另外,在生活和工农业生产中,也常常需要温度,这就需要电子时钟具有多功能性。

本设计主要为实现一款可正常显示时钟/日历、带有定时闹铃的多功能电子时钟。

本文对当前电子钟开发手段进行了比较和分析,最终确定了采用单片机技术实现多功能电子时钟。

本设计应用AT89C52芯片作为核心,6位LED数码管显示,使用DS1302实时时钟日历芯片完成时钟/日历的基本功能。

这种实现方法的优点是电路简单,性能可靠,实时性好,时间精确,操作简单,编程容易。

该电子时钟可以应用于一般的生活和工作中,也可通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。

关键词:电子时钟;多功能;AT89C52;时钟日历芯片一、引言时间是人类生活必不可少的重要元素,如果没有时间的概念,社会将不会有所发展和进步。

从古代的水漏、十二天干地支,到后来的机械钟表以及当今的石英钟,都充分显现出了时间的重要,同时也代表着科技的进步。

致力于计时器的研究和充分发挥时钟的作用,将有着重要的意义。

1.1 多功能电子时钟研究的背景和意义20世纪末,电子技术获得了飞速的发展。

在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。

时间对人们来说总是那么宝贵,工作的忙碌性和繁杂容易使人忘记当前的时间。

然而遇到重大事情的时候,一旦忘记时间,就会给自己或他人造成很大麻烦。

平时我们要求上班准时,约会或召开会议必然要提及时间;火车要准点到达,航班要准点起飞;工业生产中,很多环节都需要用时间来确定工序替换时刻。

所以说能随时准确的知道时间并利用时间,是我们生活和工作中必不可少的[1]。

电子钟是采用电子电路实现对时、分、秒进行数字显示的计时装置,广泛应用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品。

由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

诸如定时自动报警、0按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。

因此,研究数字钟及扩大其应用,有着非常现实的意义。

1.2 电子时钟的功能电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时间精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。

当今市场上的电子时钟品类繁多,外形小巧别致。

也有体型较大的,诸如公共场所的大型电子报时器等。

电子时钟首先是数字化了的时间显示或报时器,在此基础上,人们可以根据不同场合的要求,在时钟上加置其他功能,比如定时闹铃,万年历,环境温度、湿度检测,环境空气质量检测,USB扩展口功能等。

本设计电子时钟主要功能为:1.具有时间显示和手动校对功能,24小时制;2.具有年、月、日显示和手动校对功能;3.具有整点报时功二、基于单片机的电子时钟硬件选择分析考虑单片机货源充足、价格低廉,可软硬件结合使用,能够较方便的实现系统的多功能性,故采用单片机作为本设计的硬件基础。

2.1主要IC芯片选择2.1.1微处理器选择目前在单片机系统中,应用比较广泛的微处理器芯片主要为8XC5X系列单片机。

该系列单片机均采用标准MCS-52内核,硬件资源相互兼容,品类齐全,功能完善,性能稳定,体积小,价格低廉,货源充足,调试和编程方便,所以应用极为广泛。

例如比较常用的AT89C2052单片机,带有2KB Flash可编程、可擦除只读存储器(E2PROM)的低压、高性能8位CMOS微型计算机。

拥有15条可编程I/O引脚,2个16位定时器/计数器,6个中断源,可编程串行UART通道,并能直接驱动LED输出。

仅仅是为了完成时钟设计或者是环境温度采集设计,应用AT89C2052单片机完全可以实现。

但是将两种功能结合在一片单片机上,就需要更多的I/O引脚,故本设计采用具有32根I/O引脚的AT89C52单片机。

AT89C52单片机是一款低功耗,低电压,高性能CMOS 8位单片机,片内含4KB(可经受1000次擦写周期)的FLASH可编程可反复擦写的只读程序存储器(EPROM),器件采用CMOS工艺和ATMEI公司的高密度、非易失性存储器(NURAM)技术制造,其输出引脚和指令系统都与MCS-52兼容。

片内的FLASH存储器允许在系统内可改编程序或用常规的非易失性存储器编程器来编程。

因此,AT89C52是一种功能强,灵活性高且价格合理的单片机,可方便的应用在各个控制领域[6]。

AT89C52具有以下主要性能:1.4KB可改编程序Flash存储器;2.全静态工作:0——24Hz;3.128×8字节内部RAM;4.32个外部双向输入/输出(I/O)口;5.6个中断优先级;2个16位可编程定时计数器;6.可编程串行通道;7.片内时钟振荡器。

此外,AT89C52是用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式——空闲方式(Idle Mode)和掉电方式(Power Down Mode)。

在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。

在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,只保存片内RAM中的内容,直到下一次硬件复位为止。

图2.1 AT89C52芯片PDIP封装引脚图AT89C51为适应不同的产品需求,采用PDIP、TQFP、PLCC三种封装形式,本系统采用双列直插PDIP封装形式。

2.1.2 DS1302简介DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟日历芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。

实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。

工作电压宽达2.5~5.5V。

采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。

有主电源和备份电源双引脚,而且备份电源可由大容量电容(>1F)来替代。

需要强调的是,DS1302需要使用32.768KHz的晶振。

2.1.3 DS1302引脚说明1 2图2.2 DS1302芯片引脚图其的引脚功能参照表2.1。

表2.1 DS1302引脚功能说明引脚号名称功能1 V CC1 备份电源输入2 X1 32.768KHz晶振输入3 X2 32.768KHz晶振输出4 GND 地5 RST 控制移位寄存器/复位6 I/O 数据输入/输出7 SCLK 串行时钟8 V CC2 主电源输入2.2电子时钟硬件电路设计电子闹钟至少要包括秒信号发生器、时间显示电路、按键电路、供电电源、闹铃指示电路等几部分。

硬件电路框图参照图2.3。

该系统使用AT89C51单片机作为核心,通过读取时钟日历芯片DS1302数据,完成此电子时钟的主要功能——时钟。

使用比较通用的8段共阳数码管,做7位显示,分别显示时、分、秒。

图2.3 多功能电子时钟硬件系统框图键盘是为了完成时钟/日历的校对和日历/温度的显示功能。

由于此电子时钟要求具有闹铃功能,所以设计有闹铃电路,进行声音响铃。

整个电路使用了两种电源,+5V电源将为整个电路供电。

而+3V电源仅作为DS1302的备用电源。

当+5V电源被切断后,DS1302启用+3V电源,可以保持DS1302继续工作。

当+5V 电源恢复供电,LED依旧显示当前时间,而不会因为断电使系统复位到初始化时间,避免了重新校时的麻烦。

2.2.1时钟电路设计系统时钟应用了实时时钟日历芯片DS1302,其连接如图2.4。

该硬件电路设计简单,抗干扰能力强。

如图,AT89C51单片机P1.7直接接DS1302的RST端,上电后,AT89C51的P1.7脚自动输出高电平。

P1.5作为串行时钟接口,P1.6作为时钟数据的I/O。

DS1302采用双电源供电,平时由+5V电源供电,当+5V掉电之后,由图中BT1(+3V备用电池)供电。

特别需要注意X1和X2两端连接的晶振Y1,该晶振频率为32.768KHz。

Y132.768KHzBT1BATTER YVC C11X12X23GND 4VC SCL I RU2DS 1302图2.4 系统时钟电路2.2.2整点报时功能采用蜂鸣器闹铃结构简单,控制方便,但是发出的闹铃声音单一。

也可以在编程的时候编写一段音乐程序,待闹铃时间到时,调用该音乐程序给扬声器,便响起音乐。

不过该方法只能做一些简单音乐,并且音乐程序会占用很多单片机存储资源。

还有一种方法是采用录音放音芯片1420做闹铃,先对录放音设备录入一段音乐,当到设定时间时,单片机控制录放音设备放音。

采用录放音电路,铃声可以是预先设定的一段自己喜欢的音乐,符合电器设备人性化的要求。

且1420芯片可以分段录音,还具有语音报时功能。

另外,也可以购置一块音乐集成电路,加置在单片机和蜂鸣器之间,当单片机连接闹铃电路的管脚送出高电平时,音乐集成电路会给蜂鸣器特定脉冲,使蜂鸣器发声。

此类集成电路体积较小,使用方便,不足的是音乐简单、单一。

闹铃的闹钟不是本设计中的重点,故采用最简单的方法,占用单片机一根I/O口P1.7,中间用PNP型三极管S9012连接P1.7和蜂鸣器。

当P1.7引脚为低电平时,S9012的发射极和集电极导通,使蜂鸣器发声。

当响铃标志位为“1”时,P1.7送一定频率脉冲,使蜂鸣器U11发出声音。

如图2.5R8 P2.010K图2.5 闹铃电路1、Protel软件画原理图3.1系统工作流程图3.2原理图四、proteus软件仿真及调试4.1电路板的仿真利用keil软件编写源程序。

相关文档
最新文档