历史上的今天
返回首页

历史上的今天

今天是:2025年01月27日(星期一)

正在发生

2018年01月27日 | 基于DS1307的多功能时钟系统设计方案

2018-01-27 来源:互联网

以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单片机,方便系统升级。

推荐阅读

史海拾趣

APEM公司的发展小趣事

随着公司规模的扩大,APEM开始实施国际化发展战略。1975年,APEM在欧洲创建了首家附属公司,随后又在英国、突尼斯、比利时、荷兰和卢森堡等地成立分公司。这些举措不仅扩大了APEM的市场份额,也提升了其在国际市场的知名度。

CUI Inc.公司的发展小趣事

随着集成电路技术的快速发展,对先进IC供电的需求日益增长。为了应对这一挑战,CUI Inc.推出了90A数字负载点模块系列。这些模块采用先进的封装技术和设计,具有高电流输出和优异的性能表现。它们的推出不仅满足了客户对高效、可靠供电的需求,还进一步提升了CUI在电源领域的竞争力。

Ecera Comtek Corp公司的发展小趣事

面对日新月异的电子科技行业,Ecera Comtek Corp公司深知只有持续创新才能保持领先地位。因此,公司不断加大对新技术、新产品的研发投入,积极探索新的商业模式和市场机会。同时,Ecera Comtek Corp公司还积极引进外部创新资源,与高校、科研机构等建立紧密的合作关系,共同推动电子科技行业的发展。在Ecera Comtek Corp公司的引领下,电子科技行业正朝着更加智能、高效、环保的方向发展。

请注意,以上故事均基于虚构情节,旨在模拟Ecera Comtek Corp公司可能的发展经历。如有雷同,纯属巧合。

CDI-DIODE公司的发展小趣事

在电子行业的早期,CDI-DIODE公司以其精湛的技术研发能力崭露头角。公司通过不断投入研发,成功开发出一款高效能、低成本的二极管产品,迅速占领了市场份额。这一技术突破不仅提升了公司的竞争力,也为整个电子行业带来了革命性的变化。

FOTEK公司的发展小趣事

进入21世纪,福禄克通过一系列精明的并购活动,实现了业务的快速扩张。2000年,公司成功收购了Wavetek Wandell Goltermann的精密测量部门,这次并购不仅增强了福禄克在电气校准市场的竞争力,还为其带来了丰富的技术专利和客户资源。此后,福禄克继续通过并购方式,进入新的技术领域和市场领域,不断拓宽其业务范围。

Daniels Manufacturing公司的发展小趣事

进入21世纪后,随着信息技术的快速发展,数字化转型成为制造业的重要趋势。DMC紧跟时代步伐,积极推进数字化转型和智能制造。通过引入先进的生产管理系统、自动化生产线和智能检测设备,DMC实现了生产过程的数字化、网络化和智能化。这不仅提高了生产效率和产品质量,还降低了生产成本和能源消耗。此外,DMC还利用大数据和人工智能技术,对市场需求进行精准预测和分析,为产品研发和市场营销提供有力支持。

问答坊 | AI 解惑

我军建国以来到21世纪初的军用电台

我军建国以来到21世纪初的军用电台 50年代,71型报话机 第一代我国生产的无线电台 “英雄儿女”中王成高喊:“向我开炮”用的就是71型报话机。 50年代,我国建国后第一批自行研制生产的短波电台,广泛用于抗美援朝战场 由于当时的报废销毁执行 ...…

查看全部问答>

ARM板子上的网口RTL8019?急

各位大侠 小弟项目中用到ARM(s3c44b0)的网口扩展功能,在主程序中是通过中断形式应用的,最要命的是我不怎么懂那些协议,什么ARP,TCp,我所要建立的连接应该是可靠性连接,但是我看别人的程序,大概是要根据各个包的形式,做一些判断,然后建立 ...…

查看全部问答>

如何使用c8051f020设计数据采集电路

小弟单片机新手,刚买个c8051f020评估板,想用它做一个数据采集系统,想同时采集三路电压信号。电压大小3-9V吧,想知道该如何设计这个采集系统,外围电路都应该有什么。。。。请各位大侠给点指点,或者能给个实例啥的让小弟研究一下;P…

查看全部问答>

网络开发笔记_开发平台

1、BSD TCP/IP协议栈        BSD栈历史上是其他商业栈的起点,大多数专业TCP/IP栈(VxWorks内嵌的TCP/IP 栈)是BSD栈派生的。这是 因为BSD栈在BSD许可协议下提供了这些专业栈的雏形,BSD许用证允许BSD栈以修改或未 ...…

查看全部问答>

LM3S8962学习笔记1——快速了解LM3S8962微处理器

快速了解LM3S8962微处理器 自从脱离了汇编时代,人们学习微控器的方法就发生了重大的改变,以前必须了解微控器内部每个寄存器的地址控制方式和指令等,必须深入挖掘控制器内部的角角落落才能算是了解掌握。 但是C的出现,让我们不必去弄清繁杂的 ...…

查看全部问答>

用PLL产生反向时钟有问题

在Altera的FPGA里用了一个PLL,希望产生一个相位差为180度的时钟,就是和原来的时钟反向,但发现出来的时钟和原时钟相位不是我期望的180度。那位知道该怎么办呢 ?…

查看全部问答>

有关库问题

                                 本人以前用PIC或51芯片的C语言做程序,都是一般自己写。但现在刚接触到ST的资料,见很多人都是用库来做写程序。由 ...…

查看全部问答>

stm8S原理图

请问这个几号与几号口连一起??…

查看全部问答>

单片机程序设计

单片机(MCU)软件和硬件解决方案。电路板开发设计 ,电路板改板,PCB软/硬件开发设计,PCB改板 主要为客户提供单片机(MCU)软件和硬件解决方案。电路板开发设计 ,电路板改板,PCB软/硬件开发设计,PCB改板,   主营业务:提供单片机(MCU) ...…

查看全部问答>

FRAM

    上次参加过TI和艾睿的MCU day后才知道带FRAM的MSP430,以前一直用的是MSP430f149,根本不知道FRAM。查了资料后发现FRAM的性能比Flash好多了,不仅写入速度快,而且擦写次数寿命也比Flash高得多。不仅如此,FRAM的功耗相当低,和 ...…

查看全部问答>