一種多用智能溫度測量儀的設(shè)計與實現(xiàn)
1.2 硬件電路設(shè)計
系統(tǒng)硬件電路如3所示。本文引用地址:http://butianyuan.cn/article/162343.htm
包括信號采集、系統(tǒng)控制、數(shù)字顯示、高溫報警四個部分。傳感器DS18B20為信號采集器件所采集到的溫度信號,通過內(nèi)部處理由傳感器的DQ端送到單片機P3.2端口,經(jīng)單片機的計算處理后,由P0口和P1口分別作為4位共陽數(shù)碼管的段控信號和位控信號,共同完成對所測溫度值的數(shù)字顯示,最高位是符號顯示,如顯示負號“-”時,表示當前溫度是負溫度,否則為正溫度;由P2.0端口控制蜂鳴器,當測量的溫度超過“預(yù)設(shè)報警溫度”時,發(fā)出提示音報警;P2.1~P2.3端口來控制黃、綠、紅3個發(fā)光二極管分別表示低溫、正常、高溫三種溫度狀態(tài)。石英晶體JT和電容C2,C2共同組成晶振電路;電容C1、電阻R13、SB共同構(gòu)成復(fù)位電路;其中電阻R13。為下拉電阻,SB為手動復(fù)位按鈕。
2 軟件設(shè)計
為了便于子程序的調(diào)用和維護系統(tǒng),程序遵循標準化、模塊化的原則,主要完成包括讀DS18B20溫度數(shù)據(jù)、數(shù)據(jù)的整理轉(zhuǎn)換、溫度顯示、報警等模塊的設(shè)計。由于程序任務(wù)相對較少,結(jié)構(gòu)相對簡單,本系統(tǒng)由主程序和多個子程序組成,采用順序性結(jié)構(gòu)主程序流程。
2.1 軟件設(shè)計要點
由于DS18B20采用的是單線總線協(xié)議方式,即在一條數(shù)據(jù)線上實現(xiàn)數(shù)據(jù)的雙向傳輸,而單片機硬件上不支持單總線協(xié)議,因此必須采用軟件方法來模擬單總線的協(xié)議是序來完成對DS18B20芯片的訪問。
由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此對讀寫的數(shù)據(jù)位有嚴格的時序要求,它有嚴格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將單片機作為主設(shè)備,DS18B20作為從設(shè)備,而每一次命令和數(shù)據(jù)的傳輸都是從主機主動啟動寫時序開始,如果要求DS18B20回送數(shù)據(jù),在進行寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。
評論