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