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