wryp 发表于 2023-9-1 18:20:34

单片机学习之一:做一个电子钟表

先上图







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


wryp 发表于 2023-9-1 18:34:53

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


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

这个表的缺点是一停电他就不知道几点了,再来电要对表。
于是我有做了一个不怕停电的。以后在写。

wryp 发表于 2023-9-1 18:37:37

那个木盒子,做工很丢客气,锯了板子,直接上502,本来打算搞个面板,一拖就是二十年,这是我第哎歪通病

DianGongN 发表于 2023-9-2 09:38:51

本帖最后由 DianGongN 于 2023-9-2 09:40 编辑

AT89S52这是古董了,属于intel51系列。现在淘宝还能买到,也算是常青树了。
如果晶振是4个脚的,那可能是带温度补偿的,还挺值钱的。只有2只脚就是不带补偿的。
我现在做工业仪表类产品开发,核心就是单片机,我还是在用51系列的。
新的51单片机产品有丰富的配置,AD DA comparator UART WDT都齐全。
虽然核心是1980年代intel的,今天依然好用。

骑着龙看海 发表于 2023-9-2 09:49:16

懵逼的进来懵逼的出去,对电路一点不理解。

DianGongN 发表于 2023-9-2 10:41:46

wryp 发表于 2023-9-1 18:34
虽然捡的成品板,让他按自己的意思去工作也不容易。
先测绘电路,看看每个IO都干嘛用的,锁存真值表网上查 ...

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

wryp 发表于 2023-9-2 11:14:41

本帖最后由 wryp 于 2023-9-2 11:19 编辑

DianGongN 发表于 2023-9-2 10:41
加一路后备电池供电,是最简单的停电正常工作方案。
加在整流桥后面最大的电容那里就好。
对的。
但是DS1302你肯定听说过。
用这个片子,加一个纽扣电池。
停电停止显示。但DS1302因为有个纽扣电池,时间不中断。另外,DS1302内部有RAM,可以记录自己要记录的信息。只要纽扣电池不掉电,RAM里的数据也一直在。
DS1302还可以通过电源给纽扣电池充电,保证纽扣电池的续航。

DianGongN 发表于 2023-9-2 11:19:16

本帖最后由 DianGongN 于 2023-9-2 11:26 编辑

wryp 发表于 2023-9-2 11:14
对的。
但是DS1302你肯定听说过。
用这个片子,加一个纽扣电池。

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

wryp 发表于 2023-9-2 11:23:03

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

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

wryp 发表于 2023-9-2 15:46:15

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

DS1302是时钟,单片机只是把时间读取出来,在显示到数码管上。
所以停电后只是不再显示。但时钟芯片有纽扣电池所以不停机。
来电后,单片机回复读取并显示。
页: [1] 2
查看完整版本: 单片机学习之一:做一个电子钟表