一、前言
為了能夠?qū)Χ帱c電壓進行測量, ?昨天設(shè)計了這款單電源控制四個繼電器的電路板。?利用一個單片機檢測工作電壓的大小, 根據(jù)電壓的范圍分別接通四個繼電器。?利用了單面PCB板設(shè)計, ?一分鐘之后獲得測試電路板。?對其進行焊接, 之后進行單片機編程。?單片機為 STC8G, 封裝為 SOP8. ?下面對其軟件進行開發(fā)。
二、軟件調(diào)試
首先編寫一個最簡單的測試程序, ?周期改變LED狀態(tài), ?指示著單片機工作狀態(tài)。?通過STC的串口下載器, ?將程序下載到測試電路板。?驗證了電路板單片機下載程序功能正常。
▲ 圖1.2.1 測試程序運行狀態(tài)
??測試電路板上的微型繼電器的動作。?編寫一個繼電器流水燈, ?依次閉合四個繼電器。?利用它的輸出端口驅(qū)動LED。?通過測試可以知道, ??現(xiàn)在輸出連接的端口是繼電器上的常閉端口, ? ?當繼電器通電之后, 繼電器打開。?在設(shè)計的時候, 忽略繼電器的常閉和常開輸出端口。
在SOP8封裝的8G1k 單片機中, 它的ADC的參考電壓內(nèi)部連接到單片機的工作電源上了。?為了能夠測量工作電壓的高低, ?通過對于內(nèi)部 15 通道的 1.19V的參考電壓進行測量, ? ?在不同的工作電壓下, ?也就是不同的 ADC參考電壓下, ?這個 1.19V的參考電源的讀數(shù)會不同。?通過軟件采集可以知道, ?對于從 4.25V 到5V之間的不同工作電壓, ?讀取的1.19V參考電壓的ADC取值會隨著 VCC的降低而升高。
這是外部通過兩個相同電阻將 VCC 分壓一半之后,輸入 ADC 第三通道, ?可以看到它的讀數(shù)始終為 512。?所以這里顯示了自己在設(shè)計電路是犯的一個錯誤, ?實際上這個外部的電源分壓電路是不需要的。?這樣也可以多出一個應(yīng)用端口。
根據(jù)1.19V參考電壓測量結(jié)果, ?分成四個范圍, ?分別接通四個繼電器的動作。?當外部電壓過低, 比如4V的時候, ?斷開所有的開關(guān)。??現(xiàn)在工作電壓5V, ? 可以看到第一個繼電器吸合。
將電壓修改為4.75V, ?第二個繼電器閉合。?修改工作電壓為5V, ?第三個繼電器吸合, ?將工作電壓修改為 4.25V, ?第四個繼電器吸合。?最后也測試了當電壓小于4V的時候, 所有的繼電器都斷開。
※ 總??結(jié) ※
本文記錄了一個單電壓源控制四個繼電器的設(shè)計方案。?利用該電壓源的可編程特性, ?可以選擇控制四個繼電器的閉合和打開動作。