吳坤,何英昊
(大連理工大學(xué)城市學(xué)院,遼寧大連,116023)
溫度是日常生活中極為重要的一個參數(shù),所以對溫度的檢測的意義也不言而喻。本設(shè)計是通過溫度傳感器給單片機系統(tǒng)提供了溫度數(shù)據(jù),然后再根據(jù)用戶設(shè)置溫度的上下限來判斷是否報警從而提醒用戶的注意。
圖1為系統(tǒng)的設(shè)計框圖。根據(jù)實際需求,系統(tǒng)由主控單片機、顯示模塊、測溫模塊、報警模塊及人機接口模塊和電源等6部分組成。主控模塊單片機為核心,接收測溫模塊傳來的數(shù)據(jù)并進行處理,通過報警模塊和顯示模塊給出結(jié)果。人機接口模塊通過按鍵電路來實現(xiàn),通過按鍵完成對系統(tǒng)的設(shè)置和修改等功能。電源保證系統(tǒng)供電。
圖1 設(shè)計框圖
系統(tǒng)的結(jié)構(gòu)可分為單片機最小系統(tǒng)、溫度采集模塊、數(shù)碼管顯示部分、聲光報警模塊、按鍵模塊和電源模塊等六個模塊。下面分別對每個模塊進行說明。
圖2 單片機最小系統(tǒng)
單片機控制模塊用STC89c52單片機作為控制器,STC89c52的正常工作需要時鐘電路及復(fù)位電路作為單片機的最小系統(tǒng)。電路如圖2所示。
溫度采集模塊使用DS18B20溫度傳感器實現(xiàn)。該傳感器可直接讀出被測溫度,并將讀數(shù)以數(shù)字量的形式輸入到單片機的I/O口。此外,如果需要提高精度,可以將多個DS18B20傳感器連接在同一條總線上,而不會相互影響。圖3為DS18B20的內(nèi)部框圖。圖4為電路原理圖。
圖3 DS18B20內(nèi)部框圖
圖4 DS18B20電路原理圖
七段顯示譯碼管分為共陽極數(shù)碼管和共陰極數(shù)碼管兩種。設(shè)計采用四位共陽極數(shù)碼管實現(xiàn)。具體電路如圖5所示。在本設(shè)計中運用了三極管作為反相器,因為共陽數(shù)碼管的顯示需要動態(tài)掃描進行位選,共陽數(shù)碼管在高電平的情況下可以觸發(fā)位選,選擇動態(tài)掃描的方式數(shù)碼管可以工作但是亮度遠遠不夠,所以在這里加上三極管就起反相器的作用,能將共陽數(shù)碼管的驅(qū)動方式變換為低電平驅(qū)動,且因單片機I/O口的電流吞吐量不夠,只有在三極管放大的情況下四位共陽數(shù)碼管才能正常的顯示工作,為了防止電流過大燒毀數(shù)碼管,選擇1k的電阻限流。
圖5 數(shù)碼管顯示電路
聲光報警模塊的電路設(shè)計如圖6所示,發(fā)光二極管接高電平后接一個1K的電阻后連接單片機后的P2.3口,蜂鳴器連接三極管S9012(PNP型)的發(fā)射極后集電極接地,三極管主要起電子開關(guān)的作用,當(dāng)單片機管腳輸出高電平時三極管為導(dǎo)通狀態(tài),此時發(fā)光二極管閃爍蜂鳴器鳴叫起到報警的作用。
按鍵模塊如圖7所示,三個按鍵分別實現(xiàn)選擇和設(shè)置加減功能。
圖6 聲光報警電路
圖7 按鍵模塊電路設(shè)計
電源模塊可以采用外接電源或使用USB供電,本設(shè)計使用USB供電。
系統(tǒng)程序流程圖如圖8所示。首先,整個系統(tǒng)開始初始化,調(diào)用溫度檢測模塊的子程序檢查DS18B20是否在線并返回一個結(jié)果作為應(yīng)答,接著由DS18B20測出環(huán)境溫度并處理轉(zhuǎn)換數(shù)據(jù)通過IIC通信給單片機,在此同時由鍵盤模塊的子程序掃描鍵盤看設(shè)置的溫度上下限,然后由主程序判斷外界溫度是否越限,如果越限,便調(diào)用聲光報警模塊的子程序,如果沒有將循環(huán)往復(fù)的檢測和判斷。
圖8 主程序流程圖
圖9 仿真圖
基于DS18B20的簡易溫度報警器采用C51語言編程,C51語言是C語言適用于單片機應(yīng)用平臺的演化。編程使用模塊化思想,先編寫讀取數(shù)字溫度傳感器中的溫度并將其存到EEPROM,然后編寫了數(shù)碼管顯示的子程序,最后編寫聲光報警的子程序,再通過主程序?qū)ψ映绦虻恼{(diào)用,最終達到了能夠在設(shè)定的溫度上下限內(nèi)正常工作,超過溫度上下限能立即發(fā)出報警信號的功能。選擇IIC通信模式使該系統(tǒng)擴展能力和工作效率大大提高,選擇EEPOROM作為存儲器即使斷電數(shù)據(jù)也不會丟失,使該系統(tǒng)穩(wěn)定性得到了有效提高。對源程序編譯調(diào)試后,使用Proteus軟件進行仿真,仿真結(jié)果如圖9所示;此時上限溫度為25攝氏度,系統(tǒng)實測溫度為27攝氏度,發(fā)光二極管閃爍蜂鳴器鳴叫觸發(fā)報警。最后,使用Altium Designer完成電路原理圖的設(shè)計,并最終完成實物制作及調(diào)試。實物圖如圖10所示。
圖10 溫度報警器實物圖
本次設(shè)計選用STC89C52單片機作為主控芯片,使用C51實現(xiàn)程序的編寫,選擇DS18B20作為溫度傳感器,此系統(tǒng)能夠?qū)崿F(xiàn)對周圍環(huán)境溫度進行高精度、穩(wěn)性能、低功耗的實時監(jiān)測,再加上其他外圍電路搭建了較為完善可靠的測溫系統(tǒng)。