机械必威体育网址

标题: 单片机学习之一:做一个电子钟表 [打印本页]

作者: wryp    时间: 2023-9-1 18:20
标题: 单片机学习之一:做一个电子钟表
先上图


(, 下载次数: 116) (, 下载次数: 130)




严格的说,这个小玩意是捡来的。
捡了一块板子。
之所以捡起它,是比较新,看着做工很好,更主要是数码管个头比较大,对我来说不是常见的个头。
主芯片是89S52,大名鼎鼎。虽然现在用的不多了。
看看板子,找到电源输入点,焊上两根线,通上5伏直流,全屏显示四个8,1秒后全灭。
说明板子是好的,不显示是因为单单这一块板,他还不能工作,他可能只做显示。
没什么鸟用。
扔了?不舍得,四个大数码管呢,通电一瞬间显示很漂亮呢。还有个89S52呢。
拆零件?这块板做工,品相都不错,也不舍得。
DIY,坛主力推的第哎歪!
既然他做显示的板子,做个时钟吧。书桌上真少块表呢。



作者: wryp    时间: 2023-9-1 18:34
虽然捡的成品板,让他按自己的意思去工作也不容易。
先测绘电路,看看每个IO都干嘛用的,锁存真值表网上查一下。哪些连段显,哪些连位显。。。。。。。
最后发现,这块板子显示数码的码表都是非标的,根据连线设计专门的码表。在编个程序。。。。。。。
编译,那年头用的Keil。往片子里刷,TM的这板子没ISP口。
又肥了一番功夫,最后终于能跑了。
跑一段时间,发现时间不准,通过增加和减少空指令的方法,直到走时准确。
有多准?一年误差不超过10秒。这块板子的晶振很可能是低温漂的军品。也有可能四季温度变化快慢抵消了。


图发了两张,是表示那个发光二极管是秒信号,灯会闪的。

这个表的缺点是一停电他就不知道几点了,再来电要对表。
于是我有做了一个不怕停电的。以后在写。
作者: wryp    时间: 2023-9-1 18:37
那个木盒子,做工很丢客气,锯了板子,直接上502,本来打算搞个面板,一拖就是二十年,这是我第哎歪通病
作者: DianGongN    时间: 2023-9-2 09:38
本帖最后由 DianGongN 于 2023-9-2 09:40 编辑

AT89S52这是古董了,属于intel51系列。现在淘宝还能买到,也算是常青树了。
如果晶振是4个脚的,那可能是带温度补偿的,还挺值钱的。只有2只脚就是不带补偿的。
我现在做工业仪表类产品开发,核心就是单片机,我还是在用51系列的。
新的51单片机产品有丰富的配置,AD DA comparator UART WDT都齐全。
虽然核心是1980年代intel的,今天依然好用。
作者: 骑着龙看海    时间: 2023-9-2 09:49
懵逼的进来懵逼的出去,对电路一点不理解。
作者: DianGongN    时间: 2023-9-2 10:41
wryp 发表于 2023-9-1 18:34
虽然捡的成品板,让他按自己的意思去工作也不容易。
先测绘电路,看看每个IO都干嘛用的,锁存真值表网上查 ...

加一路后备电池供电,是最简单的停电正常工作方案。
加在整流桥后面最大的电容那里就好。

作者: wryp    时间: 2023-9-2 11:14
本帖最后由 wryp 于 2023-9-2 11:19 编辑
DianGongN 发表于 2023-9-2 10:41
加一路后备电池供电,是最简单的停电正常工作方案。
加在整流桥后面最大的电容那里就好。

对的。
但是DS1302你肯定听说过。
用这个片子,加一个纽扣电池。
停电停止显示。但DS1302因为有个纽扣电池,时间不中断。另外,DS1302内部有RAM,可以记录自己要记录的信息。只要纽扣电池不掉电,RAM里的数据也一直在。
DS1302还可以通过电源给纽扣电池充电,保证纽扣电池的续航。


作者: DianGongN    时间: 2023-9-2 11:19
本帖最后由 DianGongN 于 2023-9-2 11:26 编辑
wryp 发表于 2023-9-2 11:14
对的。
但是DS1302你肯定听说过。
用这个片子,加一个纽扣电池。

大神厉害了!那肯定要自己写DS1302读写程序了。
另外,停电、来电的当前时间交接,如何处理确保高精度计时?停电有检测吗?我的意思是,停电时将当前时刻写入DS1302,来电时读出,是这样提高精度的吗?
按你前面的一年10S的精度,主机没问题,DS1302怕是精度低了吧?

作者: wryp    时间: 2023-9-2 11:23
DianGongN 发表于 2023-9-2 11:19
大神厉害了!那肯定要自己写DS1302读写程序了。

百度DS1302,找他的数据手册,怎么设置位(设置钟表启停,是否给电池充电,),怎么读写,讲的很清楚。
但这个片子不算高档。高档的我玩不来。
还有人玩自动校准的。就是用国家授时中心的信号。模块网上也有卖。

作者: wryp    时间: 2023-9-2 15:46
DianGongN 发表于 2023-9-2 11:19
大神厉害了!那肯定要自己写DS1302读写程序了。
另外,停电、来电的当前时间交接,如何处理确保高精度计 ...

DS1302是时钟,单片机只是把时间读取出来,在显示到数码管上。
所以停电后只是不再显示。但时钟芯片有纽扣电池所以不停机。
来电后,单片机回复读取并显示。

作者: DianGongN    时间: 2023-9-2 16:08
本帖最后由 DianGongN 于 2023-9-2 16:15 编辑
wryp 发表于 2023-9-2 15:46
DS1302是时钟,单片机只是把时间读取出来,在显示到数码管上。
所以停电后只是不再显示。但时钟芯片有纽 ...

理解了。我本来以为时钟是89S52产生的,它频率可是上33Mhz,可以用温度补偿晶振。想着DS1302只是停电的时候短时间备用时钟功能。

DS1302的晶振是32.768K,属于低频率晶振,没有看到带温度补偿的产品。最好的32.768K晶振的精度是10ppm,算下来一年误差315S。
你这个用DS1302,一年误差10S,只能说运气好到爆!或者有一种可能性,用89S52微调DS1302的走时,消除32.768K晶振误差,那就很厉害了。



作者: 喂我袋盐    时间: 2023-9-3 14:04
DianGongN 发表于 2023-9-2 16:08
理解了。我本来以为时钟是89S52产生的,它频率可是上33Mhz,可以用温度补偿晶振。想着DS1302只是停电的时 ...

看朋友ID,是搞电工的?

作者: DianGongN    时间: 2023-9-3 15:39
喂我袋盐 发表于 2023-9-3 14:04
看朋友ID,是搞电工的?

是硬件工程师。机械小白。碰到机械问题,会向到这里向大神请教。对大神来说,都是手到擒来的简单问题。





欢迎光临 机械必威体育网址 (//www.szfco.com/) Powered by Discuz! X3.4