22-基于51单片机的数字时钟(万年历)

最新更新时间:1970-01-01来源: eefocus关键字:51单片机  数字时钟  万年历 手机看文章 扫描二维码
随时随地手机看文章

具体实现功能

系统由STC89C52单片机+DS1302时钟芯片+按键模块+LCD1602显示+电源构成。


具体功能:


1、可以显示年、月、日、时、分、秒、星期、农历;


2、按键可以设置闹钟及报警;


3、按键可以调整时间,显示是平年还是闰年。


共4个按键:设置、加、减、切换。

设计背景

在现实我们生活中每个人都可能有自己的时钟,光阴在永不停息的流逝,有了时钟人们就能随着时间有计划的过着每一天。然而现在绝大部分的时钟有的需要不断地更换电池,有些时钟需要外接电源,如果一旦电池没电或者外接电源无法供电,时钟就会停止计时了。而美国DALLAS 公司的新型时钟日历芯片DS1302就能解决这一问题。该器件能提供实时时钟(RTC)/日历、定时闹钟。少于31天的月份,月末日期可自动调整,其中包括闰年补偿。该器件还可以工作于24小时货代/PM指示的12小时格式。


本时钟还具有环保、走时无噪音、低功耗等非实时时钟不具有的功能。该实时时钟不但可以作为家用,而且更可以在公共场合使用,如车站、码头、商场等场所。


硬件设计

用AT89C52作为主控单片机,时钟模块选用DS1302作为时钟芯片,显示模块选用LCD1602,设置部分选用按键电路。


AT89C52与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、1000次擦写周期、 全静态操作:0Hz~33Hz 、 三级加密程序存储器、32个可编程I/O口线 、三个16位定时器/计数器 八个中断源、全双工UART串行通道、低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针、掉电标识符 。


DS1302 实时时钟芯片功能丰富,可以用来直接代替IBM PC 上的时钟日历芯片DS12887,同时,它的管脚也和MC146818B、DS12887 相兼容。由于DS1302 能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决子“千年”问题;DS1302 自带有锂电池,外部掉电时,其内部时间信息还能够保持10 年之久;对于一天内的时间记录,有12 小时制和24 小时制两种模式。用户还可对DS1302 进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽。


软件设计

程序流程:主程序开始初始化,并打开中断,然后执行扫描闹钟、键盘及读取18B20值。当有S1键按下时,执行时钟设置,当有S4键按下时,则进入闹钟设置,无论是时钟还是闹钟,设置完后退出,时钟恢复实时显示。


原理图

本系统原理图设计采用Altium Designer19,具体如图。

程序

本设计利用KEIL5软件实现程序设计,具体如图。


仿真实现

本设计利用protues8.7软件实现仿真设计,具体如图。

关键字:51单片机  数字时钟  万年历 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic548324.html

上一篇:23-基于51单片机的智能电子秤设计
下一篇:21-基于51单片机的5乘4计算器设计

推荐阅读

关于两块51单片机之间的串口通信(排队叫号系统)
一、项目要求叫号:按下按键叫号,数码管显示叫号的号数,蜂鸣器响。取号:按下按键取号,两个数码管分别显示取到的号数和等待的人数。(PS:推荐使用串口调试助手进行调试)二、可能使用到的工具1.串口调试助手(百度网盘自行下载)链接:https://pan.baidu.com/s/1XmCBUDD7kF8a5393fh_bBg提取码:znv3三、串口通信原理1.由51单片机引脚图可看出,P3.1(TXD)和P3.0(RXD)为串行通信口,P3.0为串行接收口,P3.1为串行发送口。要使两块单片机板可以进行串口通信,则将两块板之间的RXD/TXD交叉连接。四、设计流程图五、硬件设计六、界面实现七、代码主机:#include "
发表于 2021-11-25
关于两块<font color='red'>51单片机</font>之间的串口通信(排队叫号系统)
51单片机UART 串口通信[ 方式1 ]实现
1  51串行口结构51单片机的UART串行通信是基于其串行口的可编程硬件结构,只要用正确的程序代码通过初始化串行口对应寄存器的形式将其串行硬件结构初始化,再编写符合此串行口通信的程序代码便能够实现串行通信,其硬件结构决定了编程机制( 当然还要靠51芯片内CPU等机制 )。此结构具有UART( 通用异步收发器 )的全部功能,能同时进行数据的发送和接收,也可作为同步移位寄存器使用。此结构集成于单片机内部。Figure1:51串行口结构2  51串行口通信编程机制决定编程机制的先决条件是51单片机的硬件结构及51芯片内部CPU的执行机制。根据串行通信口硬件结构,实现UART通信可以分为两步:(1)初始化串行通信
发表于 2021-11-25
<font color='red'>51单片机</font>UART 串口通信[ 方式1 ]实现
51单片机内部定时器使用
/*------------------------------Function: generate pulse signalAuthor: Zhang KaizhouDate: 2019-5-15 22:50:43------------------------------*/#include <reg51.h>#define uchar unsigned charsbit output = P1^0;uchar period = 250;uchar high = 50;uchar tcount = 0;void timer0() interrupt 1 using 1{ TH0 = (65536 - 10000) /
发表于 2021-11-25
51单片机内部定时器的使用
/*------------------------------------------功能:使用51单片机内部定时器0,从P1^0口输出周期位2ms的方波Author: Zhang KaizhouDate: 2019-5-14 22:44:19------------------------------------------*/#include <reg52.h>sbit state = P1^0;void main(){ TMOD = 0x01; // 设置定时器工作方式寄存器,使用定时器0,非门控方式启动,工作于方式1(16位定时器) TR0 = 1; // 启动定时器0 while(1) { TH0
发表于 2021-11-25
uart接口_基于51单片机的UART串口通信
51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信
发表于 2021-11-22
uart接口_基于<font color='red'>51单片机</font>的UART串口通信
51单片机累计中断次数使LED灯闪烁
一、使用proteus绘制简单的电路图,用于后续仿真二、编写程序/********************************************************************************************************************---- @Project: LED---- @File: main.c---- @Edit: ZHQ---- @Version: V1.0---- @CreationTime: 20200505---- @ModifiedTime: 20200505---- @Description: 累计中断次数使LED灯闪烁---- 单片机:AT89
发表于 2021-11-22
<font color='red'>51单片机</font>累计中断次数使LED灯闪烁

推荐帖子

谁给推荐一本wince5.0 bsp开发的书,现在觉得有本书比问人要方便一些;即使很简单的问题问人总也帮不上太多的忙
我现在入门学习wince, 但在怎么编译wincebsp这里遇到了问题. 发了几个帖,也许大家觉得太简单,没有人给个有意义的答案! 那高人们就给推荐一本书吧! 谢谢啊!谁给推荐一本wince5.0bsp开发的书,现在觉得有本书比问人要方便一些;即使很简单的问题问人总也帮不上太多的忙
531496955 WindowsCE
C6678多核DSP开发——vlib应用之连通域标记
对于边缘检测是特征识别的准备工作,其实典型的图像处理过程在边缘检测之前要进行连通域标记,得出图像上的某副图形,然后检测其边缘,得到边缘轮廓点集,然后根据模板进行匹配识别。连通域标记其实已经可以得到图片上所有图形区域的坐标参数,而这也正是我所需要的信息。然而imglib里并没有连通域标记这样的函数库,在网上寻找良久,我在另一个超级强大的vlib库中发现了连通域标记函数。 1、图像处理之连通域标记 首先,连
fish001 DSP 与 ARM 处理器
TINA在分析交流传输特性时,10Hz以下无法显示
不知道大伙有没有遇到这样的问题,TINA在分析交流传输特性时,10Hz以下无法显示,哪位遇到过的给小弟解释解释!!!跪谢!!!TINA在分析交流传输特性时,10Hz以下无法显示
milan91 模拟电子
基于WEBNECH的升压电源设计3——优化部分
发《基于WEBNECH的升压电源设计2——调试部分》的时是7月31号了,今天都8月31号了。不得不感叹时间好快啊,同时也发现自己要走的路好长啊! 其实这件事本来早就可以做完了,只是前面一直被这样那样的事拽着。直到昨天,打算把这件事解决了,于是在X宝上买了些需要改进的器件。今天收到了,下午开始开工的。下面我就把今天的所见,所闻,所得分享给大家把。 上个帖子的设计中,主要存在两个问题:
cat3902982 模拟与混合信号
深入浅出谈高速串行信号测试(二)
继 “深入浅出谈高速串行信号测试(一)”获得大家鼓励后,也有网友以及来自客户拜访中对于抖动的提问,使我萌发了写下篇的念头。在这篇博文中我们深入讨论一 下高速信号中最主要的方面——抖动。在上一篇中我们知道现在数字电路发展的趋势是并行向串行发展,而串行速率也在不断的提高,下图是流行的串行总线发展趋 势图: 图:高速串行总线发展趋势 抖动的定义:“信号的某特定时刻从其理想时间位置上的短期偏离为抖动”。 参考:BellCommunications
越测越开心 测试/测量
輸入了官方源碼,但LCD無法使用
我使用的板子是EXP430F5438,其晶片是F5438A 我輸入了MSP-EXP430F5438UserExperience這個PROJECT 想使其LCD運\作,但一直無法成功,只是一直閃爍而已 不知是什麼原因,請大家幫忙一下,謝謝輸入了官方源碼,但LCD無法使用
blessedlife15 微控制器 MCU
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved