qzgx.net
当前位置:首页 >> Ds1302时钟不运行 >>

Ds1302时钟不运行

如果秒钟不走(但上电的时候是走的,只是在断电的情况下出现)有几种可能:1.程序初始化的时候把秒给清零了(是指上电时把秒寄存器清零了)2.得排除芯片的问题3.确认在断电情况下32.768K晶振是起振的(如果停振了,时间会停,会出现秒不走),你图中32.867没加匹配电容,实际是要加电容的(加电容是为了使频率更接近32.768K,使时间更准)

如果硬件没有问题,芯片正常,晶振也起振了.那肯定是程序中时序的问题,仔细看看DS1302的时序,它读和写的时序不一样的.我以前也犯过这样的错误,所以读出来时间总是一样.调整了程序中的时序就ok了,在网上随便找一个DS1302的操作说明,仔细对比一下时序你就知道了.

1.有个位要写进去“1”才行.2.晶振坏了.3.没加上拉.4.程序有问题.5.1302有问题.6.单片机有问题.7.1302的批号是BZ38HJ8.others.

您好,非常荣幸能在此回答您的问题.以下是我对此问题的部分见解,若有错误,欢迎指出.时间不变化,说明没开始计时,DS1302初始化时,存放秒的单元最高位要清0,时钟才开始计时的.另外,DS1302计时后,并不会中断的,所以,主程序要不断地去读它的时间,将每次读出的时间送数码管显示,不能等待它中断的.就是程序的问题,仔细找一下吧.非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!

说不一定是时钟停止了,可以先排除一下这个问题.

系统是数码管+单片机89C51+DS1302吗?如果是:查查DS1302的晶体有没有不振的情况,可以用示波器测量.如有,检查晶体电路,更换晶体.查查单片机和DS1302之间的接口,有没有从DS1302中读取数据的操作,看看这些操作对不.查查单片机和数码管之间的连接,是否有单片机没有更新显示的情况.如果上面两处有问题,查查单片机的复位电路和时钟电路,如果都没有问题,查查程序,看看程序中什么地方有bug.

很简单,因为新的1302或者1302没有通电一段时间后,就会停止计时,判断方法就是读取秒字节,最高位是不是 1 ,如果是,就初始化秒位,计时就开始了,每次上电,做一个这个判断就好了

向“秒”的寄存器写一个小于60的数值,这样就能让DS1302运行起来了,否则第一次上电时这个寄存器是80,不会运行.

ds1302是美国dallas公司生产的一种高性能,低功耗,带ram的实时时钟芯片,它可以对年,月,日,时,分,秒进行计时,且具有闰年补偿功能,电源电压为2.5v ~ 5.5v,ds1302内部有一个31*8的ram寄存组,用于临时存放数据.简单的3线接口,与ttl兼容.

时间停止的时候测试下晶振是否依旧在工作,如果正常的话就用单片机直接读取芯片寄存器的数值确定是芯片是停止运作了还是别的现象

ncry.net | mcrm.net | dzrs.net | acpcw.com | rxcr.net | 网站首页 | 网站地图
All rights reserved Powered by www.qzgx.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com