標(biāo)題: 51單片機時鐘DS12C887,HC595,這個算不算逆向工程? [打印本頁]
作者: wangwing 時間: 2023-2-6 15:25
標(biāo)題: 51單片機時鐘DS12C887,HC595,這個算不算逆向工程?
春節(jié)期間翻箱子,找出來一個古老的時鐘,看了一下,有下列元件:
1.MCU,是AT89C52,生產(chǎn)時間0122(2001年第22周,居然有20多年了);
2.時鐘芯片是DS12C887;
3.10個7段1位數(shù)碼管,10個HC595;
4.電阻、電容等若干。
接上5V供電,能顯示,不過全是零,應(yīng)該是時鐘芯片的電池沒電了,按下面的按鍵,可以調(diào)整,但是無論哪一位,都可以無限向上加(比如月,到了12之后應(yīng)該停止,或是重新從1月再向上加)。
找來了美工刀、老虎鉗,暴力了一番,把DS12C887撬開,然后把內(nèi)部電池拆下來,焊上一個2032電池,再通電,用起來還是別扭:一是調(diào)整時閃爍有點晃眼,二是調(diào)整時數(shù)據(jù)上加無上限,三是沒有顯示秒;四是調(diào)整功能,一按下第一個按鍵,立即進(jìn)入調(diào)整狀態(tài),容易誤操作,。所以就想給它改一下程序,畢竟咱就是干這個的。
找來找去,只找到了幾個STC89C52,還好下載器還在,那就用它了。
參考資料都是在本壇中找的:
從論壇上下載了好多,用上的主要是上面的2例。
原理圖如下,是根據(jù)實物用萬用表測出來的,
程序修改后,按下K2或K3,切換顯示狀態(tài),長按K1,進(jìn)入調(diào)整狀態(tài);增加了調(diào)整時數(shù)據(jù)的上、下限。
源代碼及仿真下載
-
C001.png
(2.69 MB, 下載次數(shù): 153)
下載附件
2023-2-6 15:32 上傳
背面
-
C002.png
(1.29 MB, 下載次數(shù): 149)
下載附件
2023-2-6 15:32 上傳
正面
-
C003.png
(138 KB, 下載次數(shù): 156)
下載附件
2023-2-6 15:32 上傳
原來的MCU
-
C004.png
(716.3 KB, 下載次數(shù): 170)
下載附件
2023-2-6 15:32 上傳
顯示效果
-
-
clock.rar
2023-2-6 15:24 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
125.01 KB, 下載次數(shù): 14, 下載積分: 黑幣 -5
源代碼及仿真
作者: wxxl 時間: 2023-2-6 20:16
我用的DS12C887時間不準(zhǔn),每天都有3、5秒誤差
作者: wangwing 時間: 2023-2-6 23:32
論精度,還得是DS3231,且價格便宜。12C887月誤差1分鐘(正負(fù)),3231年誤差1分鐘(正負(fù))
作者: man1234567 時間: 2023-2-9 08:37
“2011年第22周,居然有20多年了”,以此推斷算術(shù)呵呵
這個肯定不是逆向工程,最多屬于仿造。
作者: hi等你 時間: 2023-2-9 16:15
887我沒寫過程序,只寫過1302,1302數(shù)據(jù)讀取坑爹,bcd碼讀取,然后轉(zhuǎn)十進(jìn)制顯示,調(diào)整時間又要把十進(jìn)制轉(zhuǎn)成bcd碼再寫入1302,小時,分,秒,月,星期,年都要這樣轉(zhuǎn),反正煩不勝煩,主程序都在轉(zhuǎn)數(shù)據(jù)格式轉(zhuǎn)換疲于奔命。不知道887讀出數(shù)據(jù)是啥格式
作者: zhuls 時間: 2023-2-11 09:05
很好奇你的代碼是如何“在轉(zhuǎn)數(shù)據(jù)格式轉(zhuǎn)換疲于奔命”。
讀出來BCD->10進(jìn)制,然后顯示就用這個10進(jìn)制,如果需要修改就用10進(jìn)制這個值,在寫入之前再轉(zhuǎn)回BCD,不難、也不費時啊
1302的協(xié)議算是基礎(chǔ)級的了。
作者: wangwing 時間: 2023-2-11 13:34
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |