基于單片機(jī)體溫檢測(cè)儀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).doc_第1頁
基于單片機(jī)體溫檢測(cè)儀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).doc_第2頁
基于單片機(jī)體溫檢測(cè)儀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).doc_第3頁
基于單片機(jī)體溫檢測(cè)儀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).doc_第4頁
基于單片機(jī)體溫檢測(cè)儀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).doc_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

.In this paper, a temperature detection system based on a single-chip microcomputer is designed to detect human body temperature, display it in digital form, and play the detected human body temperature specific value through the mode of voice playback.The system is composed of several parts: SCM, sensor, LCD, and voice module. The hardware structure is designed with the microcontroller STC89C52 as the core. It detects the human body temperature through the temperature sensor DS18B20, displays the human body temperature value on the LCD1602, and then plays the detected value through the voice module. . Part of the system software through the software keil C language program development and design, debugging.The designed electronic body temperature detector has realized temperature detection, digitization, and electronization, which is of great help to the development of future thermometers. The electronic thermometer can gradually replace mercury (toxic element) thermometers, which greatly improves the use value of thermometers, makes readings clear, and reduces Human body damage, safety and environmental protection have further improved the smart life of people.Keywords: Body temperature detector; Electronic; STC89C52 microcontroller;LCD1602目錄摘要IAbstractII目錄III1 緒論11.1 背景11.1.1 項(xiàng)目背景11.1.2 國(guó)內(nèi)發(fā)展?fàn)顩r11.1.3 項(xiàng)目研究?jī)?nèi)容和要求22 系統(tǒng)分析與設(shè)計(jì)32.1 系統(tǒng)分析32.1.1 系統(tǒng)流程32.2 概要設(shè)計(jì)32.2.1 程序流程32.2.2 功能模塊介紹33 系統(tǒng)實(shí)現(xiàn)123.1 讀ROM地址123.2 讀取溫度133.3 顯示溫度144 測(cè)試結(jié)果164.1 測(cè)試計(jì)劃164.2 仿真結(jié)果185 總結(jié)與展望IV參考文獻(xiàn)V致謝VI.1 緒論1.1 背景 體溫是人們身體狀況的重要指標(biāo)之一。體溫的高低影響著人們的健康狀況,會(huì)引起一系列的疾病,所以在生病的時(shí)候,體溫的數(shù)值至關(guān)重要,而溫度檢測(cè)儀是人們常用的手段。1.1.1 項(xiàng)目背景在正常的健康狀態(tài)下,體溫是穩(wěn)定的,保持在約36.2至37.2,具體的溫度數(shù)值產(chǎn)生狀況可以區(qū)分為:低熱:37.438;中等度熱:38.139:高熱:39.141;超高熱:41以上。體溫的變化會(huì)影響人們的健康,所以檢測(cè)體溫就顯得非常重要。在現(xiàn)代發(fā)展過程中,體溫探測(cè)器是最重要的手段之一。我們經(jīng)常使用的水銀溫度計(jì)就是其中之一。然而,由于包含有毒元素和電子技術(shù)的水銀溫度計(jì)的發(fā)展,電子溫度計(jì)逐漸發(fā)展并漸漸取代水銀溫度計(jì)。最早的溫度計(jì)產(chǎn)生在16世紀(jì),由意大利發(fā)明家伽利略發(fā)明,后來伽利略的學(xué)生和其他科學(xué)家,在這個(gè)基礎(chǔ)上反復(fù)改進(jìn),華氏溫度計(jì)誕生了;華氏溫度計(jì)制成后又經(jīng)過30多年,瑞典人攝爾修斯改進(jìn)了華倫海特溫度計(jì)的刻度,他把水的沸點(diǎn)定為100度,把水的冰點(diǎn)定為0度。后來施勒默爾把兩個(gè)溫度點(diǎn)的數(shù)值又倒過來,就成了現(xiàn)在的百分溫度,即攝氏溫度,用表示,成為了人們常用方式。在現(xiàn)代技術(shù)的高速發(fā)展,電子體溫檢測(cè)儀逐步出現(xiàn)發(fā)展壯大,漸漸取代普通體溫計(jì),電子體溫計(jì)由溫度傳感器,LCD顯示器,和集成電路等電子元件組成。電子體溫檢測(cè)儀可以快速準(zhǔn)確地測(cè)量一個(gè)人體溫,與傳統(tǒng)的水銀溫度計(jì)相比,電子溫度檢測(cè)儀具有讀數(shù)方便,測(cè)量時(shí)間短,精度高,記憶性好等優(yōu)點(diǎn)。特別是電子體溫計(jì)不含水銀,對(duì)人體和環(huán)境沒有影響,特別適合家庭,醫(yī)院等場(chǎng)合使用。 1.1.2 國(guó)內(nèi)發(fā)展?fàn)顩r中國(guó)的電子溫度計(jì)產(chǎn)業(yè)起源于1998年,發(fā)展速度超過30,并在一年內(nèi)超過10年。利潤(rùn)率,政策壁壘和技術(shù)壁壘低一倍甚至10倍以上,吸引了大量公司進(jìn)入該行業(yè)。目前,擁有80多個(gè)電子溫度計(jì)的國(guó)產(chǎn)品牌是行業(yè)領(lǐng)先的國(guó)外品牌,如“歐姆龍”,“夏爾”,“網(wǎng)關(guān)”等。有“海爾”,“Delcon”,“Yucon”和“Hypercon”。華辰,華安,康復(fù),沖等迅速發(fā)展。未來國(guó)內(nèi)品牌擴(kuò)張,試圖進(jìn)入該行業(yè)的廠商將達(dá)到50家以上。由于電子溫度計(jì)行業(yè)逐步標(biāo)準(zhǔn)化和高新類的電子產(chǎn)品的興起,電子體溫計(jì)產(chǎn)品行業(yè)進(jìn)入空前高速發(fā)展階段。常用的電子溫度計(jì)有三種類型:硬棒溫度計(jì):廣泛應(yīng)用于家庭的溫度計(jì),使用腋下測(cè)量和口腔測(cè)量。軟棒類型:軟頭電子體溫計(jì)可以任意彎曲,多方位,無死角,適合所有部位的測(cè)量,一般可以使用口,腋,肛三種測(cè)量方法。安撫奶嘴類型:嬰兒安撫奶嘴電子體溫計(jì)是根據(jù)寶寶的生理特點(diǎn)精心設(shè)計(jì)和制造的。所有部件都設(shè)計(jì)成圓弧形,曲率基于嬰兒嘴巴的形狀。硅膠奶嘴中的溫度傳感器包含一個(gè)溫度傳感器。與以往傳統(tǒng)市場(chǎng)的體溫計(jì)相比,它的誤差一般不超過0.1,易于讀取和攜帶,但是當(dāng)由體溫,時(shí)間和外界空氣,體內(nèi)不同部位測(cè)得的體溫和溫度差異導(dǎo)致穩(wěn)定性差。1.1.3 項(xiàng)目研究?jī)?nèi)容和要求在本項(xiàng)目中,設(shè)計(jì)的體溫檢測(cè)儀要求便于攜帶,精度準(zhǔn)確,具有播報(bào)功能。所以在設(shè)計(jì)中選取了單片機(jī)STC89C52為核心,因?yàn)镾TC89C52它具有便攜性,易用性和高性能等優(yōu)點(diǎn),它內(nèi)部具有存儲(chǔ)器4K,寬度8bit,128內(nèi)存,本設(shè)計(jì)使用它可以滿足我們所有的需求。此外還選用了溫度傳感器DS18B20為主的檢測(cè)體溫模塊,檢測(cè)體溫溫度,用LCD1602顯示體溫?cái)?shù)值作為體溫檢測(cè)儀的顯示器,最后加以來實(shí)現(xiàn)體溫檢測(cè)到的數(shù)值播報(bào)功能。在本項(xiàng)目中研究的主要是體溫檢測(cè),經(jīng)過溫度傳感器進(jìn)行溫度采集,再進(jìn)行數(shù)字轉(zhuǎn)換,通過單片機(jī)轉(zhuǎn)發(fā)給顯示模塊LCD1602,在進(jìn)行數(shù)值播報(bào)這一系列功能實(shí)現(xiàn)的過程。具體功能:1、 顯示溫度范圍 0攝氏度到85攝氏度。2、 溫度精確到小數(shù)點(diǎn)后一位。3、 LCD1602顯示DS18B20檢測(cè)到的溫度數(shù)值。4、 當(dāng)溫度超過一定上限的數(shù)值,會(huì)進(jìn)行溫度交警,LCD顯示“temp is too high”2 系統(tǒng)分析與設(shè)計(jì)2.1 系統(tǒng)分析 在這個(gè)設(shè)計(jì)當(dāng)中選用了單片機(jī)STC89C52作為核心,主要起主控作用,控制著整個(gè)系統(tǒng)的運(yùn)行。這個(gè)體溫檢測(cè)儀系統(tǒng)采用了溫度傳感器DS18B20進(jìn)行溫度的檢測(cè),當(dāng)傳感器檢測(cè)溫度之后,會(huì)在LCD1602上顯示相應(yīng)的溫度數(shù)值。2.1.1 系統(tǒng)流程系統(tǒng)設(shè)計(jì)流程圖如圖1-1所示。 圖2-1系統(tǒng)設(shè)計(jì)框圖2.2 概要設(shè)計(jì)2.2.1 程序流程程序流程圖如圖2-2程序流程圖所示圖2-2程序流程圖2.2.2 功能模塊介紹單片機(jī)系統(tǒng)模塊:主要由STC89C52單片機(jī)、復(fù)位電路和晶振電路三個(gè)部分組成。STC89C52單片機(jī)是ATMEL公司制造的低電壓,高性能CMOS 8位微控制器。 它采用ATMEL的高密度非易失性存取技術(shù),內(nèi)置8個(gè)字節(jié)的只讀存儲(chǔ)器(EPROM)和128字節(jié)內(nèi)部RAM ,k字節(jié)Flash閃速存儲(chǔ)器。STC89C52單片機(jī)擁有較高的性能,而且成本低,可用于各種控制領(lǐng)域,它集成了微型計(jì)算機(jī)的主要組件,包括CPU,存儲(chǔ)器,可編程I / O端口,定時(shí)器/計(jì)數(shù)器和串行端口。芯片參數(shù):1、工作電壓:3.3V-5.5V2、工作頻率范圍:0 -40MHz 3、8位CPU4、片集成256字節(jié)RAM。 5、4個(gè)8位的并行I/O接口:P0,P1,P2,P36、單片機(jī)下載程序直接通過P30 P31 RXD和TXD串行端口。7、具有EEPROM功能。8、2個(gè)16位定時(shí)/計(jì)數(shù)器9、5個(gè)優(yōu)先級(jí)別的5個(gè)中斷源10、定時(shí)器可以用來模擬許多異步串行端口。它的基本結(jié)構(gòu)如圖3-1所示。 圖2-3單片機(jī)基本結(jié)構(gòu)圖 電源電路:此最小系統(tǒng)中的電源供電模塊的電源可以通過計(jì)算機(jī)的USB口供給,也可使用外部穩(wěn)定的5V電源供電模塊供給。電源電路中接入了電源指示LED,圖中R2為L(zhǎng)ED的限流電阻。當(dāng)LED發(fā)亮?xí)r,這表示USB電源電路供電成功。 圖2-4電源電路圖晶振電路:電路中的C1非極性電容器和C2非極性電容器是啟動(dòng)電容器。 當(dāng)12MHz晶體振蕩器工作在高頻時(shí),它會(huì)產(chǎn)生一定的寄生電感。 為了平衡電感并產(chǎn)生諧振,可以添加兩個(gè)10-33pf的非極性電容。 單片機(jī)內(nèi)部有一個(gè)振蕩電路,我們需要將晶振電路連接到外部工作。 晶體和電容以及內(nèi)部電路組成一個(gè)振蕩電路。 只要MCU接通電源,電容就開始振蕩,晶體振蕩器工作,從而使MCU具有連續(xù)的時(shí)鐘信號(hào)。 51單片機(jī)有一個(gè)12路分頻器,所以時(shí)鐘周期為t = 1 /120000001us。 圖2-5晶振電路圖 LCD顯示模塊:LCD1602是一種用于顯示字母,數(shù)字,符號(hào)等的點(diǎn)陣式液晶模塊。由多個(gè)5X7或5X11點(diǎn)陣字符位組成,每個(gè)點(diǎn)字符位都可以顯示一個(gè)字符,每一位在點(diǎn)線之間有一個(gè)間隔,每行也有一個(gè)間隔,它會(huì)播放一個(gè)字符間距和行。間距的作用。LCD1602指顯示內(nèi)容為16X2,表示可顯示兩行,每行16個(gè)字符的LCD模塊(可顯示字符或者數(shù)字)。我們可以通過單片機(jī)的端口來控制LCD1602的數(shù)據(jù)引腳, 數(shù)據(jù)命令和使能引腳由SCM的P1.5,P1.6和P1.7端口控制。 通過遵循LCD1602通信時(shí)序控制,我們可以顯示要顯示的數(shù)據(jù),通過P2端口發(fā)送給LCD實(shí)時(shí)顯示。 圖2-6 LCD顯示電路圖LCD1602采用標(biāo)準(zhǔn)的16腳接口,其中:1:GND是電源地2:VCC連接到5V電源的正極。3:V0是LCD對(duì)比度調(diào)節(jié)端子。當(dāng)正電源連接時(shí),對(duì)比度最弱。當(dāng)電源接地時(shí),對(duì)比度最高。 (對(duì)比度過高,會(huì)產(chǎn)生“鬼影”,使用時(shí)可用10K電位器調(diào)節(jié)對(duì)比度)。4:RS為寄存器選擇,高電平為1時(shí)選擇數(shù)據(jù)寄存器,低電平為0時(shí)選擇指令寄存器。5:RW是讀/寫信號(hào)線。讀操作在高電平(1)下執(zhí)行,寫操作在低電平(0)下執(zhí)行。6:E(或EN)端為使能端,高電平時(shí)讀信息(1),負(fù)跳時(shí)執(zhí)行指令。714:D0D7為8位雙向數(shù)據(jù)終端。第15至第16腳:空腳或背光電源。15:針背光正極16:針背光負(fù)極。功能特點(diǎn):3.3V或5V工作電壓,對(duì)比度可調(diào),包括復(fù)位電路,提供多種控制命令,如:清屏,字符閃爍,光標(biāo)閃爍,顯示移位等功能,具有80字節(jié)數(shù)據(jù)顯存DDRA內(nèi)存是192個(gè)字符發(fā)生器CGROM與5X7點(diǎn)陣和8個(gè)用戶可定義的5X7字符發(fā)生器CGRAM。特點(diǎn)應(yīng)用:微功耗,體積小,顯示內(nèi)容豐富,超薄輕便,常用于袖珍儀器和低功耗應(yīng)用。LCD1602指令、功能令、指令碼如下圖所示: 圖2-7 LCD1602指令集圖測(cè)溫模塊:由DS18B20傳感器組成,單總線結(jié)構(gòu),DS18B20的DQ與單片機(jī)P3口連接,通過上拉電阻接電源,只要發(fā)送DS18B20傳感器相應(yīng)的ROM地址,就能訪問該器件。本系統(tǒng)通過DS18B20傳感器檢測(cè)到人體溫度,再調(diào)用單片機(jī)中的讀取DS18B20溫度的程序:向總線放啟動(dòng)溫度轉(zhuǎn)換命令,啟動(dòng)連接總線上的DS18B20模塊溫度裝換根據(jù)傳感器的64位ROM地址,發(fā)送到總線匹配對(duì)應(yīng)的傳感器模塊向總線發(fā)讀取暫存器命令讀DS18B20模塊轉(zhuǎn)換的溫度值。 圖2-8 測(cè)溫模塊電路圖DS18B20傳感器的工作原理:DS18B20的讀寫時(shí)序和溫度測(cè)量原理與DS1820相同,但由于溫差取得的位數(shù)不同,溫度轉(zhuǎn)換延時(shí)時(shí)間從2s到750ms不等。 DS18B20溫度測(cè)量原理:低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)給計(jì)數(shù)器1。高溫度系數(shù)晶體振蕩器隨著溫度顯著地改變其振蕩速率,并且所產(chǎn)生的信號(hào)用作計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器預(yù)設(shè)為對(duì)應(yīng)于-55C的基準(zhǔn)值。計(jì)數(shù)器1對(duì)由低溫度系數(shù)晶體振蕩器產(chǎn)生的脈沖信號(hào)進(jìn)行倒計(jì)數(shù)。當(dāng)計(jì)數(shù)器1的預(yù)置值減小到0時(shí),溫度寄存器值將增加1,計(jì)數(shù)器1的預(yù)置再次被加載,并且計(jì)數(shù)器1重新啟動(dòng)。對(duì)由低溫度系數(shù)晶體振蕩器產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),并且重復(fù)該周期直到計(jì)數(shù)器2達(dá)到0.溫度寄存器值的累積被停止。此時(shí),溫度寄存器中的值是測(cè)量溫度。斜率累加器用于補(bǔ)償和校正溫度測(cè)量過程中的非線性,其輸出用于校正計(jì)數(shù)器的預(yù)設(shè)值。技術(shù)性能:1、獨(dú)特的單線接口模式,DS18B20只需要一條端口線即可連接微處理器,實(shí)現(xiàn)微處理器與DS18B20的雙向通信。2、溫度范圍-55C+ 125C,固有溫度誤差(注意,不是分辨率,以前出錯(cuò)了)1C。3、支持多點(diǎn)聯(lián)網(wǎng)功能,多個(gè)DS18B20可以并行連接在三根線上,最多只能并聯(lián)8根,實(shí)現(xiàn)多點(diǎn)溫度測(cè)量,如果數(shù)量過多,會(huì)使電源電源電壓過低,導(dǎo)致信號(hào)傳輸不穩(wěn)定。4、電源:3.05.5V / DC(數(shù)據(jù)線寄生供電)5、不需要使用任何外部組件6、測(cè)量結(jié)果以912位串行傳輸7、不銹鋼保護(hù)管直徑68、適用于DN1525,DN40DN250各種傳媒行業(yè)管道和狹小空間設(shè)備的測(cè)溫9、標(biāo)準(zhǔn)安裝螺紋M10X1,M12X1.5,G1 / 2“可選10、PVC電纜直接出線或德式球接線盒出線,方便與其他電器設(shè)備連接。接線方法:面對(duì)傳感器平坦的一面,左正右負(fù),一旦逆轉(zhuǎn),它們會(huì)立即變熱,并可能燃燒! 同時(shí),反過來也是傳感器始終顯示85C的原因。 在實(shí)際操作過程中,正負(fù)旋轉(zhuǎn)反轉(zhuǎn),傳感器立即發(fā)熱,液晶屏不顯示讀數(shù),正負(fù)極端顯示85C。 另外,如果使用51單片機(jī),中間引腳必須連接4.7K-10K的上拉電阻,否則,由于高電平不能正常輸入/輸出,或者在電源顯示85C后立即或 使用幾個(gè)月后溫度升至85C并正常。特點(diǎn):獨(dú)特的第一線接口只需要一個(gè)端口通信,簡(jiǎn)化了分布式溫度檢測(cè)應(yīng)用。不需要外部組件來提供數(shù)據(jù)總線電力。電壓范圍為3.0 V至5.5 V.不需要備用電源。測(cè)量溫度范圍為-55C至+ 125C。華氏度相當(dāng)于-67C至257F -10C至+85C0.5C溫度傳感器可編程分辨率為9至12位,溫度轉(zhuǎn)換為12位數(shù)字格式,最大可達(dá)750毫秒,用戶可定義的非易失性溫度報(bào)警設(shè)置,應(yīng)用包括溫度控制,工業(yè)系統(tǒng),消費(fèi)類電子產(chǎn)品溫度計(jì),敏感系統(tǒng)。描述DS18B20的數(shù)字溫度計(jì)提供9到12位(可編程設(shè)備溫度讀數(shù))。由于DS18B20是一種端口通信,中央微處理器只有一個(gè)與DS18B20的端口連接。對(duì)于讀寫和溫度轉(zhuǎn)換,可以從數(shù)據(jù)線本身獲得能量,無需外部電源。由于每個(gè)DS18B20包含一個(gè)唯一的序列號(hào),所以同一條總線上可以同時(shí)存在多個(gè)DS18B20。這使得溫度傳感器可以放置在許多不同的地方。它有許多用途,包括空調(diào)環(huán)境控制,建筑物中溫度設(shè)備或機(jī)器的傳感,以及過程監(jiān)控和控制。DS18B20使用單線通信接口,由于第一線通信接口,必須先完成ROM設(shè)置,否則存儲(chǔ)器和控制功能將不可用。主要提供以下功能命令之一:1.讀取ROM 2. ROM匹配3.搜索ROM 4.跳過ROM 5.報(bào)警檢查。這些指令在沒有設(shè)備的64位平版ROM序列號(hào)上運(yùn)行??梢赃x擇一條線上的多個(gè)設(shè)備來選擇一個(gè)設(shè)備。同時(shí),總線可以知道總線上有多少設(shè)備以及總線上有哪些設(shè)備。如果指令成功完成DS18B20溫度測(cè)量,則數(shù)據(jù)將存儲(chǔ)在DS18B20的存儲(chǔ)器中??刂乒δ苤甘綝S18B20執(zhí)行溫度測(cè)量。測(cè)量結(jié)果將被放入DS18B20的存儲(chǔ)器中,并可由存儲(chǔ)器功能的指令器讀取,讀取內(nèi)容的片上存儲(chǔ)器。溫度報(bào)警觸發(fā)TH和TL有一個(gè)字節(jié)的EEPROM數(shù)據(jù)。如果DS18B20不使用警報(bào)檢查指令,則這些寄存器可用于一般用戶存儲(chǔ)目的。片內(nèi)還包含配置字節(jié)以理想地解決溫度數(shù)字轉(zhuǎn)換問題。寫入TH,TL指令和配置字節(jié)是使用存儲(chǔ)器功能指令完成的。通過寄存器讀寄存器。所有數(shù)據(jù)的讀寫從最低位開始。部件描述:DS18B20的存儲(chǔ)器由暫存RAM和電可擦除RAM組成,電可擦除RAM又包括溫度觸發(fā)器TH和TL以及配置寄存器。內(nèi)存可以完全確定第一線端口的通信,用寫入寄存器的命令將數(shù)字寫入寄存器,然后讀取寄存器的命令也可用于確認(rèn)這些數(shù)字。當(dāng)進(jìn)行確認(rèn)時(shí),可以使用命令復(fù)制寄存器將這些數(shù)字傳送到電可擦除RAM中。當(dāng)寄存器中的數(shù)字被修改時(shí),此過程確保數(shù)字完整性。高速緩沖存儲(chǔ)器RAM由8個(gè)字節(jié)的存儲(chǔ)器組成;讀取寄存器的命令可以讀取第九個(gè)字節(jié)。該字節(jié)用于驗(yàn)證前八個(gè)字節(jié)。64位光刻ROM,其前8位是DS18B20自己的代碼,接下來的48位是連續(xù)的數(shù)字代碼,最后8位是CRC校驗(yàn)的前56位。 64位光刻ROM還包含五個(gè)ROM功能命令:讀取ROM,匹配ROM,跳轉(zhuǎn)ROM,查找ROM和報(bào)警查找。外部電源連接:DS18B20可以使用外部電源VDD或內(nèi)部寄生電源。當(dāng)VDD端口連接到3.0V至5.5V的電壓時(shí),使用外部電源;當(dāng)VDD端口接地時(shí)使用內(nèi)部寄生電源。無論是內(nèi)部寄生電源還是外部電源,I / O端口線都必須連接一個(gè)約5K的上拉電阻。配置寄存器配置有不同的位數(shù),以確定溫度和轉(zhuǎn)換次數(shù)。可以看出,R1和R0是溫度決定位,可以通過R1和R0的不同組合來配置為9位,10位,11位和12位溫度顯示。這樣,可以知道對(duì)應(yīng)于不同溫度轉(zhuǎn)換位的轉(zhuǎn)換時(shí)間。四種配置的分辨率分別為0.5,0.25,0.125和0.0625,出貨時(shí)配置為12位。溫度讀數(shù):DS18B20配置為12位。讀取溫度時(shí),讀取16位數(shù)據(jù)。前5位是符號(hào)位。當(dāng)前5位為1時(shí),讀取溫度為負(fù)值;目前的5位。在0時(shí),讀取溫度為正值。當(dāng)溫度為正值時(shí),讀取方法為:將十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)。當(dāng)溫度為負(fù)值時(shí),讀數(shù)方法為:將16加到16的倒數(shù),然后轉(zhuǎn)換為10進(jìn)制。例:0550H = +85 度(0*160+5*161+5*162+0*163=1360;1360*0.0625=85),F(xiàn)C90H = -55 度。ROM指令表如下所示:圖2-9 ROM指令表圖RAM指令表: 圖2-10 RAM指令表圖時(shí)序:使用時(shí)間間隙來讀寫 DSl8B20 的數(shù)據(jù)位和寫命令 (1)初始化時(shí)序見圖 2.11 總線 在to 時(shí)段發(fā)送一復(fù)位脈沖(最短為 480us 的低電平信號(hào)) 接著在 tl 時(shí)段釋放總線并進(jìn)入接收狀態(tài) DSl8B20 在檢測(cè)到總線的上升沿之后 等待 15-60us 接著 DS18B20 在 t2 時(shí)段發(fā)出存在脈沖( 60-240 us) 如圖中虛線所示。 圖2-11 初始化時(shí)序(2)寫時(shí)間隙當(dāng)總線 t0 時(shí)段從高電平到低電平時(shí),就產(chǎn)生寫時(shí)間隙,見圖 2 -12和 圖 2-13,從 t0時(shí)段開始在15us 之內(nèi)應(yīng)將所需寫的位送到總線上 DSl8B20 在 t 后 15-60us 間對(duì)總線采樣,若低電平 寫入的位是 0 。見圖 2-12,若高電平寫入的是 1 ,見圖 2-13連續(xù)寫 2 位間的間隙應(yīng)大于 1us。 圖2-12 寫0時(shí)序 圖2-13 寫1時(shí)序(3)讀時(shí)間隙 見圖 2-13主機(jī)總線 to 時(shí)段從高拉至低電平時(shí) 總線只須保持低電平 l 7us 之后在 t1 時(shí)段將總線拉高 產(chǎn)生讀時(shí)間隙 讀時(shí)間隙在 t1 時(shí)段后 t 2 時(shí)段前有效 t z 距 to 為 15us 也就是說 t z 時(shí)段前主機(jī)必須完成讀位 并在 t o 后的 60 us 一 120 us 內(nèi)釋放總線。 圖2-14 讀時(shí)序 讀取溫度過程:調(diào)用初使化子程序-送入跳過 ROM 命令(0xcc)-送入溫度轉(zhuǎn)換命令(0x44)-溫度轉(zhuǎn)換,再次初使化 ds18B20-送入跳過 ROM 命令(0xcc)-送入讀溫度暫存器命令(0xbe)-讀出溫度值低字節(jié)-讀出溫度值高字節(jié)。報(bào)警模塊:當(dāng)檢測(cè)到的體溫?cái)?shù)值超過37攝氏度時(shí),系統(tǒng)會(huì)進(jìn)行報(bào)警顯示,LCD1602進(jìn)行報(bào)警提示,LCD第二行會(huì)顯示“temp is too high”。 3 系統(tǒng)實(shí)現(xiàn)3.1 讀ROM地址 讀ROM地址程序要把DS18B20模塊連接到單總線上,并把當(dāng)前DS18B20模塊的ROM地址讀取:過程如下,首先計(jì)算存儲(chǔ)當(dāng)前DS18B20模塊ROM地址的存儲(chǔ)單元的偏移地址,然后初始化DS18B20,發(fā)送和讀取ROM命令,并將ROM地址讀入內(nèi)存位置。讀ROM地址部分程序:void read_ROM() uchar j; j = NUM1*8; DS18B20_init(); write_byte(0x33); ROMj = read_byte();圖3-1 ROM讀取地址程序的流程圖3.2 讀取溫度讀取DS18B20溫度時(shí),首先向總線放啟動(dòng)溫度轉(zhuǎn)換命令,啟動(dòng)連接總線上的DS18B20模塊溫度裝換;再根據(jù)傳感器的64位ROM地址,發(fā)送到總線匹配對(duì)應(yīng)的傳感器模塊;最后向總線發(fā)讀取暫存器命令讀DS18B20模塊轉(zhuǎn)換的溫度值。讀取溫度部分程序:void read_temp() DS18B20_init();write_byte(0xcc); write_byte(0x44); delay(400);DS18B20_init();write_byte(0xcc);write_byte(0xbe);DATA_L = read_byte();DATA_H = read_byte(); temp1=DATA_H*256 + DATA_L; temp=temp1*0.0625;temp2=temp*10;圖3-2 DS18B20讀取溫度程序的流程圖3.3 顯示溫度 顯示溫度傳感器讀出的溫度值,DS18B20傳感器的溫度值是12位,存放在2個(gè)字節(jié)中,其中高字節(jié)的高5位為符號(hào)位,如果溫度值是正數(shù),則符號(hào)位0,如果溫度值是負(fù)數(shù),則符號(hào)位為1。在顯示溫度程序時(shí),首先根據(jù)高位字節(jié)的高5位確定是正數(shù)或者負(fù)數(shù),并提取高位字節(jié)的百位,十位和十位數(shù)字,并將其轉(zhuǎn)換為字符代碼并將其放入相應(yīng)的緩沖區(qū);將其內(nèi)容顯示在液晶監(jiān)視器上。顯示溫度部分程序:void disp_temp() uchar k;wc51r(0x80); LCD1_line10 =(temp2%100)%10+0x30;LCD1_line7 = (temp2/100)+0x30; LCD1_line8 = (temp2%100)/10+0x30; LCD1_line9 = .;LCD1_line12 = ;LCD1_line13 = C;for(k=0;k 370) wc51r(0xc0); for(k=0;k16;k+) wc51ddr(LCD2_linek); delay(2); else wc51r(0xc0); for(k=0;k“Options” - “Output”HEX-80中選擇HEX Format列,然后勾選Create HEX File列。如下圖所示: 圖4-2 keil配置圖接下來我們把編譯生成的hex文件,下載到仿真軟件中的模擬單片機(jī),進(jìn)行仿真測(cè)試。Proteus軟件是英國(guó)Lab Center Electronics公司發(fā)布的EDA工具軟件(該軟件是廣州飛馬電子科技有限公司的總代理)。它不僅具有其他EDA工具軟件的仿真功能,而且還可以仿真MCU和外圍設(shè)備。它是模擬微控制器和外圍設(shè)備的更好工具。盡管目前國(guó)內(nèi)的推廣工作剛剛起步,但單片機(jī)愛好者,從事單片機(jī)教學(xué)的教師以及致力于單片機(jī)開發(fā)和應(yīng)用的科技工作者對(duì)此表示贊賞。Proteus是英國(guó)著名的EDA工具(仿真軟件)。從原理圖布局和代碼調(diào)試到單片機(jī)和外圍電路的協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。它是世界上唯一將電路仿真軟件,PCB設(shè)計(jì)軟件和虛擬模型仿真軟件相結(jié)合的設(shè)計(jì)平臺(tái)。該處理器型號(hào)支持8051,HC11,PIC10 / 12/16/18/24/30 / DsPIC33,AVR,ARM,8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并繼續(xù)增加其他系列處理器模型。在編譯方面,它也支持許多編譯器,如IAR,keil和MPLAB。特征:1.原則布局2. PCB自動(dòng)或手動(dòng)布線3. SPICE電路仿真革命性的特點(diǎn):1.交互式電路仿真用戶甚至可以使用RAM,ROM,鍵盤,電

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論