×
单片机 > 单片机程序设计 > 详情

STC89c52+DS1302时钟,数码管显示时间日期,可调节

发布时间:2021-06-03 发布时间:
|

最近在做数字电子时钟,也总结出来一些资料,在这分享给大家,DS1302时钟芯片。电脑仿真所需要的芯片有AT89C52,74HC138 排阻(因为C52单片机P0的IO口没有上拉电阻),74HC245 ,如果需要做实物,还得根据数码管的型号选择合适的电阻,DS1302芯片,按钮


1,工作原理
我们先了解我们所用的东西,STC89C52是8051单片机,这里就不多介绍了,然后就是DS1302时钟芯片,

这个是DS1302时钟芯片

这个是工作原理,我们经常用的DS1302与单片机的连接使用

2.实验思路
理解DS1302时钟芯片与单片机之间的数据传送,用的单总线的方式,所以会有时序图,还有读写图


表三是地址,如果读取某个分钟或者小时,我们读数据是0x82,如果是写分钟则是0x83,但是我们没有这么简单,我们得先关掉读写保护,在进行操作,这样我们才可以读写。


3.实验仿真图


我们首先得知道74HC138和74HC245芯片怎么用的,在压缩包里附上这俩个的数据手册,可以参考着手册,在现实制作中,单片机的IO不能直接驱动数码管,因为数码管的电流比较大,而单片机的IO口没有那么大的驱动电流,所以可以用三极管或者驱动芯片和电阻来决定,电阻的阻值取决于数码管的额定电流和电阻,以为proteus里面没有这些,所以我这里就没有做的那么细致。按钮的使用是K3是暂停时间,K1是选择需要调整的时间,K2是加一的作用,再按一下K3就能恢复时间,使走动,唯一的缺点就是调时间的时候不能看得到。


4.实验源码
实验源码有点多,我把这个源码还有是数据手册,还有仿真图都放在了压缩包里,有需要的下载,软件用的KELI4 Proteus8.7 ,这俩个软件网上多的是,请自行下载,这里就不用了再赘述了。


5.实验扩展
因为我们是数码管显示是一个一个的显示,因为时间极短,所以效果是一起出来的,我们用到了定时器1来切换时间和日期,但是我们长期以来很耗电,所以我们可以设定休眠模式,就是用PCON=0x02;进入休眠,然后外部中断可以用,STC89C52有四个中断唤醒,我们可以用这四个外部中断来达到省电的效果,PCON=0x00;唤醒单片机,这只是个人的想法,并没有把这个想法融进去如果个人有想法,还可以进行改进,望大家喜欢。。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机CO2检测显示程序解析