PIC單片機在溫度測量領(lǐng)域的應(yīng)用及仿真研究
在理論設(shè)計的基礎(chǔ)上,利用Protues軟件對其進行仿真調(diào)試和測試,并利用調(diào)試和測試的結(jié)果來驗證理論設(shè)計的可靠性和正確性。
0 引言
在日常生活經(jīng)常要用到溫度的檢測及控制,傳統(tǒng)的測溫元件有熱電偶和熱電阻,而熱電偶和熱電阻測出的一般是電壓,在轉(zhuǎn)換成對應(yīng)的溫度,需要比較多的硬件支持,硬件電路很復(fù)雜,軟件調(diào)試也復(fù)雜,制作成本高。而且測出來的溫度精度也沒有技術(shù)成熟的溫度傳感器高。
本文基于PIC單片機來設(shè)計數(shù)字式測溫計,直接采用數(shù)字式溫度傳感器DS18B20,用單片機對18B20進行控制,來進行測溫。顯示部分可用lcd1602,單片機可直接驅(qū)動lcd1602顯示溫度,硬件較簡單,穩(wěn)定。DS18B20采用單總線技術(shù),容易擴展,并且具有轉(zhuǎn)換速度快,轉(zhuǎn)換精度高,可由片機直接讀出溫度并顯示出來等優(yōu)點。
一、設(shè)計目標(biāo)和思路
本文采用PIC16F877的USART異步通信模式,可廣泛應(yīng)用于單片機與PC機,以及單片機與單片機之間的通信。USART接口由RC6、RC7這兩只引腳構(gòu)成。RC6用于數(shù)據(jù)的發(fā)送,RC7用于接收數(shù)據(jù)。
當(dāng)單片機需要通過USART發(fā)送數(shù)據(jù)時,只需將所發(fā)送數(shù)據(jù)送入數(shù)據(jù)緩沖寄存器TXERG,然后系統(tǒng)會自動將TXREG寄存器內(nèi)容送入發(fā)送移位寄存器TSR,接著系統(tǒng)會根據(jù)所設(shè)置的波特率脈沖信號,通過RC6引腳從高位到低位依次發(fā)送出去。當(dāng)系統(tǒng)將TXERG寄存器內(nèi)容加載到TSR中時,會自動將中斷發(fā)送標(biāo)志位TXIF置位,根據(jù)程序決定是否進入中斷。而當(dāng)單片機需要通過USART接受數(shù)據(jù)時,通過RC7引腳將數(shù)據(jù)依次送入接收移位寄存器RSR中,當(dāng)收到一個停止位時,移位寄存器RSR就把收到的8位數(shù)據(jù)自動送入接收數(shù)據(jù)緩沖器RCREG中。在接收數(shù)據(jù)緩沖器RCREG收到一個穩(wěn)定的數(shù)據(jù)后,接收中斷標(biāo)志位RCIF將自動置位,根據(jù)程序決定是否進入中斷。
二、原理結(jié)構(gòu)圖
本文利用PIC16F877和DS18B20傳感器設(shè)計了測溫計,其包含主控器部分、溫度顯示部分、傳感測試部分和按鍵設(shè)計部分。
基于PIC16F877的測溫計原理電路圖結(jié)構(gòu)如圖1所示。
其中,電源部分的S1為復(fù)位按鈕它在被按得時候斷開放開后自動閉合,在其斷開又閉合的瞬間使整套電路中各芯片的供電電壓實現(xiàn)從5V降到0V再升到5V的過程,從而達到復(fù)位的目的。輸入電容C2一般情況不接,但當(dāng)集成穩(wěn)壓器遠離整流、濾波電路時應(yīng)接入一個0.33μf的電容器,它的作用是改善紋波和抑制輸入的瞬時過電壓,保證78L05的輸入與輸出間的電壓差不會超過允許值。輸出電容C3一般不采用大容量的電解電容器,只要接入0.1μf的電容器便可以改善負載的瞬態(tài)響應(yīng)。但是,為了減小輸出的紋波電壓,在輸出端并聯(lián)一只大容量的電解電容C4,會取得更好的效果。然而,這樣將隨之產(chǎn)生一種弊端:一旦78L05的輸入端出現(xiàn)短路時,輸出端上的大電容器上儲存的電荷將通過集成穩(wěn)壓器內(nèi)部電路調(diào)整管的發(fā)射極與基極泄放,因大容量電容器釋放能量較大,會造成集成穩(wěn)壓器內(nèi)部調(diào)整管的損壞,導(dǎo)致電路無法工作。為了防止這一點,在78L05的輸入端與輸出端之間跨接一個二極管,它為C4上電荷的泄放提供了一個分流通路,對集成穩(wěn)壓器起保護作用。
串口接收溫度函數(shù)流程圖如圖2所示。
三、Protues仿真調(diào)試
為調(diào)試和檢驗上述的電路原理圖的正確性和合理性,本文通過Protues軟件仿真來進行波形調(diào)試。
在仿真調(diào)試的過程中,先后對DS18B20測溫模塊、lcd1602顯示模塊、PIC單片機的USART模塊通信等,分別進行了仿真測試。待各部分均測試正確無誤后,方才對整體電路進行測試。圖3所示即為本文對溫度測量部分進行仿真調(diào)試和測試。
從Protues的仿真結(jié)果來看,本文設(shè)計的數(shù)字溫度測量電路,以PIC16F877單片機為工作處理器的核心,外接DS18B20和LCD1602,用單片機處理數(shù)字信號,再把其送入顯示器顯示。在經(jīng)過反復(fù)的仿真調(diào)試和測試后,驗證其使用起來比較方便且結(jié)果簡單易讀。
四、結(jié)語
本文采用PIC16F877單片機,結(jié)合DS18B20傳感器,來設(shè)計數(shù)字式溫度測量電路,主要包含其包含主控器、溫度顯示、傳感測試和按鍵設(shè)計等幾個部分部分。在理論設(shè)計的基礎(chǔ)上,利用Protues軟件對其進行仿真調(diào)試和測試。與此同時,如果在本文涉及的基礎(chǔ)上在擴展其功能,如多點測溫、溫度報警等,則只需調(diào)整PIC單片機程序即可。這樣的話,本文設(shè)計的測溫系統(tǒng),在具有電路簡單、維護方便等優(yōu)點的同時,還具有擴展兼容性好、讀數(shù)準確易懂等特點,能夠滿足日常生活對測溫計的一般基本要求。