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

发布者:cloudy德德最新更新时间:2021-10-18 来源: 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单片机  数字时钟  万年历 引用地址:22-基于51单片机的数字时钟(万年历)

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

推荐阅读最新更新时间:2024-11-08 10:19

51单片机定时器做的可调数字时钟设计
一、选题意义 从古至今,人类以各式各样的方法来记录时间,上至水滴计时、日冕观测,下至摆钟,机械表。人类无时无刻都在关注着时间,以调节自身日常生活的安排与进展。 1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活补课缺少的工具。现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调
[单片机]
<font color='red'>51单片机</font>定时器做的可调<font color='red'>数字时钟</font>设计
51单片机解密红外遥控器
在这里我仅把一些关键的带出来 关于硬件电路 那么抛开那么多文字介绍 最后意思就是说 你家里的遥控板 也就是发射部分 是把所有的封装好了的 比如键盘矩阵、编码调制、LED红外发送器 等等 那么接受部分 SM0038 3个脚 一个脚地 一个脚电源 一个脚信号脚 接到 单片机随便个P口上(此处是P3。6) OK 硬件部分就搞定了当然还有数码管显示 ,这些肯定不用说你都能搞定吧,这些东东都有,所以就不用自己去搭电路那么麻烦了),那么 我们想 我们按一下遥控板 大家看到 有个灯闪了一下 然后OVER 那么 我们现在要做的就是在灯闪了那一下之后让 单片机来读它的键码 然后不同的键码来干不同的事 ,本文 是向大家解释一种方法 当然如果你知道
[单片机]
<font color='red'>51单片机</font>解密红外遥控器
51单片机实验——跑马灯实验
1.题目要求: 编写跑马灯程序,用P0演示跑马灯的效果,效果自定。 2.KEIL代码 #include reg52.h #include intrins.h typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigned char u8; void Delay100ms() //100ms { unsigned char i, j, k; _nop_();_nop_(); i = 5;j = 52;k = 195; do{do{while (--k);} while (--j);} while (--i); } void main(
[单片机]
<font color='red'>51单片机</font>实验——跑马灯实验
51单片机 定时器T0方式1 控制流水灯
定时器这家伙在哪里都会用到,实际工程开发中没有能离开定时器的。所以掌握定时器就尤为重要了,这里主要提到的是最基本的使用了--用于定时。 LED原理图见《 51单片机--流水灯演示 》,定时器没有原理图,属于单片机内部资源。 代码如下: #include //头文件 #include #define uint unsigned int //宏定义 uint jishuNumber,aa; //定义jishuNumber为计数器计满次数(本程序20次为1S) aa代表流水号 void main(
[单片机]
80C51单片机-LED流水灯效果
本文将介绍一个基于8051单片机的跑马灯实验,通过编写代码实现LED流水灯效果。这个实验将使用8051单片机的P2口来控制8个LED灯,实现流水灯效果。 实验准备 8051单片机 8个LED灯 8PIN排线 JP11(P2)和J12(LED灯)连接 将JP11(P2)和J12(LED灯)使用8PIN排线连接起来。 代码解析 #include reg52.h // 包含8051单片机的寄存器定义头文件 void delay(unsigned int i); // 声明延时函数 char LED; // 定义一个字符变量LED,用于存储LED灯的状态 void main() { unsigned char i; // 定义一个
[单片机]
51单片机按键控制输出pwm的占空比
之前说到利用51单片机输出pwm,但是输出的pwm是固定占空比的,如果想要改变占空比,还得回过头来修改程序并重新烧写进单片机。这样做的话不但麻烦、效率低,还又把芯片的可烧写次数减少了一次,虽然51的芯片现在很便宜,但能省点就省点,能不浪费就不浪费,哈哈,开玩笑啦!最主要的还是为了灵活性,为此特地通过加入按键的功能来实现动态修改输出的pwm的占空比。这样在用pwm控制电机的时候就能使用按键来控制电机转速了。废话不多说,见下: #include reg51.h #define uint unsigned int #define uchar unsigned char uchar
[单片机]
AT89C2051单片机结合温度补偿的超声波测距系统设计
0 引言 超声波是一种在弹性介质中的机械震荡,它是由与介质相接触的震荡源所引起的,其频率在20kHz以上。由于超声波的速度相对于光速要小得多,其传播时间就比较容易检测,并且易于定向发射,方向性好,强度好控制,因而利用超声波测距在很多距离探测应用中有很重要的用途,包括无损检测、过程测量、机器人测量和定位,以及流体液面高度测量等。利用单片机控制超声波检测往往比较迅速、方便、计算简单、易于实现,并且测量精度高。 1 系统设计 超声波测距的最远距离和分辨能力,不仅需要良好的换能器,也需要合理的驱动电路及回波探测电路。对发射而言,为了使电能到机械能的转换效益最大,换能器必须工作在它的共振频率处。对接收电路而言,为了使机械能到电能的转换效率最
[单片机]
AT89C20<font color='red'>51单片机</font>结合温度补偿的超声波测距系统设计
51单片机总线时序
一、总线概述 计算机系统是以微处理器为核心的,各器件要与微处理器相连,且必须协调工作,所以在微处理机中引入了总线的概念,各器件共同享用总线,任何时候只能有一个器件发送数据(可以有多个器件同时接收数据) 。 计算机的总线分为控制总线、地址总线和数据总线等三种。而数据总线用于传送数据,控制总线用于传送控制信号, 地址总线则用于选择存储单元或外设。 二、单片机的三总线结构 51系列单片机具有完善的总线接口时序,可以扩展控制对象,其直接寻址能力达到64k( 2的16次方) 。在总线模式下,不同的对象共享总线,独立编址、分时复用总线,CPU 通过地址选择访问的对象,完成与各对象之间的信息传递。 单片机三总线扩展示意如图1 所示。
[单片机]
<font color='red'>51单片机</font>总线时序

推荐帖子

请教各位大侠,有没有免费的能在PDA上实现局域网点点通话的软件,谢谢!
请教各位大侠,有没有免费的能在PDA上实现局域网点点通话的软件,谢谢!PDA操作系统为Mobile6.0局域网内通话,不需要连接外网,Skepe软件必须连接外网才能通话,比较郁闷~请教各位大侠,有没有免费的能在PDA上实现局域网点点通话的软件,谢谢!没听说过这样的软件,因为需求比较独特。不过我想你可以从飞鸽传书来移植吧,毕竟它是公开源代码的。lz希望的“通话”是要求语音吧?只要支持语音录音的Mobile手机,都可以做。不过没有见过这类特殊需求的软件,看来需要自己做。发送端:mi
KENLAA 嵌入式系统
我想问你一下有没有人能解AVR8单片机的程序密码
我想问你一下有没有人能解AVR8单片机的程序密码?我想问你一下有没有人能解AVR8单片机的程序密码楼主是要解密芯片?一般价格在几千元左右。————————————————————————————————————————————————菜鸟来顶贴学习。LZ可以告诉我你是怎么读到mega8芯片里面的程序的吗?程序密码?有必要吗?代价是很贵的引用1楼joyzml的回复:楼主是要解密芯片?一般价格在几千元左右。———————— AVRMega8解密价格只要600。。现在
yangyun 嵌入式系统
关于时序图
这个时序图里有两个符号看不懂一个是两个竖着的短曲线,还有一个是那个长长的曲线,请问他们分别代表什么意思关于时序图我的理解是:两个竖着的短曲线相当于一个省略符号;长长的曲线表示controlsignal有效后N个周addressbus有效。谢谢回复沙发IC90的帖子抢沙发,学习
超自然 FPGA/CPLD
【nRF52840 DK测评】+52840的NFC(二)
把nRF5_SDK_15.2.0_9412b96\examples\nfc\record_text文件夹的工程烧录到52840中,通过nxp的pn532读取:nfc块的数据如红线所示:为HelloWorld! staticret_code_twelcome_msg_encode(uint8_t*p_buffer,uint32_t*p_len) { /**@snippet*/ ret_code_terr_code; /*Create
lehuijie RF/无线
【ST电机评测】任务四 -- MCSDK 版本v4与v5之不同
MCSDKv5和v4的不同这个原本有些难度,毕竟需要即有版本4的使用经验,也要有版本5的使用经验,才有可能了解其不同,或者说改进。而且,只有深入地使用才能深入地知道其不同。开始的第一步,从ReleaseNotes中了解了部分信息,但这个信息有些了,还是不够。然后在从其他的地方继续学习比较。下面是看到的不同或者改进的地方。1.操作流上的简化版本4生产程序代码,需要2步:第一步先生成STM32CubeMX的工程,然后第二部使用
stp111 stm32/stm8
在淘宝买了几个很小巧的数码管,测试了一下很有意思
3位7段数字,带一个小数点和四个图标6个引脚,分为两排,针距2.54,排距8.55,外径13mm,厚度4mm,很小巧一开始以为是内置了芯片的模块,但是6个引脚又有点多,就买回来实际测试了一下发现是纯粹的io驱动,这样一来成本就很漂亮了网上搜到的图纸和规格,基本和我手头的样品一致,买到的样品找到的图纸资料实物接线图,原本esp32打算用相连的六个引脚,实际测试2脚和5脚分别有上下拉,程序驱动前,会有微量的笔段,所以换成了0led1----esp32-0
wangshujun72 MicroPython开源版块
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved