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

《DS1302数字时钟芯片》1. 内置电池备份功能,确保时间信息在断电情况下依然准确无误;2. 精度高,每月误差不超过±30秒;3. 支持秒、分、时、日、月、周、年的计时,满足日常生活和工作需求;4. 通过串行通信接口与单片机或其他设备进行数据交换,操作简单;5. 超低功耗设计,节能环保。
下面,让我们详细了解DS1302数字时钟芯片的内部结构、工作原理及实际应用。
《DS1302数字时钟芯片》二、内部结构与关键特性1. 时钟模块:包含了时钟振荡器、分频器以及时钟计数器。
振荡器采用32.768kHz的晶振,保证了时间的精确度。
分频器将振荡器输出的频率分频至1Hz,供时钟计数器使用。
2. RAM存储器:DS1302内置31字节静态RAM,可用于存储临时数据或用户自定义信息,方便在不干扰时钟运行的情况下进行数据保存。
3. 电源管理模块:DS1302具备掉电保护功能,当外部电源断电时,内置的锂电池可以自动为芯片供电,确保时钟正常运行。
4. 串行接口:采用三线接口(时钟线、数据线、复位线),简化了与外部设备的连接,便于实现数据的同步传输。
三、工作原理1. 初始化:通过复位线将DS1302复位,使其进入待命状态,准备接收命令。
2. 命令发送:单片机或其他控制器通过串行接口向DS1302发送命令,包括读/写时钟数据、RAM数据等。
3. 数据交换:在命令发送后,DS1302根据命令类型进行数据读出或写入操作。
数据传输过程中,时钟线控制数据同步,数据线传输数据位。
4. 数据处理:单片机接收到DS1302的数据后,可进行时间显示、闹钟设置等操作。
四、实际应用1. 智能家居:作为时间基准,用于家庭安防、照明、温控等系统的定时控制。
2. 儿童手表:为孩子提供准确的时间显示,便于家长监控和管理孩子的作息。
3. 工业自动化:在生产线控制、设备维护等领域,实现精确的时间记录和任务调度。
4. 环境监测:结合其他传感器,实现对环境数据的实时采集和记录,为环境保护提供数据支持。
基于51单片机DS1302万年历课程设计报告

基于51单片机DS1302万年历课程设计报告课程名称:微机原理课程设计题目:基于DS1302芯片万年历摘要DS1302 是DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31 字节静态RAM,通过简单的串行接口与单片机进行通信实时时钟/日历电路.提供秒、分、时、日、日期.、月、年的信息,每月的天数和闰年的天数可自动调整时钟。
本次课程设计的是使用专门的时钟芯片DS1302在数码管上显示的数字电子钟,并能通过按键对其进行调时和校准以及实现年月日。
DS1302是一种高性能、低功耗、带RAM的实时时钟芯片,它能够对时,分,秒进行精确计时,它与单片机的接口使用同步串行通信,仅用3条线与之相连接,就可以实现STC-51单片机对其进行读写操作,把读出的时间数据送到数码管上显示。
程序运行时,数码管将从当前时间开始显示,通过调节K2键和K3键可以分别对小时和分钟进行调整,调整后,时钟以新的时间为起点继续刷新显示,通过调节K1键可以切换年月日和时钟显示。
关键字:STC-51单片机,DS1302,数码管,动态扫描,调时,切换,秒闪;目录一、设计任务与要求 (4)1.1设计任务 (4)1.2设计要求 (4)1.3发挥部分 (4)1.4创新部分 (4)二、方案总体设计 (5)2.1设计目的 (5)2.2硬件功能描述 (5)2.3设计方案选择 (5)2.4总体设计 (6)2.5总体方案及基本工作原理 (6)三、硬件设计 (7)3.1 STC89C51芯片 (7)3.2电源模块及晶振模块 (7)3.3 DS1302 (8)3.4数码管显示模块 (9)3.5蜂鸣器部分 (10)3.6按键部分 (11)四、软件设计 (13)4.1软件流程图 (13)4.2 软件设计 (13)主函数部分: (13)五、系统仿真和调试 (15)5.1 仿真软件简介 (15)5.2硬件调试 (15)5.3软件调试 (15)5.4使用说明 (16)六、设计总结与体会 (18)6.1学习方面 (18)6.2工作方面 (18)七、参考文献 (19)一、设计任务与要求1.1设计任务DS1302万年历;1.2设计要求利用DS1302生成万年历,时钟可调,通过四位数码管显示,并可实现秒闪功能,同时蜂鸣器闹铃;1.3发挥部分设置按键K3用来切换显示时钟和年月日;1.4创新部分只设置了两个按键K1和K2来调节时分,时钟到24归零,分钟到60归零,分钟有长按迅速调节功能。
51单片机数码管时钟电路的设计

51单片机数码管时钟电路的设计设计一个51单片机数码管时钟电路,让我们开始吧。
一、设计思路该数码管时钟电路的设计主要包括以下几个方面:1.使用DS1302时钟芯片获取真实时间;2.使用I2C总线方式将DS1302时钟芯片与51单片机连接;3.使用74HC595芯片驱动数码管显示;4.使用按键控制时钟的设置和调节;5.使用蜂鸣器发出报警声;6.使用LED指示灯显示时钟状态。
二、硬件设计部分数码管显示部分:1.使用4位共阳数码管作为时分显示器,使用1位共阳数码管作为秒显示器;2.使用8片74HC595芯片级联起来,将时分秒数据传输到数码管显示;3.设置共阳数码管的通阳管为P0口,设置74HC595的DS(串行数据输入)、SH(上升沿锁存)、STCP(74HC595的8位锁存输出)引脚接到P1.2、P1.3、P1.4端口;4.设置8个控制引脚接到P1.5~P1.12端口。
实时时钟部分:1.使用DS1302时钟芯片连接到P2.0、P2.1、P2.2、P2.3、P2.4、P2.5、P2.6、P2.7端口;2.设置时钟复位引脚接到P0.1端口,时钟传输使能引脚接到P0.2端口。
按键输入部分:1.设置按键S1接到P3.2端口,按键S2接到P3.3端口;2.设置按键的上拉电阻,使其处于高电平状态;3.设置按键的下降沿触发外部中断,以便检测按键的按下事件。
其他部分:1.设置蜂鸣器接到P0.0端口,并使用普通电阻限流;2.设置LED指示灯接到P0.7端口。
三、软件设计部分1.初始化函数:初始化P0、P1、P2、P3口的状态;2.DS1302驱动函数:包括初始化DS1302芯片和读写DS1302寄存器的函数;3.74HC595驱动函数:包括初始化74HC595芯片,以及向74HC595芯片发送8位数据的函数;4.数码管显示函数:将时分秒数据按位转换为对应的数字和状态,并调用74HC595驱动函数显示;5.按键检测函数:检测按键的按下事件,并根据按键事件的不同触发不同的操作;6.报警函数:当设定时间到达时,将触发报警声,并控制LED灯闪烁;7.主函数:循环读取DS1302时间,并更新数码管显示,检测按键事件,触发报警。
基于51单片机的电子时钟设计

基于51单片机的电子时钟设计
摘要:本文论述了基于51单片机的电子时钟设计,包括硬件设计与软件编程。
其中,硬件设计包括基本指示灯、DS1302时钟芯片等的选择与连接,时钟电路、晶振电路的设计等。
软件编程包括时钟显示的实现,时钟校准、闹钟等功能的实现等。
本设计具有精度高、操作简便、易于实现等特点,可广泛应用于各种场合。
关键词:51单片机;电子时钟;硬件设计;软件编程
前言
随着人们生活水平的提高,电子时钟已经成为人们生活中必不可少的物品,目前市场上各种类型的电子时钟层出不穷。
本文以51单片机为基础,设计了一款高精度、易于操作的电子时钟,采用DS1302时钟芯片作为时钟驱动芯片,实现了时钟的准确显示、校准、闹钟等功能。
硬件设计
硬件设计主要包括控制器、时钟驱动、显示装置以及电源。
本设计采用了AT89C51单片机作为控制器,一块DS1302时钟芯片作为时钟驱动,LED数字管作为显示装置。
同时,本设计采用了USB供电方式,其电源电压为5V。
软件编程
软件编程主要包括时钟显示、时钟校准、闹钟功能的实现等。
时钟显示采用了动态显示方式,实现了时间的精确定位。
同时,本设计还具有时钟校准功能,在程序接通时,可自动对时钟进行校准,保证时钟的精确度。
此外,本设计还具有设置闹钟的功能,用户可在指定时间响起闹钟。
结论本文以51单片机为基础,设计了一款高精度、易于操作的电子时钟。
通过对硬件设计、软件编程的设计与实现,使得该产品能够准确显示时间,保证了时钟的稳定性,满足了时间的要求,目前已
得到广泛应用。
基于51单片机的数字电子时钟设计

课程设计任务书摘要数字钟因其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱,因此得到了广泛的使用。
单片机为基础上设计出来的数字时钟数字钟,在日常生活中最常见,应用也最广泛。
本次课程设计的时钟就是以STC89C52单片机为核心,配备LED显示模块、时钟模块、等功能模块的数字电子钟。
采用24小时制方式显示时间。
文章主要从硬件设计和软件编程两个大的方面。
硬件电路设计主要包括中央处理模块、时钟模块,显示模块等几部分。
时钟电路采用DS1302芯片,并选用LED显示器。
软件方面用keil C语言来实现。
软硬件配合,达到电子时钟精准的显示。
关键字:单片机,时钟模块,精准目录1绪论 (2)1.1设计概述 (2)1.2技术简述 (2)1.3本课题的背景 (3)1.4本课题的意义 (3)2系统设计 (4)2.1设计目的 (4)2.2设计功能及要求 (4)2.3设计思路 (4)2.4硬件方案 (4)2.4.1时钟芯片的选择 (5)2.4.2显示屏的选择 (5)2.4.3单片机的选择 (5)2.5软件方案 (5)2.6整体方案 (6)2.7元器件清单 (6)3硬件设计 (7)3.1单片机最小系统 (7)3.1.1时钟电路 (7)3.1.2复位电路 (8)3.2时钟电路 (8)3.3电源电路 (9)3.4系统整体电路 (9)3.5系统仿真 (10)3.6硬件制作 (10)4软件设计 (11)4.1程序设计步骤 (11)4.2系统主程序 (11)4.3时钟模块子程序 (12)4.4显示模块子程序 (12)4.5主程序 (13)5联机调试 (14)6总结 (15)7参考文献 (16)1绪论1.1设计概述在单片机技术日趋成熟的今天,其灵活的硬件电路和软件程序的设计,使单片机得到广泛的应用,从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。
数字电子时钟是基于单片机和DS1302时钟芯片的一种计时工具。
1302数字时钟设计之令狐文艳创作

基于DS1302的数字时钟的设计令狐文艳姓名:学号:专业:电子信息科学与技术指定老师:一,实验目的时表作为一种定时工具被广泛的使用在生产生活的各方面。
而电子钟又具有价格便宜,质量轻,定时误差小等优点,被广泛的应用在生产,生活的各个方面。
本次课程设计,我利用单片机和DS1302实现数字时钟。
并在设计过程中体验学习单片机设计的基本流程,提高对单片机的认识。
为毕业工作打下坚实的基础。
二,实验内容以AT89S52为核心,结合DS1302和LCD1602,设计一个数字时钟。
在液晶上实现年,月,日,时,分,秒和星期的显示,并且日期和时间都可以通过按键选择进行调整。
给DS1302设置初始化的时间。
当选择CHG键时,可以跳转到年月日时分秒和星期处的位置,此时,通过INC键可以进行增加调整,DEC可以进行减小调整。
三,实验器件介绍1,AT89S52AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。
使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。
AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。
使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
基于51单片机与DS1302时钟芯片和LCD1602液晶显示的数字时钟
unsigned char DS1302OutputByte(void) {
unsigned char i; for(i=8; i>0; i--) {
ACC = ACC >>1; ACC7 = DS1302_IO; DS1302_CLK = 1; DS1302_CLK = 0; } return(ACC); }
P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1
P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
D1 LC
SD E
S V
VD
E V
S R
RW E
0 1 2 3 4 5 67 D D D D D D DD
D N +5V G 39 38
37
36 35
34
33 32
GotoXY(0,0); Print(" tian ma dian zi"); GotoXY(0,1); Print("Time: ");
Word 文档
.
while(1) {
DS1302_GetTime(&CurrentTime); TimeToStr(&CurrentTime); GotoXY(6,1); Print(CurrentTime.TimeString);
unsigned char i; ACC = d; for(i=8; i>0; i--) {
DS1302_IO = ACC0; DS1302_CLK = 1;
// 实时时钟写入一字节 (部函数 ) // 相当于汇编中的 RRC
Word 文档
.
DS1302_CLK = 0; ACC = ACC >> 1; } }
51单片机_DS1302时钟芯片_共阴数码管_时钟实例【中为电子科技工作室.】
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
基于DS1302的数字时钟设计
一、设计目的 (1)二、设计思路 (1)三、设计过程 (1)五、主要元器件与设备 (10)六、课程设计体会 (10)七、参考文献 (10)一、设计目的1、掌握电子时钟的基本工作方式。
2、进一步熟悉DS1302芯片的特性。
3、通过使用各基本指令,进一步熟练掌握单片机的编程和程序调试。
二、设计思路利用AT89C52的特点及DS1302的特点,设计一种基于DS1302单片机控制,再利用数码管静态显示的可调可定时数字钟。
本系统硬件利用AT89S52作为CPU 进行总体控制,通过DS1302时钟芯片获取准确详细的时间(年、月、日、周、日、时、分、秒准确时间),对时钟信号进行控制,同时利用数码管对时间进行准确显示年、月、日、周、日、时、分、秒。
三、设计过程3.1系统设计结构图图1系统设计结构图根据系统设计的要求和设计思路,确定该系统的系统设计结构图。
如图1所示。
硬件电路主要由MCU微处理控制器单元、DS1302时钟电路、储存器、复位电路、晶振电路、数码管显示模块构成。
3.2 MCU微控制器电路AT89S52作为系统的核心控制元件,只有它能正常工作后才能使其它的元件进入正常工作状态。
因此,下面对AT89S52进行必要的说明,AT89S52的管脚如图3所示。
图3 AT89S52的管脚1)VCC:40脚,供电电压,一般接+5V电压。
2)GND:20脚,接工作地。
3)P0口:1~8脚,P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上电阻。
但是P0口在程序校验作为输出指令字节时,需要外部加上拉电阻,一般上拉电阻选4.7K~10K为宜。
本设计中用5.1K的排阻对P0口进行上拉电平。
4)P1口:32~39脚,P1口是一个内部具有上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。
基于51单片机设计的带有测温功能的电子时钟
目录一、设计要求二、课程设计的方案、目的及意义三、硬件设计方案四、软件设计方案五、总结六、参考资料一、设计要求用51单片机设计带温度显示的电子时钟,具体要求如下:1、利用DS1302时钟芯片实现时钟功能模块。
2、时钟要求可以调节时间:年、月、日、时、分、秒。
3、利用LCD1602显示。
4、利用DS18B20芯片实现温度功能模块。
5、利用按键完成各项功能。
二、课程设计方案、目的及意义1、总体方案:用STC89C51单片机作为CPU主控制器,DS1302时钟芯片提供准确时钟信号,DS18B20温度传感器采集温度信息,三个按键进行加减调整、功能切换作用,通过LCD1602对外多功能显示。
2、具体方案:CPU控制所有模块,通过循环反复从DS1302中读取时钟信息,传送至LCD1602显示,得到基本时钟功能。
当分为59,秒为56时开始,每隔一秒LED 灯点亮240毫秒,0分0秒时LED灯点亮700毫秒。
从而实现整点光报时。
定时循环从DS18B20中读取温度信息,传送至LCD1602显示,得到基本温度计功能。
当温度高于30度(包括30度)时,点亮红色LED灯,提醒当天为高温天气。
低于0度时,点亮蓝色LED灯,提醒当天为冰冻天气。
键盘使用扫面方式,MENU键控制功能切换,完成时钟和温度间的转换。
OK键控制时间调整与确定,UP、DOWN键调节时间,R、L 键选择调整对象。
进入调整时,暂停DS1302数据读取,并将改变的时间数据写入DS1302,并送LCD1602显示,同时,启动LCD1602光标闪烁,确定调整对象,完成人机对话。
退出调整时,停止写入数据,重新读取DS1302时钟信息。
从而完善时钟功能。
3、目的及意义可作为产品生产,作为居家的时钟显示与温度计。
三、硬件设计方案1、原理图2、PCB图3、各功能模块分析(一)、主控制器:STC单片机89C51功能:程序存储器16K、RAM数字存储器1280、可直接通过串口下载程序,单一+5V电源供电,五个中断源的中断控制系统,片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于51单片机和DS1302数字时钟 硬件总体设计说明书
编制单位:***** 作 者:***** 版 本:V1.0 发布日期:2011-2-12 1
目录 一、引言-----------------------------------------------1 1.1编写目的-----------------------------------------1 1.2背景---------------------------------------------1 1.3参考资料-----------------------------------------1 二、总体设计--------------------------------------------3 2.1设计与运行环境------------------------------------3 2.2硬件功能描述--------------------------------------3 三、数字钟软件和硬件设计-------------------------------3 3.1 硬件电路设计-------------------------------------3 3.1.1电源---------------------------------------3 3.1.2独立按键模块-------------------------------3 3.1.3显示模块------------------------------------4 3.1.4复位电路模块--------------------------------4 3.1.5时钟芯片模块--------------------------------5 3.1.6主控模块------------------------------------5 3.1.7闹铃模块------------------------------------6 3.2软件设计--------------------------------------------6 3.2.1程序设计流程图-------------------------------6 3.2.2 源程序--------------------------------------8 四、数字钟制作过程中遇到的问题-------------------------19 五、总结-----------------------------------------------20
附录Ⅰ:DS1302时钟芯片的工作原理和使用方法-----------22 附录Ⅱ:如何利用软件减小的计时误差--------------------25 2
一、引言 1.1编写目的 为了进一步熟悉51单片机的编程以及学习数字钟的相关设计方法,在老师的指导下我们进行了本次数字钟的设计。 我们在寒假利用10天的时间里基于51单片机——STC89C52单片机和时钟芯片DS1302设计并实现了数字时钟。在PCB板制作完成并且调试成功之际,为了进一步提高自己和动手能力和编程能力,对这次数字钟的设计和制作的过程中遇到的问题及设计思路做一总结。
1.2背景 随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。 二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步…… 我国生产的电子万年历有很多种,总体上来说以研究多功能电子万年历为主,使万年历除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。商家生产的电子万年历更从质量,价格,实用上考虑,不断的改进电子万年历的设计,使其更加的具有市场。 除了采用集成化的时钟芯片外,还有采用MCU的方案,利用STC89系列单片微机制成万年历电路,采用软件和硬件结合的方法,控制LED数码管输出,分别用来显示年、月、日、时、分、秒,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特,可靠。 在21世纪的今天,单片机仍然有着它不可替代的地位和独特的作用在学完单片机后,为了进一步学习51单片机的控制和编程,我们利用51单片机自己设计并制作数字钟。
1.3参考资料 【1】8051系列单片机C程序设计完全手册 求是科技 编著 人民邮电出版社 2006 【2】51单片机应用从零开始 杨欣 编著 清华大学出版社 2008 【3】单片机原理及接口技术(第三版) 李朝青 编著 北京航空航天大学出版社 2008 【4】51单片机C语言教程 郭天祥 编著 电子工业出版社 2009 3
二、总体设计 此数字钟利用单片机STC89C52和时钟芯片DS1302设计完成。 2.1设计与运行环境 数字钟的程序设计和调试均在Keil uVision2环境下完成的。设计并完成的程序下载至STC89C52单片机后,即可初始化时钟芯片DS1302从而开始计时,系统开始正常运行。 2.2硬件功能描述 数字钟能够完成24小时制计时,计时初始化值为00:00:00,用户可以通过按键调整时钟的初值实现校时功能,并且可以通过按键设定一个24小时以内任意时刻的闹铃,用户可以手动选择闹铃的开或者关两种状态。
三、数字钟软件和硬件设计 3.1 硬件电路设计 数字钟的电路主要有电源模块、显示模块、按键模块、复位电路模块、时钟芯片模块、主控芯片STC89C52模块和闹铃模块等7大模块组成。 3.1.1电源
电源模块采用7805进行稳压,保证+5V电压的稳定输出,进一步提高系统的抗干扰能力和稳定性。 3.1.2独立按键模块
系统有三个独立按键,独立按键S1、S2、S3分别接至单片机P3.2、P3.3、P3.4口。 S1用来功能选择,其功能可以用按键次数N来表示: N=1:校准计时的小时位 N=2:校准计时的分钟位 N=3:校准闹铃的小时位 N=1:校准闹铃的分钟位 N=5:退出 S2主要功能用来进行加一操作。在有功能选择的情况下,无论选中那一种功4
能操作,按下S2即进行一次加一操作,在没有功能选择的情况下,系统不响应此按键的任何操作。 S3用来控制闹铃的开或者关,在任意时间只要按下此键即可打开(或关闭)闹铃,在按键一次就可以关闭(或打开)闹铃。 3.1.3显示模块 一个良好的显示模块对一个系统非常重要,所有操作结果和计时结果,都要通过显示模块来显示出来。同时显示模块提供了良好的人机交互平台。常用的显示模式有LED 7段数码管显示、点阵显示和液晶显示。 液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点。但由于液晶其成本也偏高。在使用时,不能有静电干扰,否则易烧坏液晶的显示芯片。鉴于LED 7段数码管成本低,也比较容易实现的特点,最终确定使用共阴极数码管来显示。 本系统显示模块电路由一块74HC573、一块74HC138芯片和两个四位一体7段数码管组成。74HC573用来驱动数码管,74HC573的Q0~Q7分别接四位一体数码管的A~dp。74HC138控制位选。
3.1.4复位电路模块 5
复位电路主要的功能是是整个系统初始化,在每次上电时系统自动初始化,如果在程序运行的过程中程序没有响应或者需要进行一次初始化,这是可以通过按复位开关来实现需要的有效操作。 3.1.5时钟芯片模块
DS1302时钟芯片是本系统实现高精度计时的关键。利用DS1302时钟芯片独立于单片机来计时,在提高计时进度的同时也提高了整个系统的抗干扰能力。DS1302通过SCLK、I/O、RES端口和单片机STC90C52进行通信。SCLK接至单片机P1.7口,在读写操作时给DS1302提供相应的时钟脉冲;I/O接至P3.5用来传送所有的数据;RES接至单片机P1.6上用来控制单片机与时钟芯片间的数据传送的开始于结束。 DS1302的工作原理及使用方法见附录Ⅰ。 3.1.6主控模块 主控模块的核心组成部分是单片机STC89C52, 承担着所有操作任务的调控与分派工作。 6
3.1.7闹铃模块 闹铃模块由蜂鸣器和蜂鸣器的驱动组成。在有闹铃发生的时候,蜂鸣器的驱动电路驱动蜂鸣器发声,产生闹铃的效果。 3.2软件设计 3.2.1程序设计流程图 1、主程序流图 7
2、读DS1302中断及闹铃检测流程图 3、功能选择中断操作的程序流程图