怎么设计一种基于51单片机的多功能电子时钟?

控制/MCU

1814人已加入

描述

设计任务:

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)实现实时计时功能。

发光二极管

发光二极管

发光二极管

发光二极管

发光二极管

发光二极管

发光二极管

发光二极管

发光二极管

发光二极管

发光二极管

发光二极管

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分