单片机数字闹钟设计报告

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

单片机数字闹钟/电子表设计报告

一、设计意义

随着生活水平的提高,人们越来越追求人性化的事物,传统的时钟已不能满足人们的需求。现代的数字钟不仅需要模拟电子技术,而且需要数字电路技术和单片机技术,增加了数字显示等的功能。单片机电子钟表电路可以由单片机模块、实时时钟电路模块、人机接口模块、报警模块等部分组成,硬件电路简单稳定,并可以利用软件编程减小电磁干扰和其他环境干扰的影响,减小因元器件精度不够引起的误差等优点,与机械式时钟相比具有更高的准确性和直观性,电路简单,使用寿命长,应用X围广,被广泛用于个人家庭、车站、码头、办公室等公共场所,成为人们日常生活中不可少的必需品。

由于数字集成电路的发展和石英晶体振荡器的广泛应用,数字钟表的精度远远超过老式机械钟表,给人们生产生活带来了极大的方便。另一方面,由于单片机技术的使用,大大扩展了钟表原先的功能,可以提供定时自动报警、按时自动打铃、时间程序自动控制及各种定时电气的自动启用功能等。因此,研究数字钟表及扩大其应用,有着非常现实的意义。

二、本设计功能描述

1、采用STC89C52单片机作为主控芯片,实现数字钟表主控功能。

2、采用液晶屏显示当前年、月、日、时、分、秒,闹铃时间及状态等信息。

3、采用六键键盘设定时间初始值,具体方法是按时间设定键依次进入年、月、日、时、分、秒设定状态,然后通过向上、向下键修改设定值。正在设定的变量以闪烁状态突出显示。

4、采用六键键盘设定闹铃时间,具体方法是按闹铃设定键依次进入时、分设定状态,然后通过向上、向下键修改设定值。正在设定的变量以闪烁状态突出显示。

5、采用DS1302实时时钟芯片完成后台计时功能,要求具有后备电源,即使主电源掉电时间仍然保持运行。

6、可设定闹铃使能,具体方法是按闹铃使能键,按一次打开,再按一次关闭。闹铃使能关闭时不报警。

7、当闹铃使能打开,且当前时间到达闹铃设置时间,则蜂鸣器和LED红灯同时报警,如不按取消键,报警时间为1分钟。报警状态可以通过按取消键退出。

8、系统通过USB电源供电,单片机程序也可通过USB线串行下载。

三、相关基础介绍

1.DS1302芯片

(1) DS1302的性能特性

●实时时钟,可对秒、分、时、日、周、月以及带闰年补偿

的年进行计数;

●用于高速数据暂存的31×8位RAM;

●最少引脚的串行I/O;

● 2.5~5.5V电压工作X围;

● 2.5V时耗电小于300nA;

●用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)

数据传送方式;

●简单的3线接口;

●可选的慢速充电(至Vcc1)的能力。

DS1302时钟芯片包括实时时钟/日历和31字节的静态RAM。它经过一个简单的串行接口与微处理器通信。实时时钟/日历提供秒、分、时、日、周、

月和年等信息。对于小于31天的月和月末的日期自动进行调整,还包括闰年校正的功能。时钟的运行可以采用24h或带AM(上午)/PM(下午)的12h 格式。采用三线接口与CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302有主电源/后备电源双电源引脚:Vcc1在单电源与电池供电的系统中提供电源,并提供低功率的电池备份;Vcc2在双电源系统中提供主电源,在这种运用方式中Vcc1连接到备份电,以便在没有主电源的情况下能保存时间信息以及数据。DS1302由Vcc1或Vcc2中较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电;当Vcc2小于Vcc1时,DS1302由Vcc1供电。

(2) DS1302数据操作原理

DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被输出。无论是读周期还是写周期,开始8位指定40存器中哪个将被访问到。在开始8个时钟周期,把命令字节装入移位寄存器之后,另外的始终周期在读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单字节方式下为8加8,在多字节方式下为8加字节数,最大可达248字数。

如果在传送过程中置RST脚为低电平,则会中止本次数据传送,并且I/O 引脚变为高阻态。上电运行时,在Vcc≧ 2.5V之前,RST脚必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。DS1302的引脚及内部结构图如图1所示。

图1 DS1302引脚图及内部结构

DS1302的引脚功能如表1所示。

表1 DS1302引脚功能

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

图2 DS1302的控制字

DS1302的读写时序如图3所示。为了提高对32个地址的寻址能力(地址/命令位1~5 = 逻辑1),可以把时钟/日历或RAM寄存器规定为多字节(burst)方式。位6规定时钟或RAM,而位0规定读或写。在时钟/日历寄存器中的地址9~31或RAM寄存器中的地址31不能存储数据。在多字节方式中,读或写从地址0的位0开始。必须按数据传送的次序写最先的8个寄存器。但是,当以多字节方式写RAM时,为了传送数据不必写所有31字节,不管是否写了全部31字节,所写的每一字都将传送至RAM。

图3 DS1302数据读/写时序

DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。其日历、时间寄存器及其控制字见表2,其中奇数为读操作,偶数为写操作。

表2 内部寄存器地址和内容

相关文档
最新文档