完整基于51单片机电子时钟设计Word格式文档下载.docx

上传人:b****3 文档编号:15208532 上传时间:2022-10-28 格式:DOCX 页数:26 大小:324.05KB
下载 相关 举报
完整基于51单片机电子时钟设计Word格式文档下载.docx_第1页
第1页 / 共26页
完整基于51单片机电子时钟设计Word格式文档下载.docx_第2页
第2页 / 共26页
完整基于51单片机电子时钟设计Word格式文档下载.docx_第3页
第3页 / 共26页
完整基于51单片机电子时钟设计Word格式文档下载.docx_第4页
第4页 / 共26页
完整基于51单片机电子时钟设计Word格式文档下载.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

完整基于51单片机电子时钟设计Word格式文档下载.docx

《完整基于51单片机电子时钟设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《完整基于51单片机电子时钟设计Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。

完整基于51单片机电子时钟设计Word格式文档下载.docx

2。

151单片机部分设计………………………………4

2.2USB供电电路设计………………………………5

2.3串行通信电路设计………………………………6

2.4DS12C887时钟芯片电路的设计…………………6

51602LCD液晶屏显示电路设计………………7

6蜂鸣器电路设计………………………………8

7按键调整电路设计…………………………8

三、软件设计…………………………………………9

3.1系统程序流程图设计…………………………9

3。

2程序设计……………………………………11

四、心得体会………………………………………………22

参考文献……………………………………………………23

一、绪论

1。

1电子时钟功能

(1)在1602液晶上显示年、月、日、星期、时、分、秒,并且按秒实时更新显示。

(2)具有闹铃设定即到时报警功能,报警响起时按任意键可取消报警。

(3)能够使用实验板上的按键随时调节各个参数,四个有效键分别为功能选择键、数值增大键、数值减小键和闹钟查看键。

(4)每次有键按下时,蜂鸣器都以短“滴”声报警.

(5)利用DS12C887自身掉电可继续走时的特性,该时钟可实现断电时间不停、再次上电时时间仍准确显示在液晶上的功能。

2设计方案

DS12C887时钟芯片+1602LCD液晶屏

DS12C887时钟芯片功能丰富、价格适中,能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部含有世纪寄存器,从而利用硬件电路解决“千年”问题。

DS12C887中自带锂电池,外部掉电时,其内部时间信息还能保持10年之久。

1602LCD液晶屏可以输出2行,每行显示16个字符。

1602LCD液晶屏显示清晰且不会闪烁,由于液晶屏是数字式的,因此和单片机系统的接口简单,操作方便。

以STC89C52为主控芯片,DS12C887为时钟芯片,1602LCD液晶屏作为显示器.程序控制DS12C887时钟芯片实现小时、分、秒和年、月、日的计时,并在1602LCD液晶屏上显示出来。

当时间走到程序所设定的时间时,蜂鸣器响起,起到闹钟功能。

二、硬件设计

2.151单片机部分设计

单片机部分如图2—1所示:

以STC89C52单片机为核心,选用12MHZ的晶振,由于晶振的频率越高,单片机的运行速度就越快,考虑到单片机的运行速度快会导致对存储器的要求就会变高,因此12MHZ为最佳选择。

外接电容的值虽然没有严格的要求,但是外接电容的大小会影响振荡器的频率高低、振荡器的稳定性和起振的快速性,因此选用30pF的电容作为起振电容。

复位电路为按键高电平复位,当按键按下,RES端为高电平,当高电平持续4us的时间单片机即复位.

2.2USB供电电路设计

USB供电电路如下图2—2所示:

该电子时钟采用USB端口的方式为单片机供电,LPOW1为电源显示灯,当按键S5按下,电源显示灯LPOW1亮,表示给单片机供+5V电.

2.3串行通信电路设计

串行通信电路如下图2—3所示:

图中通过MAX232进行RS—232电平与单片机TTL电平之间的转换,从而为单片机和上位机之间通信提供通道。

通信电路的目的就是让通信双方的电平匹配,单片机用的是TTL电平,上位机的串口用的是RS—232电平。

TTL电平逻辑1的电压范围是+3.3V到+5V,逻辑0的电压范围是0到+3。

3V;

RS—232电平的逻辑1的电压范围是—15V到-5V,逻辑0的电压范围是+5V到+15V。

MAX232可以把输入的+5V电源电压变换成为RS—232输出电平所需的+10V电压.所以采用此芯片接口的串行通信系统只需单一的+5V电源就可以了。

对于没有+12V电源的场合,其适应性更强,

2.4DS12C887时钟芯片电路的设计

时钟芯片电路如下图2—4所示:

DS12C887时钟芯片共需要13条信号线,分别是并行数据地址复用线AD0~AD7,,AS,R/,DS和。

MOT—总线操作时序选择端。

它有两种工作模式,当MOT接时,选用Motorola模式;

当MOT接GND或悬空时,选用Intel模式.

NC—空引脚。

AD0~AD7—复用地址数据总线。

在总线周期的前半部分,出现在AD0~AD7上的是地址信息,可用以选通DS12C887内的RAM,总线周期的后半部分出现在AD0~AD7上的是数据信息.

GND,—系统电源接入端。

当输入为+5V时,用户可以访问DS12C887内RAM中的数据,并可对其进行读/写操作;

当的输入小于+4.25V时,禁止用户对内部RAM进行读/写操作,此时用户不能正确芯片内的时间信息;

当的输入小于+3V时,DS12C887会自动的将电源切换到内部自带的锂电池上,以保证内部的电路能正常工作。

-芯片片选端。

AS—地址选通输入端。

在进行读/写操作时,AS的上升沿将AD0~AD7上出现的地址信息锁存到DS12C887上,而下一个下降沿清除AD0~AD7上的地址信息,不论CS是否有效,DS12C887都将执行该操作。

R/—读/写输入端。

该引接脚有两种工作模式,当MOT接时,R/工作在Motorola模式.此时该引脚的作用是区分读操作还是写操作,R/高电平时为读操作,R/为低电平时为写操作;

当MOT接GND时,该引脚工作在Intel模式,此时该引脚为写允许输入,此信号的上升沿锁存数据.

DS-数据选择或读输入脚。

该引脚有两种工作模式,当MOT接时,选用Motorola模式,此时,每个总线周期后一部分的DS为高电平,称为数据选通。

在读操作中,DS的上升沿使DS12C887将内部数据送往总线AD0~AD7上,以供外部读取。

在写操作中,DS的下降沿将使总线AD0~AD7上的数据锁存在DS12C887中。

当MOT接GND时,选用Intel模式,此时该引脚是读允许输入引脚。

—芯片复位引脚。

—中断请求输出。

用作处理器的中断申请输入。

只要引起中断的状态位置位,并且相应中断使能位也置位,将一直保持低电平,处理器程序通常读取C存储器来清除引脚输出,引脚也会清除未处理的中断.没有中断发生时,为高阻状态,可将多个中断器件接到一条总线上,只要它们均为漏极开路输出即可。

引脚为漏极开路输出,需要使用一个外接上拉电阻与相连。

SQW—方波输出引脚。

当供电电压大于4。

25V时,SQW引脚可输出方波。

2。

51602LCD液晶屏显示电路设计

1602LCD液晶屏显示电路如下图2—5所示:

1602液晶为5V电压驱动,带背光,可显示2行,每行16个字符,不能显示汉字,内置含128个字符的ASCII字符集字库,只有并行接口,无串行接口。

接口说明如下:

(1)液晶1,2端为电源;

15,16为背光电源;

为防止直接加5V电压烧坏背光灯,在15脚串接一个1K电阻用于限流.

(2)液晶3端为液晶对比度调节端,通过一个10K电位器接地来调节液晶显示对比度。

首次使用时,在液晶上电状态下,调节至液晶上面一行显示出黑色小格为止。

(3)液晶4端为向液晶控制器写数据/写命令选择端,接单片机的P3。

5口。

(4)液晶5端为读/写选择端,因为我们不从液晶读取任何数据,只向其写入命令和显示数据,因此此端始终选择为写状态,即低电平接地。

(5)液晶6端为使能信号,是操作时必须的信号,接单片机的P3。

4口。

2.6蜂鸣器电路设计

蜂鸣器电路如下图2—6所示:

蜂鸣器电路接在单片机的P2.3引脚上,当该引脚一个低电平,三极管导通,蜂鸣器发出声音作为闹铃.

2.7按键调整电路设计

按键调整电路如下图2—7所示:

四个独立键盘均采用查询方式,将按键的一端接地,另一端各接一根输入线直接与STC89C52的I/O口相连.当按键闭合时,相当于该I/O口通过按键与地相连,变成低电平,单片机通过检测I/O口的电平状态,即可识别出按下的键.通过四个键实现参数的调节,S1为功能选择键,S2为数值增大键,S3为数值减小键,S4为闹钟查看键。

三、软件设计

3.1系统程序流程图设计

流程图1:

实验主程序流程图

流程图2:

定时中断程序流程图

流程图3:

调时功能流程图

3。

2程序设计

#include<

reg52。

h〉

#include<

define。

voiddelay(uintz)//延时函数

{

uintx,y;

for(x=z;

x〉0;

x——)

for(y=110;

y〉0;

y—-);

}

voiddi()//蜂鸣器报警声音

beep=0;

delay(100);

beep=1;

voidwrite_com(ucharcom)//写液晶命令函数

{

rs=0;

lcden=0;

P0=com;

delay(3);

lcden=1;

voidwrite_data(uchardata)//写液晶数据函数

rs=1;

lcden=0;

P0=data;

delay(3);

voidinit()//初始化函数

ucharnum;

EA=1;

//打开总中断

EX1=1;

//开外部中断1

IT1=1;

//设置负跳变沿触发中断

flag1=0;

//变量初始化

t0_num=0;

s1num=0;

week=1;

dula=0;

//关闭数码管显示

wela=0;

rd=0;

/*以下几行在首次设置DS12C887时使用,以后不必再写入

write_ds(0x0A,0x20);

//打开振荡器

write_ds(0x0B,0x26);

//设置24小时模式,数据二进制格式,开启闹铃中断

set_time();

//设置上电默认时间

--——--——-—-—-————--—-—-———-—----———--—-—-———-——-——--——-——-—--—--——-----———--—*/

write_com(0x38);

//1602液晶初始化

write_com(0x0c);

write_com(0x06);

write_com(0x01);

write_com(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 图表模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1