王仲夏 張甫輝 任 冉
(1.河海大學文天學院 安徽馬鞍山 243000;2.南京蘇寧建設監理有限公司 江蘇南京 210000)
經過飛速發展的電子產品,其應用領域越來越廣泛,與我們生活也存在密切的聯系。電源作為電子產品的核心就顯得十分重要,電源的好壞直接決定電子產品的可靠性,與此同時電源的更新換代也越來越頻繁。傳統的電源技術已經越來越無法滿足對電源的需求,本次設計就是利用單片機將廢棄ATX電源進行重新利用起來。不僅解決設計的原材料需求與成本問題,同時也變相的進行了廢物再利用。
(一)控制系統方框圖。本設計是以STC15W408AS單片機為主要核心元器件,通過單片機的控制實現對電壓的輸出和預置以及將輸出的電壓用LED數碼管顯示。其中也可以通過AD鍵盤控制電壓的輸出??刂葡到y方框圖如圖1。

圖1 控制系統方框圖
(二)系統控制原理圖。ATX電源通電后,單片機初始化,其內置的A/D轉換器將采集的電壓值經計算后存入STC15W408AS,由于所選用單片機I/O口較少,為了提高性價比,故將單片機I/O口進行擴展后再接顯示用數碼管,擴展芯片用74HC595驅動LED數碼管將采集到的電壓A/D值在
LED數碼管上顯示出來。也可以通過手動鍵盤調節電壓的輸出,ATX電源的輸出電壓最大為12V。系統控制原理圖如圖2。

圖2 系統控制原理
(一)主控單元。本設計采用芯片STC15W408AS作為核心器件,主要是其既可以提高ad轉換的速率,又可以節省不必要的開支。
本設計所使用的STC15W408AS單片機,是一款具有高速、可靠、低耗、抗干擾能力強的新式8051單片機,選用STC第八代加密技術,擁有超強的加密性,編寫代碼與傳統8051完美兼容,并且其速度要比傳統8051單片機快上8-12倍。
為了提高STC15W408AS芯片的使用性能,它不僅使用STC-Y5超高速CPU內核,而且做了很多其他性能上的改進,使其與傳統的8051單片機相比具有更便捷、更易使用的特點。芯片STC15W408AS內置SRAM(512字節),高速ADC(8通道10位),內部具有高可靠復位,定時器以及看門狗等。[1]
STC15W408AS芯片內部具有高精度R/C時鐘(±0.3%),±1%溫飄(-40℃~+85℃),常溫下溫漂±0.6%(-20℃~+65℃),可設置寬范圍為5MHz~36MHz。此次選用的單片機還有一個優點就是可將外部晶振省略掉,這不僅使本次設計簡便了不少,而且還可以節省一部分不必要的開支。
(二)電源部分。ATX電源作為本設計的供電樞紐,主要是由廢棄計算機主機中獲取。其主要功能是把交流220V的交流電壓轉換為計算機內部使用的直流3.3V,5V,12V的直流電壓。而此次設計就是選定其12V電壓輸出,可以使預置的電壓值范圍大一些。
采用ATX電源的主要優點是輸出穩定、來源廣泛,以及具有選擇電壓輸出的特性。最重要的是取材較為容易,也能起到廢物利用和環保的效果。
(三)AD采集部分。采集到的數據經過模擬多路開關,然后將采集到的模擬量傳輸給比較器,進行比較,然后將比較結果保存到逐次比較寄存器內,最后輸出結果。在A/D轉換之后,ADC轉換寄存器將保存轉換后的結果,同時使ADC控制寄存器置A/D轉換結束標志位,為后續查詢程序以及中斷指令的發出做了準備。[2]
由于采用的STC15W408AS單片機本身具有ADC采集和DAC采集,能夠直接給單片機輸入模擬信號和輸出模擬信號,因此省去了單獨外接A/D轉換芯片,方便使用。所以本次設計更有效的利用了單片機的功能,并且易于操作和使用,最重要是成本比較低。
此次設計利用串聯電阻分壓的特點來進行電壓的采集,固定阻值的電阻和電位器串聯,可以改變電位器的阻值從而改變電壓的采集。
(四)LED數碼管顯示部分。LED數碼管是常見的顯示器件,LED數碼管為“8”字型的,共計8段(包括小說點段在內)或7段(不包括小數點段),每一段對應一個發光二極管,有共陰極和共陽極兩種。共陽(共陰)極數碼管的陽極(陰極)連在一起,公共陽極接5V上(公共陰極接地)。[3]由于選用74HC595擴展芯片驅動LED數碼管,所以需要添加限流電阻以便保證芯片正常工作。
LED數碼管有靜態顯示和動態掃描顯示兩種顯示方式。相比靜態顯示,動態掃描顯示用更少的I/O口,能夠節省驅動電路口的數目。
本次設計選用共陰極4位LED數碼管顯示,主要是因為其在簡單、明了、清楚具有一定的優勢。與LCD相比,LED數碼管更廉價,配置相對靈活以及與單片機接口更方便。用LED數碼管顯示電壓比傳統指針式電壓表會更準確,同時由于發光二極管的緣故,會使得測得電壓更醒目,容易記住。LED數碼管如圖3。

圖3 LED數碼管
(五)AD鍵盤部分。獨立式鍵盤的特點就是每個按鍵之間是相互獨立的,并且電路中的每個按鍵都需要連接到I/O端口,用于高電平和低電平檢測。這種方法雖然簡單方便,但浪費了I/O,畢竟所選擇的單芯片I/O是有限的。而AD鍵盤電路不需要這樣麻煩,因為其只需要一個I/O端口和多個電阻就可以實現對多個鍵盤的輸入檢測。AD鍵盤電路的工作原理是當不同的鍵盤按下時,通過電阻的分壓得到相應的電壓值。AD鍵盤部分原理圖如圖4。

圖4 AD鍵盤部分原理圖
(六)I/O擴展部分。I/O擴展顧名思義就是由于I/O不夠用的時候使用擴展芯片達到增加I/O口的效果。本次選擇使用的是74HC595芯片作為I/O擴展芯片,有效地解決了單片機I/O不夠用的問題。芯片74HC595是硅結構的CMOS器件,兼容低電壓的TTL電路,具有8位移位寄存器和一個存儲器,以及具有三態輸出功能,其最多可用五個控制線,分別是SER,SRCLK,RCLK,SRCLR以及E。擴展芯片74HC595原理圖如圖5。

圖5 芯片74HC595原理圖
首先初始化單片機,然后利用A/D轉換器將采集的電壓值轉換后傳給單片機,單片機通過內部程序將轉換后的電壓A/D值通過芯片74HC595送入LED數碼管中,使其在LED數碼管中顯示出來。若想預置電壓,則通過AD鍵盤控制電壓的輸出。本次設計采用的是逐次逼近型ADC,采集到的AD值會比較準確。軟件程序流程圖如圖6。

圖6 軟件程序流程圖
本次設計利用了廢棄ATX電源,有效的減少了資源不必要的浪費。本系統通過AD采集獲得被測電壓,傳輸給單片機,經過數據處理后在LED數碼管中顯示出來,同時也可以利用AD鍵盤控制電壓的輸出。本系統還可以添加報警電路,設定電流值,當電流的輸出大于某個值時,報警電路中的蜂鳴器會發出聲響。
在設計與制作本系統之后,使自己對一些芯片的了解有了極大的增強,同時也掌握了芯片的功能,能夠熟練地運用。在設計的過程中,對編寫程序有了一定掌握,而且也提高了實踐動手能力。由于對廢棄ATX電源的利用,使自己提高了思考能力,加強對事物的敏感度。