微信公眾號:芯片之家(ID:chiphome-dy)
公眾號不少粉絲,大一大二做的第一個項目,都是電子時鐘吧,非常經典的STC89C52+DS1302+數碼管組合,帶我們跨入了電子的世界,今天介紹一個小項目,一款漂亮的時鐘,包含菜單等程序,大家可以可以看看,回憶下大學的生活。
這款電子鐘,不僅僅是一個普通電子鐘,因為它包含了一種特殊的感情,更準確的說是基情,四射啊!本人就讀于一個普通的一本大學,學的是電氣工程及其自動化專業,臨近畢業了,想給我的好伙伴們做點什么東西,留作紀念。四年時光匆匆而過,正好也可以用它來見證我們終將逝去的青春以及前行在曲折人生路上的不屈背影。
功能說明:顯示時間日期,溫度,公歷節日(可自己添加,非節日的時候顯示時段,比如:白天、中午之類的)、農歷、鬧鐘、分項設置,配合上位機實現一鍵時間日期設置,在線顯示電腦運行狀況(CPU使用率和內存使用情況),在上位機顯示環境溫度等。
本設計主要分為三個部分:時鐘的硬件部分、時鐘的軟件部分、上位機的設計。
1、主要是這么幾個芯片:stc12c560s2+18b20+ds1302+12864G-086-PC(COG工藝 超薄啊,帶GB2312字庫,串口,可調對比度,顯示起來挺清晰的)。從這看上去,這絕對是一個簡單+經濟的設計。
stc12c560s2:STC號稱51宇宙第一啊,還有什么世界超級獨一無二的加密技術,我就暫且相信了吧。看這價錢,4塊多的,功能夠,也就支持一下國產吧。
18b20:用爛了一個片子,始終感覺計算出的溫度要比實際高2~3度,沒事,我又不是做溫度計的.
ds1302:飽受其害啊,由于32768晶振沒有買到高質量的,誤差有點大(絕對是國產中的山寨品啊)。下回用內置晶振的芯片。
2、原理圖:

原理圖比較簡單,因此就不仔細說明了(注意有些器件信號線的上拉,同時省略了很多濾波電容)。采用AD Summer 09設計,先上圖片,最后一起上附件資源
圖中是雙供電方案,MINI USB+排針。不過USB那個不能用上位機了,排針另加PL2303轉換板即可。當初地方沒有設計好,已經計劃在內的CH340給去掉了。
3、PCB
這是我第二次畫PCB,經驗奇缺啊。由于先設計的程序后設計的原理圖,導致IO分配十分混亂,PCB也亂的嚇人,只能保證能用,不保證穩定性,大家勿噴那。(誰還沒個第一次,是吧,嘿嘿)







1、驅動部分
18b20、ds1302都是以前的驅動修改過來的,12864廠家例程不夠規范,而且頁地址分配有誤,所以自己在此基礎之上進行了修改,實現了某行反顯,顯示某些自定義大小的圖畫文字,并且將其中的字母和數字向下平移了一個像素,更加美觀。大家打開附件后就會發現,驅動使用兩種方式寫的,一種是 extern void fun();另外一種使用的結構體。兩種用起來都不錯~
2、功能部分
菜單移植的網上一個COB 12864液晶的菜單。這個菜單長處在于多層嵌套,很直觀明了。我用的都是一層的菜單,有點大財小用了,原版菜單見附件。此部分很是混亂啊。 用定時器0和外部中斷0實現LED背光2S左右后自動關閉,定時器1用于鬧鐘聲響。一會有大量照片)
3、通信部分
由于采用的是12M晶振,所以波特率選取為2400,誤差0.16%,采用獨立波特率發生器(T0被用了)。通信協議自己編的,處理也是自己瞎弄的,你別說,還真有BUG:上位機請求兩次溫度數據,下位機只上傳一次,這么地了吧。










開發環境是VC++6.0+MFC,先上一下效果圖,然后講一下開發
感興趣的童鞋可以在 公眾號后臺 回復關鍵詞:基情電子鐘,即可獲取全部資料!


萬眾期待!俄羅斯方塊時鐘&數字變化時鐘開模版本,眾籌開賣!

腦洞大開!看老外如何創意DIY機械段碼時鐘,超詳細教程內附視頻及所有文件代碼

復古街機打磚塊時鐘,忍不住分享給你們看下!

288個模擬時鐘形成令人著迷的動態藝術品

【開源】從0到1教你制作網絡數字變化時鐘