datasheet

基于DS1307的多功能时钟系统设计方案

2018-01-27来源: 互联网 关键字:DS1307  LCD1602  DS18B20  AT89S52

AT89S52单片机为控制核心,通过实时时钟芯片DS1307和数字温度传感器DS18B20构成了一个多功能的数字时钟系统。详细介绍了整个系统的硬件组成结构、工作原理和系统的软件程序设计。系统采用液晶LCD1602作为显示器,具有实时时间与日历显示、环境温度显示、按键调时、闹铃定时等功能。软件程序采用均采用C语言编写,便于移植与升级。

0 引言

目前家用的数字电子钟,多数只能显示小时、分钟等信息,功能单一,而且大都采用LED数码管作为显示器件,功耗大,不能令消费者满意。为此,笔者开发了一款多功的数字式电子钟,它可以显示年、月、日、小时、分钟等时间信息,同时可以显示环境的温度信息。还具有按键调时、设定闹铃等功能。时钟采用LCD作为显示器,界面友好,功耗低。

1 系统的硬件构成

系统以AT89S52单片机作为核心控制器件,外围主要有实时时钟芯片DS1307、温度传感器DS18B20等,均为串行通信器件,使得系统线路简单可靠性高。系统结构框图1所示。

图1 系统结构框图

1.1 单片机主控模块


系统采用AT89S52单片机作为控制核心。AT89S52单片机与MCS_51系列单片机产品兼容,采用了Flash存储器结构,可以在线下载程序,易于日后的升级。它主要负责各个模块的初始化工作;设置定时器、寄存器的初值;读取并处理时间、温度等信息;处理按键响应;控制液晶实时显示等。

硬件电路连接如图2所示。系统采用12M晶振;P0_Up为P0口上拉电阻,P0口为单片机与液晶显示器通信的数据端口;C_reset和R_reset组成系统上电复位电路;P1.0~P1.2为液晶显示器的控制信号端口;P1.3和P1.4为单片机与时钟芯片DS1307通信的端口; P1.5为闹铃的控制端口;P1.6为单片机与温度传感器DS18B20的通信端口;P2.4~P2.7为按键模块的接口。

1.2 实时时钟日历模块


系统采用DS1307实时时钟芯片。它是一款 总线接口的时钟日历芯片,片内含有8个特殊功能寄存器和56bit的SRAM,是一种低功耗的实时时钟芯片。

它的主要技术性能指标:具有秒、分、时、日、星期、月、年的计数功能,并且具有12小时制和24小时制的计数模式,可自动调整每月的天数,具有闰年调整的功能,具有自动掉电保护和上电复位的功能。同时它独立于CPU工作,不受CPU主晶振及其电容的影响,而且计时准确,月累计误差小于10秒。

电路连接如图3。CRY2为32.768kHz的晶振,为时钟芯片提供计时脉冲;Vbat为DS1307的备用电源,以便在没有主电源的情况下能够保存时间信息和一些重要的数据;两个电阻为 总线的上拉电阻。

1.3 温度传感器模块


系统采用DS18B20作为温度传感器。它是美国DSLLAS公司推出的单总线数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易匹配处理器等优点。处理器与DS18B20通信只需要一根数据线即可,同时该数据线还可以向挂接的DS18B20供电。它可以直接将温度转化成串行数字信号处理,与模拟温度传感器相比,DS18B20省去了信号调理、A/D转换等前向通道处理电路,从而使得系统线路简单,成本低廉。

它的主要技术性能指标:

(1) 电压范围:+3.0~+5.5V(可用数据线供电)

(2) 测温范围:-55℃~+125℃

(3) 通过编程可实现9~12位的数字读数方式,测温分辨率可达0.0625℃

(4) 可自设定非易失性的报警上下限值。

电路连接如图4所示。其中DQ为数据输入/输出端口,R_Up 为数据线的上拉电阻,确保数据传输的可靠性。

1.4 闹铃模块

系统采用蜂鸣器作为闹铃输出。

电路连接如图5所示。电路中采用PNP管9012来控制蜂鸣器的开关,由图可以看出当Bell引脚为高电平时,PNP管截止,蜂鸣器不工作;当Bell引脚为低电平时,PNP管导通,蜂鸣器工作。其中R_Bell为限流电阻。

1.5 键盘模块


键盘模块设置了四个按键:Menu_A、Menu_B、Up、Reset。其中用Menu_A来控制菜单的主模式;用Menu_B来控制菜单的副模式;Up键用来修改时间信息;Reset键返回。

电路连接如图6所示。四个上拉电阻可以保证在没有按键输入时,进入单片机四个I/O口的按键状态均为高电平,防止干扰产生;当有按键按下时,相应的口线被拉低。软件上采用查询的方式,用定时器定时对按键状态进行扫描,确保系统的实时性。

1.6 液晶显示模块


系统中采用LCD1602作为显示器件输出信息。与传统的LED数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶显示模块已经是单片机应用设计中最常用的显示器件了。LCD1602可以显示2行16个字符,具有8位数据总线D0-D7,和RS、R/W、E三个控制端口,工作电压为5V,并且带有字符对比度调节和背光设置。

管脚功能简介:

VL:LCD对比度调节端,电压调节范围为0-5V。接正电源时对比度最弱,接地电源时对比度最高,可以用一个5K的电位器来调整对比度;

RS:数据或者指令选择端。处理器写入指令时,RS为低电平,写入数据时,RS为高电平

R/W:读写控制端。R/W为高电平时,读取数据;R/W为低电平时,写入数据

E:LCD模块使能信号控制端。写数据时,需要下降沿触发模块

D0-D7:8位数据总线,三态双向

BLA: LED背光正极。需要背光时,BLA串接一个限流电阻接VCC

BLK: LED背光负极

2 系统的软件设计

系统的软件设计可以分为几个部分,首先是各个模块的底层驱动程序编写,而后是系统联机调试,编写上层系统程序。建议在编写和调试一个大的项目软件程序时,先编写各个子模块的驱动程序,保证每个模块都可以正常工作,做好备份工作,之后再来编写整机程序。本系统软件程序主要包括:液晶LCD1602的底层驱动模块、时钟芯片DS1307的底层驱动模块、传感器DS18B20的底层驱动模块、定时器0定时检查系统变量模块、定时器1按键扫描模块等。鉴于篇幅,这里不作一一介绍了。系统的软件流程图如图8。

几点说明:

1 DS1307 是基于 总线接口的时钟芯片,软件上完全与 总线完全兼容。

2 DS18B20 是One-wire总线接口的芯片,软件上对时序的要求特别高。

3 键盘处理模块,可以设定成边沿触发或者电平触发方式。

整个系统的软件设计均采用C语言开发,因此这些器件的底层程序均可以移植到其它系统中,这就是采用C语言开发的最大的优点。

3 总结

系统经组装、调试后,可以稳定运行,目前正在笔者寝室作为时钟日历。采用串行器件具有线路简单、体积小、价格低等优点。同时该系统稍加改造,就可以作为工业实时采集中的一个模块。系统软件设计均采用C语言编写,具有模块化的思想,可以方便的移植到其它的系统中。采用AT89S52单片机,方便系统升级。

关键字:DS1307  LCD1602  DS18B20  AT89S52

编辑:王磊 引用地址:http://www.eeworld.com.cn/mndz/article_2018012726925.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于DS1307的简易时钟显示程序分享
下一篇:反激开关MOSFET源极流出的电流精细剖析

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

高手分享一些对单片机的经验理解

单片机(51单片机):德州仪器提供了TMS370和MSP430两大系列通用单片机.TMS370系列单片机是8位CMOS单片机,具有多种存储模式、多种外围接口模式,适用于复杂的实时控制场合;MSP430系列单片机是一种超低功耗、功能集成度较高的16位低功耗单片机,特别适用于要求功耗低的场合松翰单片机(SONIX):是台湾松翰公司的单片,大多为8位机,有一部分与PIC 8位单片机兼容,价格便宜,系统时钟分频可选项较多,有PMW ADC 内振 内部杂讯滤波。缺点RAM空间过小,抗干扰较好。三星单片机三星单片机有KS51和KS57系列4位单片机,KS86和KS88系列8位单片机,KS17系列16位单片机和KS32系列32位单片机,三星
发表于 2018-10-10

单片机万年历DS1302时钟芯片的应用

基于DS1302时钟芯片的万年历的制作包含温度传感器,温度显示按键操作,红外遥控万年历时间断电记录12864液晶显示屏显示万年历等-------------------------------------------------五年专业设计经验,嵌入式linux,arm,stm32,fpga,电路PCB板,网络,GPS差分定位,等等解决方案,代码设计,联-系-方-式-微-信 : 253376326--------------------------------------------------通过protues仿真和keil仿真protues截图:keil代码截图:工程文件打包下载:链接:https
发表于 2018-10-06
单片机万年历DS1302时钟芯片的应用

STM8L 温度传感器DS18B20

#define DS18B20_GPIO_PORT  (GPIOC)#define DS18B20_GPIO_PIN   (GPIO_Pin_2)#define DS18B20_PIN_SET_OUT()   GPIO_Init(DS18B20_GPIO_PORT, (GPIO_Pin_TypeDef)DS18B20_GPIO_PIN, GPIO_Mode_Out_PP_High_Fast)#define DS18B20_PIN_SET_IN()    GPIO_Init(DS18B20_GPIO_PORT, (GPIO_Pin_TypeDef)DS18B20
发表于 2018-08-26

STC89C52MCU -- DS18B20温度传感器

DS18B20温度传感器采用“单总线”串行传输方式目前单片机数据传输的串行总线主要由Inter IC Bus, SPI和SCI。其中IIC总线以同步串行二线方式进行通信(一条数据线、一条时钟线),SPI总线则是以同步串行三线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线),而SCI总线是以异步方式进行通信(一条输入线,一条输出线)。DS18B20采用单条信号线,既可以传输时钟又可以传输数据,而且数据是双向传输,因而这种总线技术具有线路简单,硬件开销少、陈本低廉,便于总线扩展等优点。单总线适用于单主机系统,能够控制一个或者多个从机设备。设备(主机或者从机)通过一个漏极开路或三态端口连接至数据线,以允许设备在不发送数据时能够
发表于 2018-08-26

基于ARM-LINUX的温度传感器驱动(DS18B20)

DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。技术性能描述1. 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。        
发表于 2018-08-26
基于ARM-LINUX的温度传感器驱动(DS18B20)

基于51单片机及DS18B20温度传感器数码管显示程序

[8];//存储显示的度数bit Readtime;//读取时间的标志//定义延时函数delayus,delaymsvoid delayus(unsigned char t){while(--t);}void delayms(unsigned char t){while(t--){delayus(245);delayus(245);}}//18b20初始化bit ds18b20(){bit test=0;DQ=1;//复位DQdelayus(5);//稍作延时DQ=0;//将DQ拉低delayus(200);//精确延时 >480us <960usdelayus(200);DQ=1;//将DQ拉高delayus(50);//延时15
发表于 2018-08-26

小广播

TI 模拟器件推荐
  • 1
  • 2
  • 3
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved