基于51单片机的多功能时钟Word文件下载.docx
- 文档编号:15761864
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:48
- 大小:326.13KB
基于51单片机的多功能时钟Word文件下载.docx
《基于51单片机的多功能时钟Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于51单片机的多功能时钟Word文件下载.docx(48页珍藏版)》请在冰豆网上搜索。
系统采用AT89S52单片机作为控制核心。
AT89S52单片机与MCS_51系列单片机产品兼容,采用了Flash存储器结构,可以在线下载程序,易于日后的升级。
它主要负责各个模块的初始化工作;
设置定时器、寄存器的初值;
读取并处理时间、温度等信息;
处理按键响应;
控制液晶实时显示等。
硬件电路连接如图2所示。
系统采用12M晶振;
P2.0,P2.1,P2.2口为单片机与液晶显示器连接的控制和通信的数据端口;
C_RESET和R_RESET组成系统上电复位电路;
P2.6和P2.7为单片机与时钟芯片DS1307通信的端口;
P2.3为闹铃的控制端口;
P1.6为单片机与温度传感器DS18B20的通信端口;
P1.0,P1.1为按键模块的接口。
图2单片机主控电路
1.2实时时钟日历模块
系统采用DS1307实时时钟芯片。
电路连接如图3。
Y2为32.768kHz的晶振,为时钟芯片提供计时脉冲;
Vbat为DS1307的备用电源,以便在没有主电源的情况下能够保存时间信息和一些重要的数据;
两个电阻为
总线的上拉电阻。
⑴DS1307是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,它是一款
总线接口的时钟日历芯片,采用两线与CPU进行通信,片内含有8个特殊功能寄存器和56bit的SRAM。
主要技术性能指标:
具有秒、分、时、日、星期、月、年的计数功能,并且具有12小时制和24小时制的计数模式,可自动调整每月的天数,具有闰年调整的功能,具有自动掉电保护和上电复位的功能。
1DS1307的引脚功能
DS1307的引脚图如图3所示,采用8引脚双列直插dip封装,芯片内部结构图如图4所示。
各个引脚功能如下:
Vcc:
主电源;
Vbat:
备份电源。
当Vbat>
Vcc+0.2V时,由Vcc2向DS1307供电,当Vbat<
Vcc时,由Vcc向DS1307供电;
GND:
逻辑地;
SCL:
总线时钟线;
SDA:
总线数据线;
SQW/OUT:
图3DS1307的引脚分配
图4DS1307的内部结构
2DS1307的内部寄存器
DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81h~8Dh,写时80h~8Ch),存放的数据格式为BCD码形式,如图5所示。
小时寄存器(85h、84h)的位7用于定义DS1302是运行于12小时模式还是24小时模式。
当为高时,选择12小时模式。
在12小时模式时,位5是
,当为1时,表示PM。
在24小时模式时,位5是第二个10小时位。
秒寄存器(81h、80h)的位7定义为时钟暂停标志(CH)。
当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;
当该位置为0时,时钟开始运行。
控制寄存器(8Fh、8Eh)的位7是写保护位(WP),其它7位均置为0。
在任何的对时钟和RAM的写操作之前,WP位必须为0。
当WP位为1时,写保护位防止对任一寄存器的写操作。
图5DS1307的时间寄存器
3DS1307硬件电路设计
DS1307采用与CPU进行通信,电路连接简单。
DS1307的内部振荡电路结构如图6所示,在芯片内部连接有两个电容,目的是为了使晶振起振,所以在电路设计中就不需要另外再加电容了,电路图如图7所示,其中晶振采用的是32.768kHz,经内部电路分频后可获得一个标准的秒脉冲信号;
电阻R_SCL、R_SDA是
图6DS1307的内部振荡电路
图7DS1307的电路连接
1.3温度传感器模块
系统采用DS18B20作为温度传感器。
它是美国DSLLAS公司推出的单总线数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易匹配处理器等优点。
处理器与DS18B20通信只需要一根数据线即可,同时该数据线还可以向挂接的DS18B20供电。
它可以直接将温度转化成串行数字信号处理,与模拟温度传感器相比,DS18B20省去了信号调理、A/D转换等前向通道处理电路,从而使得系统线路简单,成本低廉。
它的主要技术性能指标:
(1)电压范围:
+3.0~+5.5V(可用数据线供电)
(2)测温范围:
-55℃~+125℃
(3)通过编程可实现9~12位的数字读数方式,测温分辨率可达0.0625℃
(4)可自设定非易失性的报警上下限值。
电路连接如图8所示。
其中DQ为数据输入/输出端口,R_Up为数据线的上拉电阻,确保数据传输的可靠性。
图8温度传感器电路
1.4闹铃模块
系统采用蜂鸣器作为闹铃输出。
电路连接如图9所示。
电路中采用PNP管9012来控制蜂鸣器的开关,由图可以看出当Bell引脚为高电平时,PNP管截止,蜂鸣器不工作;
当Bell引脚为低电平时,PNP管导通,蜂鸣器工作。
其中R2为限流电阻。
图9闹铃电路
1.5键盘模块
键盘模块设置了两个按键:
KEY1,KEY2。
其中用KEY1长按来控制菜单的主模式,短按为使设定值上升;
用KEY2短按来使设定值减小。
电路连接如图2所示。
2个上拉电阻可以保证在没有按键输入时,进入单片机四个I/O口的按键状态均为高电平,防止干扰产生;
当有按键按下时,相应的口线被拉低。
软件上采用查询的方式,用定时器定时对按键状态进行扫描,确保系统的实时性。
1.6液晶显示模块
系统中采用LCD128*64作为显示器件输出信息。
与传统的LED数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶显示模块已经是单片机应用设计中最常用的显示器件了。
LCD128*64可以显示4行8个汉字,并行工作时具有8位数据总线D0-D7,和RS、R/W、E三个控制端口,串行工作时只有CS,SID,CLK三个通信口,本次设计就是采用串行通信,可以节省单片机IO口的使用,工作电压为5V,并且带有字符对比度调节和背光设置。
管脚功能简介:
引脚号引脚名称方向功能说明
1VSS模块的电源地
2VDD模块的电源正端
3V0LCD驱动电压输入端
4RS(CS)H/L并行的指令/数据选择信号;
串行的片选信号
5R/W(SID)H/L并行的读写选择信号;
串行的数据口
6E(CLK)H/L并行的使能信号;
串行的同步时钟
7DB0H/L数据0
8DB1H/L数据1
9DB2H/L数据2
10DB3H/L数据3
11DB4H/L数据4
12DB5H/L数据5
13DB6H/L数据6
14DB7H/L数据7
15PSBH/L并/串行接口选择:
H-并行;
L-串行
16NC空脚
17/RETH/L复位低电平有效
18NC空脚
19LED_A-背光源正极(LED+5V)
20LED_K-背光源负极(LED-OV)
电路连接如图10。
图10液晶显示电路
总的硬件电路如下图:
二、系统的软件设计
系统的软件设计可以分为几个部分,首先是各个模块的底层驱动程序编写,而后是系统联机调试,编写上层系统程序。
本系统软件程序主要包括:
液晶LCD128*64的底层驱动模块、时钟芯片DS1307的底层驱动模块、传感器DS18B20的底层驱动模块、键盘扫描模块,闹钟模块等。
系统的软件流程图如图11。
图11 系统软件流程图
(1)DS1307软件程序设计
DS1307是基于
总线接口的时钟芯片,软件上完全与
总线完全兼容。
a)
总线的驱动程序
总线在传送数据时,必须确认传送数据的开始和结束。
而且每传送一个字节,要发送一个应答位(0);
在一个周期发送结束后,要发送一个应答位
(1)。
具体如图12所示,三种信号的格式如下:
Ø
启动信号:
当时钟总线SCL为高电平时,数据线SDA由高电平跳变为低电平定义为“启动”信号。
停止信号:
当时钟总线SCL为高电平时,数据线SDA由低电平跳变为高电平定义为“结束”信号。
应答位:
当主器件发送完一字节的数据后,后面必须跟一个应答位(ACK)。
在时钟高电平期间,如果数据线SDA为低电平代表一个字节的传送结束,并准备下一个要传送的字节;
在时钟高电平期间,如果数据线SDA为低电平代表一个传送周期结束,准备下一个传送周期。
图12
总线的数据传送格式
b)DS1307的读写控制
DS1307的写控制
图13是DS1307的写控制格式,首先发送启动信号,然后发送的第一个字节是用来控制芯片的地址以及读写控制为(D0:
0–写),之后是应答位,然后发送其它字节数据,在最后发送一个结束标志的应答位,紧跟着是停止信号。
图13CPU写数据模式
DS1307的读控制
图14是DS1307的读控制格式,首先发送启动信号,然后发送的第一个字节是用来控制芯片的地址以及读写控制为(D0:
1–读),之后是应答位,然后发送其它字节数据,在最后发送一个结束标志的应答位,紧跟着是停止信号。
图14CPU读数据模式
(2)DS18B20是One-wire总线接口的芯片,软件上对时序的要求特别高。
根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:
每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。
DS18B20的指令如下:
(3)键盘处理模块,可以设定成边沿触发或者电平触发方式。
整个系统的软件设计均采用C语言开发,因此这些器件的底层程序均可以移植到其它系统中,这就是采用C语言开发的最大的优点。
各程序模块如下:
1.预定义
*******************************************************************************/
#include"
KEYS.h"
#include<
at89x51.h>
stdlib.h>
intrins.h>
#i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 多功能 时钟