




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
精選優(yōu)質(zhì)文檔-----傾情為你奉上精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)專心---專注---專業(yè)精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)摘要本設(shè)計(jì)用單片機(jī)實(shí)現(xiàn)的多路溫度報(bào)警系統(tǒng),以AT89S52為主控制芯片,LCD1602為顯示芯片,DS18B20為溫度采集芯片,GSM模塊為信息發(fā)送模塊。本設(shè)計(jì)通過多個(gè)DS18B20采集各點(diǎn)溫度,送到單片機(jī)中進(jìn)行處理與比較,然后由單片機(jī)傳送到LCD1602中進(jìn)行顯示,若DS18B20所采集的溫度超過危險(xiǎn)值,則由單片機(jī)控制繼電器的控制端導(dǎo)通,從而關(guān)閉該DS18B20所對(duì)應(yīng)的電源,已達(dá)到防止電失火的作用,同時(shí)控制蜂鳴器響與小燈閃爍,達(dá)到報(bào)警目的,與此同時(shí),通過GSM模塊發(fā)送短信到監(jiān)控人的手機(jī)上。本設(shè)計(jì)中選用的DS18B20是單線智能溫度傳感器,體積小,用它來組成一個(gè)測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。DS18B20屬于新一代適配微處理器的智能溫度傳感器,它具有體積小,接口方便,傳輸距離遠(yuǎn)等特點(diǎn)。選用的LCD1602具有顯示電路簡單,價(jià)格便宜,能顯示英文字母等優(yōu)點(diǎn)。選用的AT89S52單片機(jī)具有體積小,價(jià)格低的優(yōu)點(diǎn),非常適用于本設(shè)計(jì)。以AT89S52單片機(jī)和DS18B20型溫度傳感器為核心的溫度報(bào)警器可實(shí)現(xiàn)多點(diǎn)溫度檢測,報(bào)警,顯示溫度等功能。是一種結(jié)構(gòu)簡單、性能穩(wěn)定、使用方便、價(jià)格低廉、智能化的溫度報(bào)警器,具有一定的實(shí)用價(jià)值。關(guān)鍵詞AT89S52單片機(jī),溫度傳感器DS18B20,LCD1602AbstractThedesignofmulti-useMCUtemperaturealarmsystemtothemaincontrolchipAT89S52,LCD1602todisplaychip,DS18B20forthetemperatureacquisitionchip,GSMmoduletosendtheinformationmodule.ThisdesigncollectionpointsthroughmultipleDS18B20temperature,andsentforprocessingandcomparisonofmicrocomputer,thentransferredtotheLCD1602SCMconductedshowsthatifthetemperatureexceedscollectedDS18B20riskvaluebytheendoftheSCMrelaycontrolleadpass,thusclosingthecorrespondingDS18B20powertopreventelectricalfirehasreachedtherole,whilecontrollingthebuzzerrangandthelittlelightsflashing,toalertpurposes,atthesametime,sendtextmessagesthroughtheGSMmoduletomonitortheperson'smobilephone.OneselectedsingleintelligenttemperaturesensorDS18B20isverysmall,useittoformatemperaturemeasuringsystem,issimple,inacommunicationline,youcanhangmanyofthesedigitalthermometer,veryconvenient.Belongstoanewgenerationofmicroprocessorsmarttemperaturesensoradapter,ithasasmall,convenientinterfaces,transmissiondistanceandsoon.TheLCD1602displaycircuitusedwithsimple,inexpensive,canshowtheadvantagesoftheEnglishalphabet.AT89S52microcontrollerselectedissmall,theadvantagesoflowprice,verysuitableforthisdesign.ToAT89S52MCUandDS18B20temperaturesensorcoretemperaturealarmcanbemultipointtemperaturedetection,alarm,thetemperatureandotherfunctions.Isasimplestructure,stableperformance,easytouse,inexpensive,intelligenttemperaturealarm,hassomepracticalvalue·KeywordsAT89S52microcontroller,temperaturesensorDS18B20,LCD1602,目錄CONTENTS緒論國內(nèi)外研究現(xiàn)狀現(xiàn)代信息技術(shù)的三大基礎(chǔ)是信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計(jì)算機(jī)技術(shù))。傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器被廣泛用于工農(nóng)業(yè)生產(chǎn)、科學(xué)研究和生活等領(lǐng)域,數(shù)量高居各種傳感器之首。近百年來,溫度傳感器的發(fā)展大致經(jīng)歷了以下三個(gè)階段;(1)傳統(tǒng)的分立式溫度傳感器(含敏感元件);(2)模擬集成溫度傳感器/控制器;(3)智能溫度傳感器。目前,國際上新型溫度傳感器正從模擬式向數(shù)字式、由集成化向智能化、網(wǎng)絡(luò)化的方向發(fā)展。[1]研究方向及進(jìn)展情況智能溫度傳感器發(fā)展的新趨勢進(jìn)入21世紀(jì)后,智能溫度傳感器正朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展。提高測溫精度和分辨力在20世紀(jì)90年代中期最早推出的智能溫度傳感器,采用的是8位A/D轉(zhuǎn)換器,其測溫精度較低,分辨力只能達(dá)到1°C。目前,國外已相繼推出多種高精度、高分辨力的智能溫度傳感器,所用的是9~12位A/D轉(zhuǎn)換器,分辨力一般可達(dá)0.5~0.0625°C。由美國DALLAS半導(dǎo)體公司新研制的DS1624型高分辨力智能溫度傳感器,能輸出13位二進(jìn)制數(shù)據(jù),其分辨力高達(dá)0.03125°C,測溫精度為±0.2°C。為了提高多通道智能溫度傳感器的轉(zhuǎn)換速率,也有的芯片采用高速逐次逼近式A/D轉(zhuǎn)換器。以AD7817型5通道智能溫度傳感器為例,它對(duì)本地傳感器、每一路遠(yuǎn)程傳感器的轉(zhuǎn)換時(shí)間分別僅為27us、9us。增加測試功能新型智能溫度傳感器的測試功能也在不斷增強(qiáng)。例如,DS1629型單線智能溫度傳感器增加了實(shí)時(shí)日歷時(shí)鐘(RTC),使其功能更加完善。DS1624還增加了存儲(chǔ)功能,利用芯片內(nèi)部256字節(jié)的E2PROM存儲(chǔ)器,可存儲(chǔ)用戶的短信息。另外,智能溫度傳感器正從單通道向多通道的方向發(fā)展,這就為研制和開發(fā)多路溫度測控系統(tǒng)創(chuàng)造了良好條件。
智能溫度傳感器都具有多種工作模式可供選擇,主要包括單次轉(zhuǎn)換模式、連續(xù)轉(zhuǎn)換模式、待機(jī)模式,有的還增加了低溫極限擴(kuò)展模式,操作非常簡便。對(duì)某些智能溫度傳感器而言,主機(jī)(外部微處理器或單片機(jī))還可通過相應(yīng)的寄存器來設(shè)定其A/D轉(zhuǎn)換速率(典型產(chǎn)品為MAX6654),分辨力及最大轉(zhuǎn)換時(shí)間(典型產(chǎn)品為DS1624)。總線技術(shù)的標(biāo)準(zhǔn)化與規(guī)范化目前,智能溫度傳感器的總線技術(shù)也實(shí)現(xiàn)了標(biāo)準(zhǔn)化、規(guī)范化,所采用的總線主要有單線(1-Wire)總線、I2C總線、BUS總線和SPI總線。溫度傳感器作為從機(jī)可通過專用總線接口與主機(jī)進(jìn)行通信。[2]可靠性及安全性設(shè)計(jì)傳統(tǒng)的A/D轉(zhuǎn)換器大多采用積分式或逐次比較式轉(zhuǎn)換技術(shù),其噪聲容限低,抑制混疊噪聲及量化噪聲的能力比較差。新型智能溫度傳感器(例如TMP03/04、LM74、LM83)普遍采用了高性能的Σ-Δ式A/D轉(zhuǎn)換器,它能以很高的采樣速率和很低的采樣分辨力將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),再利用過采樣、噪聲整形和數(shù)字濾波技術(shù),來提高有效分辨力。Σ-Δ式A/D轉(zhuǎn)換器不僅能濾除量化噪聲,而且對(duì)外圍元件的精度要求低;由于采用了數(shù)字反饋方式,因此比較器的失調(diào)電壓及零點(diǎn)漂移都不會(huì)影響溫度的轉(zhuǎn)換精度。這種智能溫度傳感器兼有抑制串模干擾能力強(qiáng)、分辨力高、線性度好、成本低等優(yōu)點(diǎn)。LM76型智能溫度傳感器增加了溫度窗口比較器,非常適合設(shè)計(jì)一個(gè)符合ACPI規(guī)范的溫控系統(tǒng)。這種系統(tǒng)具有完善的過熱保護(hù)功能,可用來監(jiān)控筆記本電腦和服務(wù)器中CPU及主電路的溫度。微處理器最高可承受的工作溫度規(guī)定為tH,臺(tái)式計(jì)算機(jī)一般為75°C,高檔筆記本電腦的專用CPU可達(dá)100°C。一旦CPU或主電路的溫度超出所設(shè)定的上、下限時(shí),
INT端立即使主機(jī)產(chǎn)生中斷,再通過電源控制器發(fā)出信號(hào),迅速將主電源關(guān)斷起到保護(hù)作用。此外,當(dāng)溫度超過CPU的極限溫度時(shí),嚴(yán)重超溫報(bào)警輸出端(T_CRIT_A)也能直接關(guān)斷主電源,并且該端還可通過獨(dú)立的硬件關(guān)斷電路來切斷主電源,以防主電源控制失靈。上述三重安全性保護(hù)措施已成為國際上設(shè)計(jì)溫控系統(tǒng)的新觀念。單片測溫系統(tǒng)單片系統(tǒng)(System
On
Chip)是21世紀(jì)一項(xiàng)高新科技產(chǎn)品。它是在芯片上集成一個(gè)系統(tǒng)或子系統(tǒng),其集成度將高達(dá)108~109元件/片,這將給IC產(chǎn)業(yè)及IC應(yīng)用帶來劃時(shí)代的進(jìn)步。目前,國際上一些著名的IC廠家已開始研制單片測溫系統(tǒng),相信在不久的將來即可面市[4]。主要研究內(nèi)容本設(shè)計(jì)通過多個(gè)DS18B20采集各點(diǎn)溫度,送到單片機(jī)中進(jìn)行處理與比較,然后由單片機(jī)傳送到LCD1602中進(jìn)行顯示,若DS18B20所采集的溫度超過危險(xiǎn)值,則由單片機(jī)控制繼電器的控制端導(dǎo)通,從而關(guān)閉該DS18B20所對(duì)應(yīng)的電源,已達(dá)到防止電失火的作用,同時(shí)控制蜂鳴器響與小燈閃爍,達(dá)到報(bào)警目的,與此同時(shí),通過GSM模塊發(fā)送短信到監(jiān)控人的手機(jī)上。系統(tǒng)設(shè)計(jì)方案設(shè)計(jì)思路多路溫度報(bào)警器是能夠檢測環(huán)境中的溫度高低,并具有報(bào)警功能的儀器,儀器的最基本組成部分應(yīng)包括:溫度信號(hào)采集電路、單片機(jī)控制電路、顯示電路、電源電路。溫度采集電路是由多個(gè)溫度傳感器構(gòu)成,將溫度信號(hào)轉(zhuǎn)換成單片機(jī)可識(shí)別的數(shù)字信號(hào)后送入單片機(jī)。單片機(jī)對(duì)所接收的數(shù)據(jù)進(jìn)行分析,是否大于或等于某個(gè)預(yù)設(shè)值(也就是報(bào)警限),如果大于則啟動(dòng)報(bào)警電路發(fā)出報(bào)警聲音,反之則為正常狀態(tài)。為方便檢測與監(jiān)控,使儀器測試人員及用戶能夠直觀地觀察到環(huán)境中各點(diǎn)的溫度值,可將濃度值送到顯示屏中。。為使報(bào)警裝置更加完善,可以在聲音報(bào)警基礎(chǔ)上,加入光閃報(bào)警,變化的光信號(hào)可以引起用戶注意,彌補(bǔ)嘈雜環(huán)境中聲音報(bào)警的局限。為使監(jiān)測人員不必一直觀察警報(bào)器或液晶,加入GSM模塊,發(fā)送短信到監(jiān)測人手機(jī)中。以上是根據(jù)報(bào)警器應(yīng)具備的功能,提出的整體設(shè)計(jì)思路。設(shè)計(jì)方框圖中央控制芯片單片機(jī)的主要特性主控制模塊采用AT89S52芯片,芯片主要控制其余各個(gè)模塊,通過對(duì)溫度模塊的控制采集溫度,對(duì)時(shí)鐘模塊的控制讀取時(shí)間,通過與GSM模塊的串行通訊控制遠(yuǎn)程通信,通過對(duì)報(bào)警電路的控制來報(bào)警,通過對(duì)本地電氣器件的控制來執(zhí)行本地動(dòng)作,AT89S52芯片介紹如下:1.主要性能(1)與MCS-51單片機(jī)產(chǎn)品兼容(2)8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器(3)1000次擦寫周期(4)全靜態(tài)操作:0Hz~33Hz(5)三級(jí)加密程序存儲(chǔ)器(6)32個(gè)可編程I/O口線(7)三個(gè)16位定時(shí)器/計(jì)數(shù)器(8)八個(gè)中斷源(9)全雙工UART串行通道(10)低功耗空閑和掉電模式(11)掉電后中斷可喚醒(12)看門狗定時(shí)器2.功能特性描述AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,2位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。(4)3.四個(gè)IO口的簡要介紹:P0口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時(shí),P0P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,p1輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P1端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。在flash編程和校驗(yàn)時(shí),P1口接收低8表2-1P1口各引腳介紹引腳號(hào)第二功能P1.0T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出P1.1T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制)P1.5MOSI(在系統(tǒng)編程用)P1.6MISO(在系統(tǒng)編程用)P1.7SCK(在系統(tǒng)編程用)P2口:P2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TL邏輯電平。對(duì)P2端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX@DPTR)時(shí),P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX@RI)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。P3口:P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,p2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P3端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。P3.7RD(外部數(shù)據(jù)存儲(chǔ)器)表2-2P3口各引腳介紹引腳號(hào)第二功能P3.0RXD(串行輸入)P3.1TXD(串行輸出)P3.2INT0(外部中斷0)P3.3INT0(外部中斷0)P3.4T0(定時(shí)器0外部輸入)P3.5T1(定時(shí)器1外部輸入)P3.6WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7RD(外部數(shù)據(jù)存儲(chǔ)器寫選通)4.其余各管腳的介紹:RST:復(fù)位輸入。晶振工作時(shí),RST腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T狗計(jì)時(shí)完成后,RST腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪問外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE僅在執(zhí)行MOVX或MOVC指令時(shí)有效。否則,ALE將被微弱拉高。這個(gè)ALE使能標(biāo)志位(地址為8EH的SFR的第PSEN:外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)AT89S52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN在每個(gè)機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN將不被激活。[8]EA/VPP:訪問外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H到FFFFH的外部程序存儲(chǔ)器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在flash編程期間,EA也接收12伏VPP電壓。XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。VCC:電源。GND:地5.引腳結(jié)構(gòu):圖2-1單片機(jī)樣式顯示電路LCD1602顯示電路1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:VSS為電源地第2腳:VDD接5V電源正極第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度)。第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。第5腳:RW為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。第6腳:E(或EN)端為使能(enable)端。第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。第15~16腳:什么也不接或接背光電源。15腳背光正極,16腳背光負(fù)極。1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”。因?yàn)?602識(shí)別的是ASCII碼,試驗(yàn)可以用ASCII碼直接賦值,在單片機(jī)編程中還可以用字符型常量或變量賦值,如'A’。以下是1602的16進(jìn)制ASCII碼表地址:讀的時(shí)候,先讀左邊那列,再讀上面那行,如:感嘆號(hào)!的ASCII為0x21,字母B的ASCII為0x42(前面加0x表示十六進(jìn)制)。[9]方案一:采用LCD顯示,軟件實(shí)現(xiàn)較為復(fù)雜,但硬件電路焊接簡單,能同時(shí)顯示兩行數(shù)字或英文字母。LCD的價(jià)格較貴。方案二:采用LED數(shù)碼管靜態(tài)顯示,需要的I/O口較多,(或者用別的芯片擴(kuò)展,但也增加了成本,)。方案三:采用LED數(shù)碼管并行動(dòng)態(tài)顯示,電路較上一方案簡單,所占的I/O口較上一方案少,且價(jià)格便宜,但只能顯示數(shù)字,所需數(shù)碼管也較多。綜上所述,采用方案一LCD1602顯示是本設(shè)計(jì)最佳顯示方案。溫度傳感器模塊方案一:采用熱敏電阻,可滿足40攝氏度至90攝氏度測量范圍,但熱敏電阻精度、重復(fù)性、可靠性較差,對(duì)于檢測小于1攝氏度的信號(hào)是不適用的。方案二:用模擬溫度傳感器,比如普通的熱敏電阻。熱敏電阻的溫度特性曲線是一條指數(shù)曲線,非線性度較大,因此在使用時(shí)要進(jìn)行線性化處理,線性化處理雖然能改善熱敏電阻的特性曲線,但比較復(fù)雜。為此常在要求不高的一般應(yīng)用中,做出在一定的溫度范圍內(nèi)溫度與阻值成線性關(guān)系的假定,才能簡化計(jì)算。另外,溫度與輸出電壓量是非線性的,讀出的是模擬量,需要A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換才能送給數(shù)碼管顯示,從而增加了硬件的負(fù)擔(dān)。方案三:采用數(shù)字溫度傳感器DS18B20作為溫度傳感器模塊,它具有獨(dú)特的單總線接口方式,需一根總線就能實(shí)現(xiàn)控制模塊與DS18B20之間的半雙工通信。DS18B20是集傳感元件和轉(zhuǎn)換電路于一體的小芯片上。
另外,DS18B20也支持"一線總線"接口,測量溫度范圍為-55°C~+125°C,在-10~+85°C綜上分析,DS18B20大大節(jié)約了I/O口資源,且在軟件結(jié)構(gòu)上省去建查找表這一繁瑣的步驟,且它有精確的轉(zhuǎn)換電路直接送出直觀的數(shù)據(jù),并且DS18B20擁有較高的溫度分辨率0.0625度(采用默認(rèn)的12位時(shí)),在價(jià)格方面,單個(gè)DS18B20市場價(jià)8元,與熱敏電阻加A/D轉(zhuǎn)換器ADC0809的組合價(jià)格相差不大。用它作為本設(shè)計(jì)傳感器模塊最恰當(dāng)不過,所以選擇方案三。DS18B20簡介DS18B20數(shù)字溫度計(jì)是DALLAS半導(dǎo)體公司生產(chǎn)的1-Wire,即單線智能溫度傳感器,體積小的特點(diǎn)。因此用它來組成一個(gè)測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。屬于新一代適配微處理器的智能溫度傳感器,它具有體積小,接口方便,傳輸距離遠(yuǎn)等特點(diǎn)。[17]DS18B20性能特點(diǎn)eq\o\ac(○,1)采用單總線專用技術(shù),既可通過串行口線,也可通過其它I/O口線與微機(jī)接口,無須經(jīng)過其它變換電路,直接輸出被測溫度值(16位二進(jìn)制數(shù),含符號(hào)位)。eq\o\ac(○,2)測溫范圍為-55℃-+125℃,測量分辨率為0.0625℃。eq\o\ac(○,3)內(nèi)含64位經(jīng)過激光修正的只讀存儲(chǔ)器ROM。eq\o\ac(○,4)適配各種單片機(jī)或系統(tǒng)機(jī)。eq\o\ac(○,5)用戶可分別設(shè)定各路溫度的上、下限。eq\o\ac(○,6)含寄生電源。DS18B20內(nèi)部結(jié)構(gòu)DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM,溫度傳感器,非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL,高速暫存器。DS18B20的管腳排列如圖3-6所示。圖3-6
DS18B20引腳分布圖以12位轉(zhuǎn)化為例說明溫度高低字節(jié)存放形式及計(jì)算:12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)高低兩個(gè)8位的RAM中,二進(jìn)制中的前面5位是符號(hào)位。如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625才能得到實(shí)際溫度。表3-1溫度高低字節(jié)存放說明高8位SSSSS262524低8位232221202-12-22-32-43.DS18B20控制方法在硬件上,DS18B20與單片機(jī)的連接有兩種方法,一種是Vcc接外部電源,GND接地,I/O與單片機(jī)的I/O線相連;另一種是用寄生電源供電,此時(shí)UDD、GND接地,I/O接單片機(jī)I/O。無論是內(nèi)部寄生電源還是外部供電,I/O口線要接5KΩ左右的上拉電阻。DS18B20有六條控制命令。[18]CPU對(duì)DS18B20的訪問流程是:先對(duì)DS18B20初始化,再進(jìn)行ROM操作命令,最后才能對(duì)存儲(chǔ)器操作,數(shù)據(jù)操作。DS18B20每一步操作都要遵循嚴(yán)格的工作時(shí)序和通信協(xié)議。如主機(jī)控制DS18B20完成溫度轉(zhuǎn)換這一過程,根據(jù)DS18B20的通訊協(xié)議,須經(jīng)三個(gè)步驟:每一次讀寫之前都要對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。表3-2RAM指令表指
令約定代碼操
作
說
明溫度轉(zhuǎn)換44H啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換讀暫存器BEH讀暫存器9個(gè)字節(jié)內(nèi)容寫暫存器4EH將數(shù)據(jù)寫入暫存器的TH、TL字節(jié)復(fù)制暫存器48H把暫存器的TH、TL字節(jié)寫到E2RAM中重新調(diào)E2RAMB8H把E2RAM中的TH、TL字節(jié)寫到暫存器TH、TL字節(jié)讀電源供電方式B4H啟動(dòng)DS18B20發(fā)送電源供電方式的信號(hào)給主CPUDS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。系統(tǒng)硬件設(shè)計(jì)電源設(shè)計(jì)單片機(jī)需要5V的電源,通常我們得到5V電源的方法是用變壓器、整流電路、濾波電路和穩(wěn)壓電路制作一個(gè)5V電源,參考電路如圖1-5所示。經(jīng)變壓器變壓可以將220V交流電變成7V或9V的交流電,再經(jīng)過4個(gè)整流二極管整流變成脈動(dòng)的直流,再通過C1和C2濾波,然后通過7805穩(wěn)壓,最后通過C3和C4濾波即可得到+5V直流電,D3是一個(gè)發(fā)光二極管,起到電源工作是否正常的指示作用,D2的作用是當(dāng)直接接直流電,并且把正負(fù)極弄反了時(shí),起到保護(hù)作用。如果不想自己制作電源,當(dāng)只需要5V電源是時(shí),可以用一條USB線把電腦USB口的5V電引到板子上使用。[11]圖3-1電源電路單片機(jī)最小系統(tǒng)單片機(jī)的最小化系統(tǒng)是指單片機(jī)能正常工作所必須的外圍元件,主要可以分成時(shí)鐘電路和復(fù)位電路,單片機(jī)的時(shí)鐘電路有一個(gè)12M的晶振和兩個(gè)22PF的小電容組成,它們決定了單片機(jī)的工作時(shí)間精度為1微秒。復(fù)位電路由22UF的電容和10K的電阻組成,判斷單片機(jī)芯片及時(shí)鐘系統(tǒng)是否正常工作有一個(gè)簡單的辦法,就是用萬用表測量單片機(jī)晶振引腳(18、19腳)的對(duì)地電壓,以正常工作的單片機(jī)用數(shù)字萬用表測量為例:18腳對(duì)地約2.24V,19腳對(duì)地約2.09V。對(duì)于懷疑是復(fù)位電路故障而不能正常工作的單片機(jī)也可以采用模擬復(fù)位的方法來判斷,單片機(jī)正常工作時(shí)第9腳對(duì)地電壓為零,可以用導(dǎo)線短時(shí)間和+5V連接一下,模擬一下上電復(fù)位,如果單片機(jī)能正常工作了,說明這個(gè)復(fù)位電路有問題。圖3-2單片機(jī)最小系統(tǒng)溫度采集模塊設(shè)計(jì)溫度采集模塊采用多個(gè)DS18B20串聯(lián)在單片機(jī)P2.1腳上,而選取哪個(gè)DS18B20工作則是由程序控制的。圖3-38個(gè)DS18B20測溫電路顯示模塊設(shè)計(jì)本設(shè)計(jì)采用LCD1602進(jìn)行顯示,LCD1602的數(shù)據(jù)端與AT89S52單片機(jī)的P1口相連,其控制端分別與AT89S52的P2.5,P2.6,P2.7腳相連。1602通過這些引腳把要顯示的數(shù)據(jù)從單片機(jī)中讀出來,進(jìn)行顯示。LCD1602的3腳通過滑動(dòng)變阻器連接到地上,這個(gè)滑動(dòng)變阻器的作用是調(diào)節(jié)LCD1602的對(duì)比度,使LCD1602顯示的數(shù)據(jù)更加清晰。圖3-4LCD1602顯示電路報(bào)警部分報(bào)警裝置采用無源壓電式蜂鳴器和一個(gè)紅色的LED小等組成,當(dāng)單片機(jī)AT89S52的P3.7腳置1時(shí),三極管Q1導(dǎo)通,,LED點(diǎn)亮。并且由于內(nèi)部延時(shí),小燈將閃爍,蜂鳴器將因?yàn)殡娖降淖兓l(fā)出聲響。圖3-5報(bào)警電路GSM模塊圖3-6GSM模塊如圖3-6所示為GSM模塊電路,TC35i模塊的正常運(yùn)行需要相應(yīng)的外圍電路與其配合。TC35i共有40個(gè)引腳,通過ZIF連接器分別與電源電路、啟動(dòng)與關(guān)機(jī)電路、數(shù)據(jù)通信電路、語音通信電路、SIM卡電路、指示燈電路等連接。[12]單片機(jī)通過串行口對(duì)GSM模塊進(jìn)行控制,之間進(jìn)行串行通信來達(dá)到遠(yuǎn)程通信的目的目前,國內(nèi)常用的GSM模塊有Wavecome的WMO2系列、Falcom的A2D系列、愛立信的DM10/DM20系列、中興的ZXGM18系列和西門子公司的TC35系列等,這些模塊的功能和用法差別不大,但各有所長。其中西門子公司的TC35系列模塊性價(jià)比很高,并且已經(jīng)有國內(nèi)的無線電設(shè)備入網(wǎng)證。所以本設(shè)計(jì)就是選用西門子GSM通信模塊TC35系列的蜂窩通信引擎TC35i。TC35i主要特性及技術(shù)指標(biāo)[13]
TC35i是一個(gè)支持中文短信息的工業(yè)級(jí)GSM模塊,高集成度(54.5mm×36mm×3.6mm),質(zhì)量為9g。工作在EGSM900MHz和GSM1800MHz(phase2/2+)雙頻段,電源范圍為3.3~5.5V,為單一電壓,可傳輸語音和數(shù)據(jù)信號(hào),功耗在EGS900(4類)和GSM1800(1類)分別為2W和1W,通過接口連接器和天線連接器分別連接SIM卡讀卡器和天線,SIM電壓為3V/1.8V。電流消耗----休眠狀態(tài)為3.5mA,空閑狀態(tài)(待機(jī)模式)為25mA,發(fā)射狀態(tài)(通話模式)為300mA(平均),2.5A峰值。溫度范圍----正常操作-20°C~+55°C,存放-30°C~+85°C。TC35i有40個(gè)引腳,通過一個(gè)ZIF(ZeroInsertionForce,零阻力插座)連接器引出。這40個(gè)引腳可以劃分為5類,即電源、數(shù)據(jù)輸入/輸出、SIM卡、音頻接口和控制。第1~14腳為電源部分:1~5為電源電壓輸入端Vbatt+,6~10為電源地GND,11、12為充電引腳,13為對(duì)外輸出電壓(共外電路使用),14為ACCU-TEMP接負(fù)溫度系數(shù)的熱敏電阻。24~29為SIM卡引腳,分別為CCIN、CCRST、CCIO、CCCLK、CCVCC和CCGND。33~40為語音接口,用來接電話手柄。15、30、31和32腳為控制部分:15為點(diǎn)火線IGT(Ignition),當(dāng)TC35i通電后必須給IGT一個(gè)大于100ms低電平,模塊才啟動(dòng);30為RTCbackup,31為Powerdown,32為SYNC。16~23為數(shù)據(jù)輸入/輸出,分別為DSR0、RING0、RxD0、TxD0、CTS0、RTS0、DTR0和DCD0。本模塊主要實(shí)現(xiàn)的功能是當(dāng)本地出現(xiàn)災(zāi)情時(shí),本模塊能夠把災(zāi)情及時(shí)通知到遠(yuǎn)程數(shù)據(jù)段(手機(jī)等接收終端)。繼電器部分圖3-7繼電器與單片機(jī)連接電路如圖3-7,選用的繼電器為電磁繼電器,控制端接一個(gè)線圈,若繼電器連接則常閉觸電斷開,常開觸點(diǎn)閉合。本設(shè)計(jì)為P0口接上拉電阻接PNP三極管的基極,若P0口為低電平,三極管導(dǎo)通,繼電器開始工作,使常閉觸點(diǎn)斷開,常開觸點(diǎn)閉合。在實(shí)際應(yīng)用中可以用常閉觸電接用電設(shè)備,使之關(guān)閉。按鍵部分本設(shè)計(jì)一共使用了三個(gè)按鍵,一個(gè)是單片機(jī)復(fù)位電路中的按鍵,在前面已經(jīng)介紹過了,這里就不再介紹了,剩下的兩個(gè)按鍵分別連接在P3.2,P3.3兩個(gè)引腳上,通過這兩個(gè)按鍵可已設(shè)定設(shè)計(jì)是否報(bào)警。圖3-8按鍵電路存儲(chǔ)器部分本設(shè)計(jì)中DS18B20所采集到的數(shù)據(jù)送到單片機(jī)后,單片機(jī)不光進(jìn)行顯示,還將其溫度值,序號(hào)值,及其相應(yīng)的ROM值存在了寄存器里,即圖3-9中的24C16B。圖3-9儲(chǔ)存器部分軟件調(diào)試軟件流程4.1.1主程序流程圖本設(shè)計(jì)流程圖如下圖所示,首先系統(tǒng)初始化,在液晶和DS18B20都初始化都完成之后,執(zhí)行溫度采集程序。采集溫度完成之后,處理所采集到的溫度,送到LCD1602中顯示,并且進(jìn)行比較,看采集到的溫度是否是安全值,若所采集到溫度大于安全值,報(bào)警電路報(bào)警,繼電氣電路導(dǎo)通。[19]圖4-1主程序流程圖4.1.2DS18B20溫度采集流程圖本設(shè)計(jì)的溫度采集系統(tǒng)是由多個(gè)DS18B20組成的,因?yàn)樗械腄S18B20都連接到一條總線上,所以讀每個(gè)DS18B20溫度時(shí)都要找尋到匹配的ROM.,DS18B20才能正常工作。[20]圖4-2溫度采集流程圖硬件調(diào)試及分析實(shí)驗(yàn)現(xiàn)象及結(jié)果分析本設(shè)計(jì)經(jīng)硬件上電測試,液晶顯示溫度和相應(yīng)的DS18B20的序號(hào)值,其所顯示的溫度,在一段時(shí)間之后,液晶顯示下一個(gè)DS18B20所測得的溫度和其序號(hào)值。如此循環(huán)顯示。為了更容易看到現(xiàn)象,在上電測試中,將其溫度上限設(shè)為35℃。在測溫過程中,用打火機(jī)點(diǎn)燃靠近第二個(gè)DS18B20,,發(fā)現(xiàn)在顯示第二個(gè)DS18B20顯示的溫度明顯比上次有所增加。在第二個(gè)DS18B20的溫度值超過35℃,并且液晶顯示到第二個(gè)DS18B20時(shí),報(bào)警電路報(bào)警,第二個(gè)繼電器所控制的電路斷開。實(shí)驗(yàn)中發(fā)現(xiàn)電路開始報(bào)警時(shí)并不是第二個(gè)DS18B20剛好達(dá)到上限,而是超過了一點(diǎn),經(jīng)過分析,原因是在DS18B20達(dá)到上限時(shí),單片機(jī)可能在那時(shí)并不是讀其所對(duì)應(yīng)的DS18B20值,當(dāng)程序執(zhí)行一遍之后,再讀那個(gè)DS18B20時(shí),溫度已經(jīng)超過上限了。雖然這個(gè)電路的實(shí)時(shí)性并不是特別的好,但是由于單片機(jī)的程序循環(huán)一次用的時(shí)間并不是太多,可以達(dá)到效果。實(shí)驗(yàn)過程中的遇到的困難液晶無法正常顯示本設(shè)計(jì)的顯示電路打算用1602液晶,液晶相對(duì)數(shù)碼管有很多有點(diǎn),這是不可否認(rèn)的,但后來在調(diào)試程序的時(shí)候發(fā)現(xiàn)液晶只顯示第一行方塊,按下復(fù)位鍵也沒反應(yīng)。最開始以為是硬件連接問題,用萬用表檢測未見異常。后來調(diào)節(jié)偏壓,未產(chǎn)生結(jié)果。后來以為是程序問題,調(diào)試了很多編程序仍然無法運(yùn)行,后來在別人的建議下棄用P0口,轉(zhuǎn)而使用P1口與1602進(jìn)行連接,取得了成功。DS18B20故障當(dāng)電路焊接完成進(jìn)行調(diào)試的時(shí)候,剛開始發(fā)現(xiàn)液晶不能顯示DS18B20的溫度,后來經(jīng)過調(diào)整程序發(fā)現(xiàn)是液晶顯示程序打斷了DS18B20程序的時(shí)序,使DS18B20不能正常工作。進(jìn)過改變程序解決了問題??墒?602能顯示之后又發(fā)現(xiàn)了新的故障,溫度只能顯示到16.9攝氏度,后來發(fā)現(xiàn)原因是程序中定義的中轉(zhuǎn)量T為unsignedchar,是8位的,而DS18B20溫度所輸出的數(shù)據(jù)是12位的,導(dǎo)致了溫度的高八位消失,所以溫度只能顯示到16.9。知道原因后將T設(shè)為unsignedint,解決了問題。繼電器方案問題剛開始本設(shè)計(jì)采用單片機(jī)引腳直接連接繼電器引腳,用另外的繼電器控制端接地的方法設(shè)計(jì)的,可是發(fā)現(xiàn)繼電器不工作。后用萬用表檢測單片機(jī)引腳,發(fā)現(xiàn)程序沒有問題。有點(diǎn)百思不得其解,后查資料發(fā)現(xiàn)單片機(jī)引腳無法直接驅(qū)動(dòng)繼電器。后改為用三極管控制繼電器是否接+5V電源,解決了問題。實(shí)驗(yàn)誤差分析在測量儀器的實(shí)際使用中,造成誤差的來源很多,通常是多種誤差源綜合作用的結(jié)果。就本儀器而言,誤差來源主要來自以下幾個(gè)方面。電源造成的誤差雖然系統(tǒng)采用直流電源供電,但電源不可避免地殘留一定的交流成分而形成噪聲信號(hào).它們對(duì)測控系統(tǒng)的正常運(yùn)行危害很大。本系統(tǒng)選用ACDC電源模塊,將220V市電轉(zhuǎn)化為5V直流電壓,分別給模擬電路和數(shù)字電路供電。為了盡量減小噪聲,數(shù)字地和模擬地要一點(diǎn)接地,每個(gè)芯片的電源就近接退耦電容。(2)環(huán)境、外部噪聲引起的誤差環(huán)境因素包括環(huán)境溫度、濕度、空氣中的塵埃等。對(duì)本系統(tǒng)來說,空氣中的成分對(duì)系統(tǒng)的探頭和單片機(jī)及其外圍電路影響很小,在進(jìn)行測量時(shí)不用進(jìn)行補(bǔ)償。但環(huán)境溫度、濕度對(duì)傳感器有一定的影響。但是溫濕度的影響相對(duì)于系統(tǒng)5%LEL的精度要求,可以忽略不計(jì)。另外,系統(tǒng)還受到各種外部電磁噪聲的干擾,設(shè)計(jì)上,把探測器與控制器之間的信號(hào)線用屏蔽電纜連接。在電路板布線時(shí),注意抗干擾設(shè)計(jì)。實(shí)物圖經(jīng)測試結(jié)果顯示,正常情況下液晶顯示各DS18B20所測得溫度,若某個(gè)DS18B20所測得溫度超過溫度上限60℃時(shí),液晶停留在所測那個(gè)DS18B20上,蜂鳴器報(bào)警,小燈閃爍。相應(yīng)的繼電器斷開。按下按鍵后蜂鳴器與小燈不再報(bào)警,液晶顯示NOWARN測試結(jié)果是正確的。結(jié)論通過本次設(shè)計(jì),系統(tǒng)能夠完成上限溫度發(fā)聲報(bào)警且顯示功能、數(shù)字顯示溫度計(jì)功能、輸入報(bào)警溫度,GSM模塊發(fā)送短信功能。本論文在對(duì)溫度傳感器和報(bào)警技術(shù)進(jìn)行深入研究的基礎(chǔ)上,全面比較國內(nèi)外同類產(chǎn)品的技術(shù)特點(diǎn),合理地確定系統(tǒng)的設(shè)計(jì)方案。并對(duì)儀器的整體設(shè)計(jì)和各個(gè)組成部分進(jìn)行了詳細(xì)的分析和設(shè)計(jì)。通過現(xiàn)場標(biāo)定及測試,分析采集到的溫度的實(shí)驗(yàn)數(shù)據(jù),計(jì)算本報(bào)警器顯示溫度與實(shí)際溫度之間僅存在少量誤差,滿足檢測要求,達(dá)到了預(yù)期的設(shè)計(jì)效果的結(jié)論。此次溫度計(jì)設(shè)計(jì),學(xué)會(huì)了規(guī)范化程序的編寫、程序調(diào)試的各種方法以及解決調(diào)試過程中出現(xiàn)的一系列的問題。更重要的是明白程序的優(yōu)化是多么重要。要想編寫出一個(gè)系統(tǒng)的程序,就必須十分清楚硬件電路中所用芯片的工作原理以及使用它們的一些注意事項(xiàng),比如這次設(shè)計(jì)中所用的DS18B20數(shù)字溫度傳感器,它的時(shí)序要求十分嚴(yán)格,由于它是采用單總線結(jié)構(gòu)的輸入輸出方法,它的時(shí)序中所用到的延時(shí)必然很關(guān)鍵,時(shí)間過長了會(huì)使整個(gè)溫度計(jì)的反應(yīng)時(shí)間變慢,延時(shí)時(shí)間過短會(huì)使傳感器不能正常工作。致謝在本次畢業(yè)設(shè)計(jì)中,我得到了指導(dǎo)老師江曉林老師的熱心指導(dǎo)。自始至終關(guān)心督促畢業(yè)設(shè)計(jì)進(jìn)程和進(jìn)度。幫助解決畢業(yè)設(shè)計(jì)中遇到的許多問題。還不斷向我傳授分析問題和解決問題的辦法,并指出了正確的努力方向,使我在畢設(shè)過程中少走很多彎路。同時(shí),他還提供給我們專門的各種設(shè)備及場所,使我在調(diào)試過程中能夠有充足的時(shí)間。在這里非常感謝江老師的指導(dǎo)和幫助,并致以誠摯的謝意!通過這次設(shè)計(jì)我明白了,無論做什么樣的事情,包括以后的工作,都需要付出努力才會(huì)有所匯報(bào),而不是隨便的去應(yīng)付。最后,感謝老師在這四年里的培養(yǎng)和教導(dǎo)。謝謝! 參考文獻(xiàn)1李鋼,趙彥峰.1-Wire總線數(shù)字溫度傳感器DS18B20原理及應(yīng)用.長安大學(xué)信息工程學(xué)院2劉建亭,毛善坤.DS18B20工作原理及基于C語言的接口設(shè)計(jì).河南科技大學(xué)機(jī)電工程學(xué)院3陳躍東.DS18B20集成溫度傳感器原理及其應(yīng)用.安徽工程科技學(xué)院4顧振宇劉魯源杜振輝.DS18B20接口的C語言程序設(shè)計(jì).天津大學(xué)5周月霞孫傳友.DSl8B20硬件連接及軟件編程.傳感器世界雜志6魏英智.DSl8B20在溫度控制中的應(yīng)用.黑龍江科技學(xué)院7張培仁.MCS-51單片機(jī)原理與應(yīng)用.北京:清華大學(xué)出版社,2003.8趙亮,侯國銳.單片機(jī)C語言編程與實(shí)例.北京:人民郵電出版社,2003。9張粵,倪偉。DSI8B20在分布式測溫系統(tǒng)中的應(yīng)用.淮陰工學(xué)報(bào).200210藏榮,游風(fēng)荷,周景霞.由單片機(jī)和多片DS1820組成的多點(diǎn)電溫度測控系統(tǒng)[J].國外電子元器件,2002(1):60-62.11況榮華.容太平.I2C總線在單片機(jī)上的實(shí)現(xiàn).國外電子元器件,2001(6)46~49.12陳世利等.SP1串行Flash在數(shù)據(jù)存儲(chǔ)系統(tǒng)中的應(yīng)用.國外電子元器件.2001(1O):20~23.13鄧建華.可縮程看門狗監(jiān)控E2PROM芯片.電子世界,2001(5):31~32.14王明顧.吳?。射噶鞒潆姷拇袑?shí)時(shí)時(shí)鐘芯片DS1302及應(yīng)用設(shè)計(jì).(何立民主編)單片機(jī)應(yīng)用技術(shù)選編第5集.64-67.15潘文.一種串行EPROM的高可靠性應(yīng)用和編程技術(shù).(何立民主編)單片機(jī)應(yīng)用技術(shù)選編第5集.44-48.16周巧娣,劉敬彪.AT24C256在單片機(jī)系統(tǒng)中的應(yīng)用.電子元器件應(yīng)用,2002(9):27~29.17Dallas.ApplicationNetBook,l999(網(wǎng)絡(luò)版)18吳江,陳尚松.單總線技術(shù)在測控系統(tǒng)中的應(yīng)用.電測與儀表,1999(9)19吳江,陳尚松.用單總線技術(shù)設(shè)計(jì)環(huán)境狀態(tài)監(jiān)控系統(tǒng).電子技術(shù)應(yīng)用,2000(6)20何立民.單片機(jī)應(yīng)用技術(shù)選編.北京航空航天大學(xué)出版,1996附錄程序main.c:#include"lcd1602.h"#include"ds18b20.h"#include"24C16B.h"sbitWN=P3^7;sbitX0=P3^2;sbitX1=P3^3;ucharnum;ucharn=1,count=0,smb=0;externcharzhen_temp[5],*wendu;externbitflag;ucharcodeds18b20_num1[8]={0xfd,0x00,0x00,0x00,0xb8,0xc5,0x45,0x28};ucharcodeds18b20_num2[8]={0x8e,0x00,0x00,0x00,0xb8,0xc5,0x30,0x28};ucharcodeds18b20_num3[8]={0xb9,0x00,0x00,0x00,0xb8,0xc5,0x31,0x28};ucharcodeds18b20_num4[8]={0xe0,0x00,0x00,0x00,0xb8,0xc5,0x32,0x28};ucharcodeds18b20_num5[8]={0x10,0x00,0x00,0x00,0xb8,0xc1,0x11,0x28};ucharcodeds18b20_num6[8]={0x4d,0x00,0x00,0x00,0xb8,0xc5,0x50,0x28};ucharcodeds18b20_num7[8]={0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x28};ucharcodeds18b20_num8[8]={0xed,0x00,0x00,0x00,0x00,0x28,0x12,0x28};voiddelay(unsignedinttime){ unsignedinti,j; for(i=0;i<time;i++) for(j=0;j<200;j++);}/**********************************************************************-------------------外部中斷0的中斷服務(wù)程序----------------------------voidint_0(void)interrupt0using0 { delay(15);//延時(shí)消抖 while(!X0);//等按鍵抬起smb=!smb; //允許報(bào)警標(biāo)志 WN=0; }voidtim_0(void)interrupt1using1 { TH0=-50000/256; TL0=-50000%256; count++; if(count==40) { count=0; n++; if(n==9)n=1; } }voidint_1(void)interrupt2using2 { delay(15);//延時(shí)消抖 while(!X1);//等按鍵抬起 TR0=!TR0; //允許T0標(biāo)志 } voidmain(void){ uchari,ad_24C16B=0,*p; uchartemp[3]; charwendu=0; char*str1="No.1:"; char*str2="No.2:"; char*str3="No.3:"; char*str4="No.4:"; char*str5="No.5:"; char*str6="No.6:"; char*str7="No.7:"; char*str8="No.8:"; IE=0x87;//開中斷 TCON=0x15;IT0=1; TR1=1; TMOD=0x01; TH0=-50000/256; TL0=-50000%256; WN=0; serial_set(); Lcd_Init(); ClrScreen(); while(1) { ds18b20_init(); ds18b20_writecommand(0xcc); ds18b20_writecommand(0x44); //轉(zhuǎn)換 delay(500); switch(n) { case(1):match_rom(ds18b20_num1);break;//匹配第一路 case(2):match_rom(ds18b20_num2);break;//匹配第一路 case(3):match_rom(ds18b20_num3);break;//匹配第一路 case(4):match_rom(ds18b20_num4);break;//匹配第一路 case(5):match_rom(ds18b20_num5);break;//匹配第一路 case(6):match_rom(ds18b20_num6);break;//匹配第一路 case(7):match_rom(ds18b20_num7);break;//匹配第一路 case(8):match_rom(ds18b20_num8);break;//匹配第一路 default:break; } ds18b20_writecommand(0xbe); //讀 for(i=0;i<2;i++) temp[i]=ds18b20_readdata(); temperature_process(temp[0],temp[1]); if(zhen_temp[0]=='0') { zhen_temp[0]=''; if(zhen_temp[1]=='0')zhen_temp[1]=''; } Screen_home(); GotoXY(0,0); Print("Temper:");GotoXY(0,1); switch(n) { case(1):Print(str1);break; case(2):Print(str2);break; case(3):Print(str3);break; case(4):Print(str4);break; case(5):Print(str5);break; case(6):Print(str6);break; case(7):Print(str7);break; case(8):Print(str8);break; default:break; } if(!flag)//正 { Print(""); Print(zhen_temp); } else//負(fù) { Print("-"); Print(zhen_temp); } temp[0]=0xdf; temp[1]='C'; temp[2]='\0'; Print(temp); GotoXY(0,1); /*******************************存儲(chǔ)信息**************************************/ SDA_24C16B=1; //初始化24C16B _nop_();SCK_24C16B=1; write_24C16B_ad_da(ad_24C16B,wendu); ad_24C16B++; write_24C16B_ad_da(ad_24C16B,n); ad_24C16B++; for(i=9;i>0;i--,ad_24C16B++,p++) write_24C16B_ad_da(ad_24C16B,*p);/*******************************報(bào)警判斷**************************************/ GotoXY(7,0); if(smb==0)Print("warn"); elsePrint("nowarn"); while(smb==0&&zhen_temp[4]>40||zhen_temp[4]<-20) { WN=1; delay(2); WN=0; delay(2); if(smb)break; } } }LCD1602.C#include"lcd1602.h"voiddelay1_64ms(void){ uchari; for(i=0;i<250;i++) { _nop_(); _nop_(); _nop_(); _nop_(); }}unsignedcharLcd_Wait(void){ while(1) { DBPort=0xff; LcdEn=0; _nop_(); LcdRs=0; _nop_(); _nop_(); LcdRw=1; _nop_(); _nop_(); LcdEn=1; _nop_(); _nop_(); _nop_(); _nop_(); if((DBPort&0x80)==0) { break; } LcdEn=0; } returnDBPort;}voidLcd_Write(bitstyle,unsignedcharinput){ LcdEn=0; _nop_(); _nop_(); LcdRs=style; _nop_(); _nop_(); LcdRw=0; DBPort=input; _nop_(); _nop_(); LcdEn=1; _nop_(); _nop_(); LcdEn=0; _nop_(); Lcd_Wait(); }voidClrScreen(void){ Lcd_Write(Lcd_Command,Lcd_Clear_Screen); delay1_64ms();}/voidScreen_home(void){ Lcd_Write(Lcd_Command,Lcd_Home);}voidLcd_SetDisplay(unsignedcharDisplayMode){ Lcd_Write(Lcd_Command,0x08|DisplayMode);}voidLcd_Move(unsignedcharMoveMode){ Lcd_Write(Lcd_Command,0x10|MoveMode);}voidLcd_SetInput(unsignedcharInputMode){ Lcd_Write(Lcd_Command,0x04|InputMode);}voidLcd_Init(void){ Lcd_Write(Lcd_Command,0x38);//8位數(shù)據(jù)端口,2行顯示,5*7點(diǎn)陣 Lcd_SetDisplay(Lcd_Display_On);//開啟顯示,無光標(biāo)|Lcd_Cursor|Lcd_Flash Lcd_SetInput(Lcd_Ac_Up|Lcd_No_Move);//AC遞增,畫面不動(dòng)_To }voidGotoXY(unsignedcharx,unsignedchary){ if(y==0) {Lcd_Write(Lcd_Command,0x80|x); } if(y==1) {Lcd_Write(Lcd_Command,0x80|(x+0x40)); } }voidPrint(unsignedchar*str){ while(*str!='\0') { Lcd_Write(Lcd_Data,*str); str++; }}voidprint_char(uchara){
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 泡沫塑料在文化藝術(shù)品保護(hù)中的應(yīng)用考核試卷
- 煤化工廢水處理新技術(shù)與資源化利用考核試卷
- 認(rèn)證認(rèn)可ISO反賄賂管理體系考核試卷
- 室內(nèi)設(shè)計(jì)師AI的應(yīng)用與發(fā)展
- 有機(jī)化學(xué)原料的結(jié)晶與純化技術(shù)考核試卷
- 設(shè)計(jì)可持續(xù)性與環(huán)保理念應(yīng)用考核試卷
- 學(xué)生安全感恩教育
- 保護(hù)刷牙美術(shù)課件
- 包容萬象萬象共存課件
- 奧運(yùn)標(biāo)志設(shè)計(jì)說明模板
- 石油化工閥門檢修及維護(hù)措施
- 2024年廣西物流職業(yè)技術(shù)學(xué)院招聘教職人員筆試真題
- 2024-2025湘科版小學(xué)科學(xué)四年級(jí)下冊期末考試卷及答案(三套)
- 中國企業(yè)科創(chuàng)力研究報(bào)告2024
- 大型海上發(fā)電用雙燃料燃?xì)廨啓C(jī)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 工程承包再轉(zhuǎn)讓合同協(xié)議
- (廣東二模)2025年廣東省高三高考模擬測試(二)歷史試卷(含答案)
- 2025湖南建投集團(tuán)春季校園招聘239人筆試參考題庫附帶答案詳解
- 2025-2030全球冰雪產(chǎn)業(yè)經(jīng)營效益與發(fā)展投資策略建議研究報(bào)告
- 反邪教測試題及答案
- 業(yè)務(wù)合規(guī)制度培訓(xùn)
評(píng)論
0/150
提交評(píng)論