原創|用單片機如何製作一款電子時鐘
- 2020 年 3 月 17 日
- 筆記
一、需求分析
之前就已經說了,我們設計了一下的三個功能。能顯示時間+日期+溫度;能自動調節亮度;能調節時間+鬧鈴。
1、一個時鐘能顯示年月日,時分秒,溫度;
2、能調整時間,具有鬧鐘功能,具有按鍵音;
3、亮度能隨環境光照自動調節;
二、原理及電路設計
有了需求後,我們就根據需求選擇元件,單片機我們選擇STC15w408AS,此單片機內部集成了高精度的RC振蕩電路和高可靠的複位電路,直接外部晶振和複位電路都可以省去,晶片接通電源後就可以直接工作; 單片機自帶ADC轉換,為測溫和數碼管亮度調節準備;顯示部分就用簡單的共陰數碼管驅動;要實現調整時間,所以還需要按鍵;要有鬧鐘就還需要有發聲元件,這裡我們用簡單的有源蜂鳴器;時鐘的來源我們用DS1302時鐘晶片產生,測溫用的是熱敏電阻,還需要一個光敏電阻來採光,實現數碼管亮度歲環境光照的變化。
有了以上的主要元件,還需要一些輔助的元件來完成整個設計,比如電源部分我們要考慮介面問題,本樣板我們採用的是DC1.2芯的電源插座,電源接了100u和104的兩個電容做電源濾波用,數碼管採用三極體8050控制陰極的位選通,蜂鳴器也是採用8050三極體做開關用。具體電路原理圖如下圖所示:

以上電路我們採用Protel 99軟體設計,這個版本是比較老的了,但是對於初學者來說還是很實用,一般的電路板都能完成。有了電路原理圖後我們之間從軟體轉到PCB圖中,擺放好元件後,就可以布線了,注意,布線不要採用自動布線,自動布線的板子基本用不了,如果你懶得自己布線,可以先自動,再手動修改。以下是我們設計完整後的截圖:

為了增加板子的強度和導電性能,我們在頂層和底層都做了電源地(GND)的敷銅,上圖中看到紅色的部分就是頂層的敷銅層。以下是軟體3D建模出來的樣子:

三、樣板測試
全部設計完後,在次檢查有沒有錯誤,無誤後就可以找廠家做樣板了,現在真箇行業都在大減價,每家都能在線自動計算價格,可以多比較計價,一般的樣板50元還包郵呢。提醒下大家啊,沒必要到淘寶上找人做,直接自己找廠家。打樣時間3-4天,快遞3-4天,一周時間就過去了,等了一周,心痒痒啊。收到板子後大家肯定都是激動的,那就開始測試吧。

開箱先檢查板子外觀、絲印等直觀的有沒有問題(一般都沒問題的,除非小作坊的板);然後測試電源VCC和GND直接有沒有連接,理論上電阻是無窮大。這些都沒問題後就準備元件焊接吧,焊接時一般的順序是:先矮後高。怎麼說,就是元件在板子上的高度,現在從最矮的開始焊接,再焊接中等高度的,最後焊接最高的元件。焊接之前來張全家福吧。

四、程式設計及測試
程式設計說白了就是編程,我們先寫個測試程式進去,測試下各個部分有沒有問題,能不能工作。現在寫入的程式是單片機讀取DS1302時鐘數據,在數碼管上顯示時間,秒顯示採用定時,每秒點亮200ms,同時蜂鳴器每秒響一次。光敏、熱敏以及按鍵都是比較簡單的電路,一般都沒問題,暫時沒測試。編程完成後燒寫進單片機。運行效果如下:數碼管照片看著不清晰,等調試完了後加個什麼濾光片試試。

運行程式能看到數碼管顯示正常,蜂鳴器響聲正常,測試完成。後續我們跟著測試和完善整個DIY電子時鐘的程式

