设计任务:
1、设计任务:利用单片机、时钟芯片 DS1302、温度传感器 DS18B20、1602 液晶 等实现日期、时间、温度的显示即一个简单的万年历。
2、设计要求
(1)通过 DS1302 能够准确的计时,时间可调并在液晶上显示出来。
(2)通过 DS18B20 能够实时、准确的检测当前环境温度。
(3)利用单片机自身功能实现闹钟
总体方案论证与设计 总体方案论证与设计 本系统以 AT89S52 单片机为控制核心,通过与 DS1302 和 DS18B20 通信获取实时时间和实时环境温度,并将得到的数据通过 1602 液晶 显示出来,同时通过相应的按键调整相应的值。因此本设计可分为一 下模块:显示模块、实时时间计算模块、实时环境温度采集模块、报 警模块、设置模块(时间设置模块、最高温度设置模块、闹钟设置模 块)。下面对各个模块逐一进行论证分析:
1、 液晶显示模块
方案(1):数码管是利用发光二极管的特性组合而成数字显示器件,通过控制相应的二 极管的状态显示相应的数字。要使数码管正常显示就得有驱动电路驱动相应的段码,数码管 的现实方式可分为静态显示和动态显示,静态显示方式只适合显示单个的数字,因此本设计 应采用动态显示方式。由于动态显示方式利用的是人眼视觉暂留的特性,扫描的时间应不大 于 20 毫秒,占用系统资源大,而且显示的个数和字型有限,在本设计中不易采用。
方案(2):1602 液晶也叫 1602 字符型液晶 它是一种专门用来显示字母、数字、符号等 的点阵型液晶模块 它有若干个 5X7 或者 5X11 等点阵字符位组成,每个点阵字符位都可以 显示一个字符。每位之间有一个点距的间隔,每行之间也有也有间隔,起到了字符间距和行间距的作用。1602 的驱动电路带有 11 条指令,可以很方便的控制液晶的现实效果如:清屏、 左移右移、光标显示。而且 1602 显示的字符在下一条指令为到来之前不会改变,也就是能 够维持显示的字符,1602 液晶占用的系统资源也少。 综合比较上述两种方案,应采用 1602 液晶组成本设计的显示模块。
2、 实时时间计算模块
方案(1):AT89S52 单片机内部带有定时/计数功能,此定时功能是通过对外部晶振的脉 冲进行计数,从而达到计时功能,只要使用 11.0592 的晶振就能实现零误差的计时,因此可 以利用此功能实现计时,但因为只有单一的计时功能要实现“万年历”的功能需要较复杂的 程序,而且如果单片机掉电无法继续进行计时,所以使用不便。
方案(2):DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗的实时时钟芯片, 附加 31 字节静态 RAM,采用 SPI 三线接口与 CPU 进行通信,并可采用突发方式一次传送 多个字节的时钟信号和 RAM 数据。实时时钟可提供秒、分、时、日、星期、月和年,一个 月小与 31 天时可以自动调整,且具有闰年补偿功能。工作电压宽达 2.5~5.5V。采用双电源 供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充 电的能力。利用单片机强大的控制功能就可实现实时计时的功能,而且消耗的系统资源少, 程序简单。 综合上述两种方案,宜采用方案(2)实现实时计时功能。
资料包括:
程序运行图:
仿真图:
关键字:51单片机 多功能电子时钟 时钟芯片
引用地址:
基于51单片机的多功能电子时钟设计
推荐阅读最新更新时间:2024-11-17 17:52
AT89C51单片机为核心的数显超声波测距仪设计
超声波由于其指向性强、能量消耗缓慢、传播距离较远等优点,而经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。超声波测距主要应用于倒车雷达、建筑施工工地以及一些工业现场。例如:液位、井深、管道长度等场合。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在测控系统的研制上也得到了广泛的应用。本文介绍一种以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。 1 超声波测距原理 1.1 超声波发生器 超声波是一种频率超过20kHz的机械波。为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。
[单片机]
时钟芯片在电压监测仪校验装置中的应用
引言 电压监测统计仪是一种在线监测电网电压质量、统计每分钟瞬时电压、每分钟最大电压、每分钟最小电压以及平均电压、电压合格率、电压超上限率、电压超下限率等功能的仪表。从以上功能可得出,电压监测统计仪除了测量电压精度这一因素外,还有一重要因素就是时间的准确性。利用PCF8583串行时钟芯片成功的应用在电压监测仪校验装置中,既实现了电压的可程控信号输出,从而可测量电压监测统计仪的电压精度指标,又实现了一个标准时钟,从而可对电压监测统计仪的时间进行比对,实现校准。 1、PCF8583的基本功能特点 PCF8583是飞利浦公司推出的I2C总线接口实时时钟芯片,它可独立于CPU工作,不受CPU主晶振及共电容的影响,且计时
[测试测量]
51单片机玩转物联网基础篇05-控制继电器
前言 本节我们开始学习如何使用51单片机控制继电器,有了继电器,我们可以使用单片机输出的低电平控制高电平期间工作,比如继电器接到220V用电器上,可通过单片机智能控制用电器。 一、基础知识 1.继电器简介 继电器是具有隔离功能的自动开关元件,实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用,广泛应用于遥控、遥测、通讯、自动控制、机电一体化及电力电子设备中,是最重要的控制元件之一,继电器可以分为很多种,本实验使用光耦隔离继电器,实物图如下: 2.继电器控制原理 继电器原理图如下所示: 从上图可知,给继电器模块供电后,红色LED灯就会被点亮,当给IO引脚输入底电平后,单片
[单片机]
关于调试stm32和stm8(51单片机)的i2c和spi协议的之间的区别
在调试STM32的i2c和io口模拟spi协议时发现时序是很关键的。stm32在72M运行下可以实现i2c或者spi协议,但并不代表把相同的代码移植到51单片机上就会成功的跑起来,因为51单片机的速读最块8M,所以在时序上会产生很多大的区别。 经过测试,在stm32上的spi协议时钟线可达到20Khz,移植到51后,频率会降到 10hz。可是尽管把延时调小或者去掉还是无济于事,此时就要加几句把钟线置高置低的语句了 以便增大的速度,后来成功后,测试时钟线的确达到了10Khz左右。 先贴上部分代码 unsigned char ReadRawRC(unsigned char Address) { unsigned char
[单片机]
51单片机温控风扇制作 数码管显示 Proteus仿真程序
仿真原理图如下 制作出来的实物图如下: 单片机源程序如下: #include reg52.h //调用单片机头文件 #define uchar unsigned char //无符号字符型 宏定义 变量范围0~255 #define uint unsigned int //无符号整型 宏定义 变量范围0~65535 //数码管段选定义 0 1 2 3 4 5 6 7 8 9 uchar code smg_du ={0x28,0xee,0x42,0x72,0xe5,0xa8,0x41,0x77,0x20,0xa0,
[单片机]
23-基于51单片机土壤湿度检测及自动浇花系统(带时间显示)
具体实现功能 具体功能: (1)液晶第一行显示实际湿度,液晶第二行显示当前时间; (2)按键说明:减键、加键、设置键; (3)可以设置湿度上下限报警范围,具有掉电保存功能,上电无需重新设置; (4)当湿度低于下限值时,打开水泵(风扇开始转动)进行抽水且声光报警,当湿度高于上限值时,自动关闭水泵停止抽水。 单片机介绍 51单片是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O
[单片机]
51单片机-液晶1602
液晶是一种高分子材料,液晶显示器的主要原理是电流刺激液晶分子产生点,线,面并配合背面灯管构成画面。为叙述简单,把各种液晶显示器都直接叫做液晶。各种型号的液晶通常是按照显示字符的行数或液晶点阵的行列数来命名的。比如:1602的意思是每行显示16个字符,一共显示两行;类似的命名还有0801,0802,1601等,这类液晶通常都是字符型液晶,即只能显示ASCII码字符,如数字,大小写字母,各种符号等。12232液晶属于图形型液晶,他的意思是液晶有122列,32行组成。液晶的体积小,功耗低,显示操作简单,但是它有一个致命的弱点,其使用的温度范围很窄。 初始化设置: RAM地址映射图: 写操作时
[单片机]
8051单片机I/O引脚工作原理
一、P0端口的结构及工作原理 P0端口8位中的一位结构图见下图: 由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。再看图的右边,标号为P0.X引脚的图标,也就是说P0.X引脚可以是P0.0到P0.7的任何一位,即在P0口有8个与上图相同的电路组成。 下面,我们先就组成P0口的每个单元部份跟大家介绍一下: 先看输入缓冲器:在P0口中,有两个三态的缓冲器,在学数字电路时,我们已知道,三态门有三个状态,即在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),大家看上图,上面一个是读锁存器的缓冲器,也就是说,要读取D锁存器输出端Q的数据,那就得使读锁
[单片机]