【正文】
之后,在15秒之內(nèi)就得釋放單總線(xiàn),以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€(xiàn)上。數(shù)據(jù)和命令的傳輸都是低位在先。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫(xiě)時(shí)序。由于DS18B20是在一根I/O線(xiàn)上讀寫(xiě)數(shù)據(jù),因此,對(duì)讀寫(xiě)的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。因此系統(tǒng)對(duì)DS18B20的各種操作必須按協(xié)議進(jìn)行。開(kāi)始顯示字符獲取計(jì)算采集溫度值顯示溫度值掃描設(shè)置電路報(bào)警電路結(jié)束圖 41 主程序流圖 圖 42 系統(tǒng)電路圖 各個(gè)模塊的流程圖 讀取溫度DS18B20模塊的流程由于DS18B20采用的是一根數(shù)據(jù)線(xiàn)實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,而對(duì)AT89S52單片機(jī)來(lái)說(shuō),硬件上并不支持單總線(xiàn)協(xié)議,因此,我們必須采用軟件的方法來(lái)模擬單總線(xiàn)的協(xié)議時(shí)序來(lái)完成對(duì)DS18B20芯片的訪(fǎng)問(wèn)。圖313 DS18B20與單片機(jī)連接圖第四章 系統(tǒng)總設(shè)計(jì)本系統(tǒng)采用的是循環(huán)查詢(xún)方式,來(lái)顯示和控制溫度的。,讀取溫度傳感器的數(shù)值。事實(shí)上,基于1Wire總線(xiàn)的產(chǎn)品還有很多種,如1Wire總線(xiàn)的E2PROM、實(shí)時(shí)時(shí)鐘、電子標(biāo)簽等。實(shí)際應(yīng)用中,測(cè)溫電纜線(xiàn)建議采用屏蔽4芯雙絞線(xiàn),其中一對(duì)線(xiàn)接地線(xiàn)與信號(hào)線(xiàn),另一組接VCC 和地線(xiàn),屏蔽層在源端單點(diǎn)接地。當(dāng)1Wire上所掛DS18B20超過(guò)8個(gè)時(shí),就需要考慮微處理器的總線(xiàn)驅(qū)動(dòng)問(wèn)題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。因此, 在對(duì)DS18B20 進(jìn)行讀寫(xiě)編程時(shí),必須嚴(yán)格的保證讀寫(xiě)時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。此外,在單總線(xiàn)上可以并聯(lián)多個(gè) DS18B20,而且如果它們?nèi)坎捎猛獠侩娫垂ぷ鞣绞?,那么通過(guò)發(fā)出相應(yīng)的命令便可以同時(shí)完成溫度變換。 圖311 DS18B20供電方式1另一種方法是 DS18B20 工作在外部電源工作方式,如圖212 所示。第一種方法是發(fā)生溫度變換時(shí),在 DQ 線(xiàn)上提供一強(qiáng)的上拉,這期間單總線(xiàn)上不能有其它的動(dòng)作發(fā)生。為了使DS18B20能完成準(zhǔn)確的溫度變換,當(dāng)溫度變換發(fā)生時(shí),DQ線(xiàn)上必須提供足夠的功率。當(dāng)DQ或VDD引腳為高電平時(shí),這個(gè)電路便“取”的電源。如圖310所示。圖39 DS18B20的讀時(shí)序③ DS18B20的寫(xiě)時(shí)序?qū)τ贒S18B20的寫(xiě)時(shí)序仍然分為寫(xiě)0時(shí)序和寫(xiě)1時(shí)序兩個(gè)過(guò)程。DS18B20在完成一個(gè)讀時(shí)序過(guò)程,至少需要60us才能完成。① DS18B20的復(fù)位時(shí)序,如圖38 圖38 DS18B20的復(fù)位時(shí)序圖② DS18B20的讀時(shí)序?qū)τ贒S18B20的讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個(gè)過(guò)程。2時(shí),確保微控制器在寫(xiě)1的時(shí)候DS18B20可以正確讀入。(2)除了DS18B20發(fā)送0的時(shí)間段,其他時(shí)間其輸出口自動(dòng)截止。如果當(dāng)前DS18b20發(fā)送0,即使微控制器I/O口置1,總線(xiàn)狀態(tài)還是0。之所以提出這點(diǎn),是因?yàn)橄喈?dāng)多的文獻(xiàn)資料上認(rèn)為,微控制器在讀取總線(xiàn)上數(shù)據(jù)之前的I/O口的置1操作是為了給DS18B20一個(gè)發(fā)送數(shù)據(jù)的信號(hào)。顯然,總線(xiàn)上的器件與(wired AND)關(guān)系。第二,DS18B20的輸出口是漏級(jí)開(kāi)路輸出,這里給出一個(gè)微控制器和DS18B20連接原理圖。 DS18B20的單線(xiàn)(1-wire bus)系統(tǒng)單線(xiàn)總線(xiàn)結(jié)構(gòu)是DS18B20的突出特點(diǎn),也是理解和編程的難點(diǎn)。其DS18B20的管腳配置和封裝結(jié)構(gòu)如圖37所示。2℃。℃。一線(xiàn)總線(xiàn)獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶(hù)可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。圖36 LED數(shù)碼管顯示電路圖 溫度采集電路 DS18B20介紹Dallas最新單線(xiàn)數(shù)字溫度傳感器DS18B20簡(jiǎn)介新的“一線(xiàn)器件”體積更小、適用電壓更寬、更經(jīng)濟(jì)。圖35 LED數(shù)碼管電路圖 報(bào)警電路采用三極管S8550放大電路驅(qū)動(dòng)蜂鳴器,設(shè)計(jì)中當(dāng)測(cè)量溫度超出設(shè)定溫度時(shí),單片機(jī)觸發(fā)三極管工作,使蜂鳴器發(fā)出聲響。當(dāng)剛開(kāi)機(jī)或溫度升到設(shè)定溫度以上時(shí),該燈會(huì)亮,表示目前處于減溫狀態(tài);當(dāng)溫度下降到設(shè)定溫度時(shí),該LED滅,表示停止減溫。本水溫溫度控制系統(tǒng)中共使用到2個(gè)LED指示燈。由視覺(jué)暫留,只要我們的延時(shí)時(shí)間足夠短,就能夠使得數(shù)碼的顯示看起來(lái)非常的穩(wěn)定清楚。非編碼鍵盤(pán)中鍵的數(shù)量較少,硬件簡(jiǎn)單,在單片機(jī)中應(yīng)用非常廣泛。因此使用方便,但硬件較復(fù)雜。本設(shè)計(jì)的時(shí)鐘電路如圖33所示:圖33 晶振電路3. 3 鍵盤(pán)電路鍵盤(pán)是單片機(jī)應(yīng)用系統(tǒng)中的主要輸入設(shè)備,單片機(jī)使用的鍵盤(pán)分為編碼鍵盤(pán)和非編碼鍵盤(pán)。晶振是利用一種特殊的晶體,在電能和機(jī)械能之間相互轉(zhuǎn)化產(chǎn)生共振,提供穩(wěn)定精確的單頻震蕩,為系統(tǒng)提供基本的時(shí)鐘信號(hào)。使用時(shí),在引腳與VSS引腳之間接一個(gè)10KΩ的下拉電阻,與VCC引腳之間接一個(gè)約10μF的電解電容,即可保證上電復(fù)位。RST引腳是單片機(jī)復(fù)位端,高電頻有效。值得注意的一點(diǎn)是單片機(jī)的31腳必須接高電平,否則系統(tǒng)將不能運(yùn)行。因?yàn)?0C51單片機(jī)內(nèi)部自帶8K的ROM和256字節(jié)的RAM,因此不必構(gòu)建單片機(jī)系統(tǒng)的擴(kuò)展電路。 。 多樣封裝形式,適應(yīng)不同硬件系統(tǒng). DS18B20封裝結(jié)構(gòu)圖 圖24 DS18B20封裝第三章 系統(tǒng)部件設(shè)計(jì)本次設(shè)計(jì)主要思路是通過(guò)對(duì)單片機(jī)編程將由溫度傳感器DS18B20采集的溫度外加驅(qū)動(dòng)電路顯示出來(lái),包括對(duì)溫度的控制,進(jìn)行模擬升溫,當(dāng)溫度達(dá)到上下限蜂鳴器進(jìn)行報(bào)警。 內(nèi)置EEPROM,限溫報(bào)警功能.F~+257176。C ~+125176。 可選擇寄生工作方式.. 先進(jìn)的單總線(xiàn)數(shù)據(jù)通信. 溫度傳感器的種類(lèi)眾多,在應(yīng)用與高精度,高可靠性是的場(chǎng)合DALLAS(達(dá)拉斯),超低的硬件開(kāi)消,搞干擾能力強(qiáng),精度高,附加功能強(qiáng),. DS18B20的主要特征PPP3口都只能驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL電路。(4)輸入/輸出(I/O)~ 、~ 、~ 、~ 。 (29引腳):片外程序存儲(chǔ)器讀選通信號(hào)輸出。當(dāng)振蕩器運(yùn)行時(shí),在該引腳上會(huì)出現(xiàn)兩個(gè)機(jī)器周期的高電平(由低到高跳變),使單片機(jī)復(fù)位。XTAL1(19引腳)片內(nèi)振蕩電路輸入端,外接晶體的一個(gè)引腳;XTAL2(18引腳)片內(nèi)振蕩電路的輸出端,外接晶體的另一端。 Vcc(40腳):電源端,正常工作電壓為+5V。8058038751的40條引腳均采用雙列直插封裝(DIP)方式。 圖21 8051單片機(jī)框圖 單片機(jī)內(nèi)部結(jié)構(gòu) 8051單片機(jī)的內(nèi)部結(jié)構(gòu)如下圖所示: 圖22 8051單片機(jī)內(nèi)部結(jié)構(gòu) MCS51單片機(jī)是在一塊芯片中集成了CPU、RAM、ROM、定時(shí)/計(jì)數(shù)器和多種功能的I/O線(xiàn)等一臺(tái)計(jì)算機(jī)所需要的基本功能部件,各功能部件由內(nèi)部總線(xiàn)聯(lián)在一起(如圖22所示)。單片機(jī)內(nèi)部各功能部件之間通過(guò)地址總線(xiàn)、數(shù)據(jù)總線(xiàn)和控制總線(xiàn)三大總線(xiàn)進(jìn)行通信。單片機(jī)由運(yùn)算器、控制器、存儲(chǔ)器、輸入輸出設(shè)備構(gòu)成,相當(dāng)于一個(gè)微型的計(jì)算機(jī)(最小系統(tǒng)),和計(jì)算機(jī)相比,單片機(jī)缺少了外圍設(shè)備等。第二章 系統(tǒng)相關(guān)技術(shù)介紹單片機(jī),它是一種典型的嵌入式微控制器,常用英文字母的縮寫(xiě)MCU表示單片機(jī)。在技術(shù)上,以單片機(jī)控制的單參數(shù)單回路系統(tǒng)居多,尚無(wú)真正意義上的多參數(shù)綜合控制系統(tǒng),與發(fā)達(dá)國(guó)家相比,存在較大差距。我國(guó)工程技術(shù)人員在吸收發(fā)達(dá)國(guó)家溫度測(cè)控技術(shù)的基礎(chǔ)上,才掌握了溫度室內(nèi)微機(jī)控制技術(shù),該技術(shù)僅限于對(duì)溫度的單項(xiàng)環(huán)境因子的控制。目前正開(kāi)發(fā)和研制計(jì)算機(jī)數(shù)據(jù)采集控制系統(tǒng)的多因子綜合控制系統(tǒng)。先是采用模擬式的組合儀表,采集現(xiàn)場(chǎng)信息并進(jìn)行指示、記錄和控制。它只能適應(yīng)一半溫度控制系統(tǒng),難于控制滯后復(fù)雜時(shí)變溫度控制系統(tǒng)。目前我國(guó)這方面總體技術(shù)處于20世紀(jì)80年代中后期水平。成熟產(chǎn)品主要以“點(diǎn)位”以及常規(guī)的PID控制器為主。溫度控制系統(tǒng)在國(guó)內(nèi)各行各業(yè)的應(yīng)用雖然已經(jīng)十分廣泛,但從國(guó)內(nèi)生產(chǎn)的溫度控制器來(lái)講,總體發(fā)展水平仍然不高,與國(guó)外的日本,美國(guó),德國(guó)等先進(jìn)國(guó)家相比,仍有較大差距。特別是在當(dāng)前全球能源緊缺的情況下,我們更應(yīng)該掌握好對(duì)水溫的控制,從而更好地利用能源。溫度控制系統(tǒng)在國(guó)內(nèi)各行各業(yè)的應(yīng)用雖然已經(jīng)十分廣泛,但從國(guó)內(nèi)生產(chǎn)的溫度控制器來(lái)講,總體發(fā)展水平仍然不高,與國(guó)外的日本,美國(guó),德國(guó)等先進(jìn)國(guó)家相比,仍有較大差距。單片機(jī)可將溫度傳感器檢測(cè)到的水溫現(xiàn)實(shí)于LED數(shù)碼顯示器上。 系統(tǒng)設(shè)計(jì)的背景 在能源日益緊張的今天,電熱水器,飲水機(jī),電飯煲之類(lèi)的家用電器在保溫時(shí),由于其簡(jiǎn)單的溫控系統(tǒng),利用溫敏電阻來(lái)實(shí)現(xiàn)溫控,因而會(huì)造成很大的能源浪費(fèi)。s needs. The system is widely used in that system improvements can be achieved on the basis of a better use of. In industrial production of temperature, pressure, flow, and level are four monly used physical quantities, where the temperature is a very important process because it directly affects the bustion, chemical reaction, baking, roasting, calcination, distillation, concentration, extrusion, crystallization, and air movement, and other physical and chemical processes. Temperature control is widely used in industry, because of their