春節期間翻箱子,找出來一個古老的時鐘,看了一下,有下列元件: 1.MCU,是AT89C52,生產時間0122(2001年第22周,居然有20多年了); 2.時鐘芯片是DS12C887; 3.10個7段1位數碼管,10個HC595; 4.電阻、電容等若干。 接上5V供電,能顯示,不過全是零,應該是時鐘芯片的電池沒電了,按下面的按鍵,可以調整,但是無論哪一位,都可以無限向上加(比如月,到了12之后應該停止,或是重新從1月再向上加)。 找來了美工刀、老虎鉗,暴力了一番,把DS12C887撬開,然后把內部電池拆下來,焊上一個2032電池,再通電,用起來還是別扭:一是調整時閃爍有點晃眼,二是調整時數據上加無上限,三是沒有顯示秒;四是調整功能,一按下第一個按鍵,立即進入調整狀態,容易誤操作,。所以就想給它改一下程序,畢竟咱就是干這個的。 找來找去,只找到了幾個STC89C52,還好下載器還在,那就用它了。 參考資料都是在本壇中找的: 從論壇上下載了好多,用上的主要是上面的2例。 原理圖如下,是根據實物用萬用表測出來的, 程序修改后,按下K2或K3,切換顯示狀態,長按K1,進入調整狀態;增加了調整時數據的上、下限。 源代碼及仿真下載
|