基于DS18B20地溫度傳感器設(shè)計(jì)報(bào)告_第1頁(yè)
基于DS18B20地溫度傳感器設(shè)計(jì)報(bào)告_第2頁(yè)
基于DS18B20地溫度傳感器設(shè)計(jì)報(bào)告_第3頁(yè)
基于DS18B20地溫度傳感器設(shè)計(jì)報(bào)告_第4頁(yè)
基于DS18B20地溫度傳感器設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

word文檔精品文檔分享目錄一、概述.......................................................................................2二、內(nèi)容.......................................................................................2、課程設(shè)計(jì)題目、課程設(shè)計(jì)目的、設(shè)計(jì)任務(wù)和要求、正文三、系統(tǒng)的具體設(shè)計(jì)與實(shí)現(xiàn)...........................................................5〔1〔2、單片機(jī)控制模塊、溫度傳感器模塊四、軟件設(shè)計(jì)..............................................................................11、主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計(jì)算溫度子程序五、完整程序如下:....................................................................12六、設(shè)計(jì)體會(huì)..............................................................................17七、參考文獻(xiàn)..............................................................................17word文檔精品文檔分享一、概述單片機(jī)技術(shù)是一項(xiàng)運(yùn)用廣泛且極具開展?jié)摿Φ募夹g(shù)。2021年6月14日隨著時(shí)代的進(jìn)步和開展,單片機(jī)技術(shù)已經(jīng)普及到我們生活、工作、科研、各個(gè)領(lǐng)域,已經(jīng)成為一種比擬成熟的技術(shù)。本文主要介紹了一個(gè)基于89S52單片機(jī)的測(cè)溫系統(tǒng),詳細(xì)描述了利用液晶顯示器件傳感器DS18B20開發(fā)測(cè)溫系統(tǒng)的過程,重點(diǎn)對(duì)傳感器在單片機(jī)下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進(jìn)展了詳盡分析,特別是數(shù)字溫度傳感DS18B20的數(shù)據(jù)采集過程。對(duì)各局部的電路也一一進(jìn)展了介紹,該系統(tǒng)可以方便的實(shí)現(xiàn)實(shí)現(xiàn)溫度采集和顯示,并可根據(jù)需要任意設(shè)定上下限報(bào)警溫度,它使用起來相當(dāng)方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優(yōu)點(diǎn),適合于我們?nèi)粘I詈凸ぁ⑥r(nóng)業(yè)生產(chǎn)中的溫度測(cè)量,也可以當(dāng)作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴(kuò)展。DS18B20與AT89C52結(jié)合實(shí)現(xiàn)最簡(jiǎn)溫度檢測(cè)系統(tǒng),該系統(tǒng)構(gòu)造簡(jiǎn)單,抗干擾能力強(qiáng),適合于惡劣環(huán)境下進(jìn)展現(xiàn)場(chǎng)溫度測(cè)量,有廣泛的應(yīng)用前景。二、內(nèi)容1、課程設(shè)計(jì)題目基于DS18B20的溫度傳感器2、課程設(shè)計(jì)目的通過基于MCS-52系列單片機(jī)AT89C52和DS18B20溫度傳感器檢測(cè)溫度,熟悉芯片的使用,溫度傳感器的功能,數(shù)碼顯示管的使用,匯編語(yǔ)言的設(shè)計(jì);并且把我們這一年所學(xué)的數(shù)字和模擬電子技術(shù)、檢測(cè)技術(shù)、單片機(jī)應(yīng)用等知識(shí),通過理論聯(lián)系實(shí)際,從題目分析、電路設(shè)計(jì)調(diào)試、程序編制調(diào)試到傳感器的選定等這一完整的實(shí)驗(yàn)過程,培養(yǎng)了學(xué)生正確的設(shè)計(jì)思想,使學(xué)生充分發(fā)揮主觀能動(dòng)性,去獨(dú)立解決實(shí)際問題,以到達(dá)提升學(xué)生的綜合能力、動(dòng)手能力、文獻(xiàn)資料查閱能力的作用,為畢業(yè)設(shè)計(jì)和以后工作打下一個(gè)良好的根底。3、設(shè)計(jì)任務(wù)和要求以MCS-52系列單片機(jī)為核心器件,組成一個(gè)數(shù)字溫度計(jì),采用數(shù)字溫度傳感器DS18B20為檢測(cè)器件,進(jìn)展單點(diǎn)溫度檢測(cè),檢測(cè)精度為±0.5攝氏度。溫度顯示采用LCD1602顯示,兩位整數(shù),一位小數(shù)。word文檔精品文檔分享系統(tǒng)總體仿真圖板上實(shí)現(xiàn)效果圖4、正文根據(jù)設(shè)計(jì)任務(wù)的總體要求,本系統(tǒng)可以劃分為以下幾個(gè)根本模塊,針對(duì)各個(gè)模塊的word文檔精品文檔分享功能要求,分別有以下設(shè)計(jì)方案:〔采用單總線數(shù)字溫度傳感器DS18B20測(cè)量溫度,直接輸出數(shù)字信號(hào)。便于單片機(jī)處理及控制,節(jié)省硬件電路。且該芯片的物理化學(xué)性很穩(wěn)定,此元件線形性能好,在0—100攝氏度時(shí),最大線形偏差小于1攝氏度。DS18B20的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS18B20和微控制器AT89C52構(gòu)成的溫度裝置,它直接輸出溫度的數(shù)字信號(hào)到微控制器。每只DS18B20具有一個(gè)獨(dú)有的不可修改的64位序列號(hào),根據(jù)序列號(hào)可訪問不同的器件。這樣一條總線上可掛接多個(gè)DS18B20傳感器,實(shí)現(xiàn)多點(diǎn)溫度測(cè)量,輕松的組建傳感網(wǎng)絡(luò)。綜上分析,我們選用第二種方案。溫度傳感模塊仿真圖(2)、顯示模塊采用液晶顯示器件,液晶顯示平穩(wěn)、省電、美觀,更容易實(shí)現(xiàn)題目要求,對(duì)后續(xù)的園藝通兼容性高,只需將軟件作修改即可,可操作性強(qiáng),也易于讀數(shù),采用RT1602兩行十六個(gè)字符的顯示,能同時(shí)顯示其它的信息如日期、時(shí)間、星期、溫度。綜上分析,我們采用了第二個(gè)方案word文檔精品文檔分享顯示模塊仿真圖三、系統(tǒng)的具體設(shè)計(jì)與實(shí)現(xiàn)〔1采用單片機(jī)作為控制核心對(duì)溫度傳感器DS18B20控制,讀取溫度信號(hào)并進(jìn)展計(jì)算處理,并送到液晶顯示器LCD1602顯示。按照系統(tǒng)設(shè)計(jì)功能的要求,確定系統(tǒng)由3個(gè)模塊組成:主控制器、測(cè)溫電路和顯示電路。數(shù)字溫度計(jì)總體電路構(gòu)造框圖如圖下所示。〔a、單片機(jī)控制模塊該模塊由AT89C52單片機(jī)組成在設(shè)計(jì)方面,AT89C52的EA接高電平,其外圍電路提供能使之工作的晶振脈沖、復(fù)位按鍵,四個(gè)I/O分別接8路的單列IP座方便與外圍設(shè)備連接。當(dāng)芯片接到來自溫度傳感器的信號(hào)時(shí),其內(nèi)部程序?qū)⒏鶕?jù)信號(hào)的類型進(jìn)展處理,并且將處理的結(jié)果送到顯示模塊,致控制信號(hào)控制各模塊。b、溫度傳感器模塊word文檔精品文檔分享DS18B20相關(guān)資料1、DS18B20原理與分析DS18B20是美國(guó)DALLAS半導(dǎo)體公司繼DS1820之后最新推出的一種改良型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,它能夠直接讀出被測(cè)溫度并且可根據(jù)實(shí)際要求通過簡(jiǎn)單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式??梢苑謩e在93.75ms和750ms內(nèi)完成9位和12位的數(shù)字量,并且從DS18B20讀出的信息或?qū)懭隓S18B20的信息僅需要一根口線〔單線接口〕讀寫,溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的DS18B20供電,而無需額外電源。因而使用DS18B20可使系統(tǒng)構(gòu)造更趨簡(jiǎn)單,可靠性更高。他在測(cè)溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面較有了很大的改良,給用戶帶來了更方便的使用和更令人滿意的效果。以下是DS18B20的特點(diǎn):〔1〕獨(dú)特的單線接口方式:DS18B20與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊?!?〕在使用中不需要任何外圍元件?!?〕可用數(shù)據(jù)線供電,電壓X圍:+3.0~+5.5V。〔4〕測(cè)溫X圍:-55-+125℃。固有測(cè)溫分辨率為0.5℃?!?〕通過編程可實(shí)現(xiàn)9-12位的數(shù)字讀數(shù)方式?!?〕用戶可自設(shè)定非易失性的報(bào)警上下限值?!?〕支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)測(cè)溫?!?〕負(fù)壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。word文檔精品文檔分享2、DS18B20的測(cè)溫原理DS18B20的測(cè)溫原理上圖所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入,圖中還隱含著計(jì)數(shù)門,當(dāng)計(jì)數(shù)門翻開時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)展計(jì)數(shù),進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來決定,每次測(cè)量前,首先將-55℃所對(duì)應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫度存放器中,減法計(jì)數(shù)器1和溫度存放器被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)展減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí)溫度存放器的值將加11的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開場(chǎng)對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)展計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停頓溫度寄存器值的累加,此時(shí)溫度存放器中的數(shù)值即為所測(cè)溫度。圖中的斜率累加器用于補(bǔ)償和修正測(cè)溫過程中的非線性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門仍未關(guān)閉就重復(fù)上述過程,直至溫度存放器值到達(dá)被測(cè)溫度值,這就是DS18B20的測(cè)溫原理。DS18B20單線通信功能是分時(shí)完成的,他有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)的各種操作必須按協(xié)議進(jìn)展。操作協(xié)議為:初始化DS18B20〔發(fā)復(fù)位脈沖〕→發(fā)ROM功能命令→發(fā)存儲(chǔ)器操作命令→處理數(shù)據(jù)。DS18B20工作過程一般遵循以下協(xié)議:初始化——ROM操作命令——存儲(chǔ)器操作命令——處理數(shù)據(jù)①初始化單總線上的所有處理均從初始化序列開場(chǎng)。初始化序列包括總線主機(jī)發(fā)出一復(fù)位脈存在脈沖讓總線控制器知道DS1820在總線上且已準(zhǔn)備好操作。②ROM操作命令一旦總線主機(jī)檢測(cè)到附屬器件的存在,它便可以發(fā)出器件ROM操作命令之一。所有ROM操作命令均為8位長(zhǎng)。③存儲(chǔ)器操作命令④處理數(shù)據(jù)DS18B20的高速暫存存儲(chǔ)器由9個(gè)字節(jié)組成,其分配如圖3發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲(chǔ)器的第0和第1word文檔精品文檔分享個(gè)字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后。DS18B20溫度數(shù)據(jù)表上表是DS18B20溫度采集轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在DS18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號(hào)位,如果測(cè)得的溫度大于或等于,這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。溫度轉(zhuǎn)換計(jì)算方法舉例:例如當(dāng)采集到+125℃的實(shí)際溫度后,輸出為07D0H,那么:實(shí)際溫度=07D0H╳0.0625=2000╳0.0625=1250C。例如當(dāng)DS18B20采集到-55℃的實(shí)際溫度后,輸出為FC90H11位數(shù)據(jù)位取反加1得370H〔符號(hào)位不變,實(shí)際溫度=370H╳0.0625=880╳0.0625=550C。2、顯示模塊LCD1602資料〔這里主要介紹下指令說明及時(shí)序〕1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表10-14所示:序號(hào)指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L**word文檔精品文檔分享6置功能00001DLNF**7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)到CGRAM或DDRAM〕10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容表10-14:控制命令表1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的?!舱f明:1為高電平、0為低電平〕指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光標(biāo)和顯示模式設(shè)置I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平那么無效。指令4:顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo)B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。指令6:功能設(shè)置命令DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示F:低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9:讀忙信號(hào)和光標(biāo)地址BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。與HD44780相兼容的芯片時(shí)序表如下:word文檔精品文檔分享讀狀態(tài)輸入RS=L,R/W=H,E=H輸出D0—D7=狀態(tài)字寫指令輸入RS=L,R/W=L,D0—D7=指令碼,E=輸出無高脈沖讀數(shù)據(jù)輸入,R/W=H,E=H輸出D0—D7=數(shù)據(jù)寫數(shù)據(jù)輸入RS=H,R/W=L,D0—D7=數(shù)據(jù),E=輸出無高脈沖表10-15:根本操作時(shí)序表讀寫操作時(shí)序如圖10-55和10-56所示:圖10-55讀操作時(shí)序圖10-56寫操作時(shí)序word文檔精品文檔分享四、軟件設(shè)計(jì)系統(tǒng)程序主要包括主程序、讀出溫度子程序、溫度轉(zhuǎn)換子程序、計(jì)算溫度子程序、顯示等等。1、主程序主要功能是完成DS18B20的初始化工作,并進(jìn)展讀溫度,將溫度轉(zhuǎn)化成為壓縮BCD碼并在顯示器上顯示傳感器所測(cè)得的實(shí)際溫度。2、讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時(shí)需要進(jìn)展CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)展溫度數(shù)據(jù)的改寫。其程序流程圖如下列圖所示。3、溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開場(chǎng)命令,當(dāng)采用12位分辯率時(shí)轉(zhuǎn)換時(shí)間約為750ms1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成。流程圖圖如下word文檔精品文檔分享4、計(jì)算溫度子程序計(jì)算溫度子程序?qū)AM中讀取值進(jìn)展BCD流程圖如下:五、完整程序如下:#include<reg52.h>#include<intrins.h>word文檔精品文檔分享typedefunsignedcharuint8;#defineuintunsignedint#defineucharunsignedcharsbitDQ=P3^3;//定義DQ引腳為P3.3ucharcodeBw[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};//百位編碼ucharcodeXsw[16]={0x30,0x31,0x31,0x32,0x33,0x33,0x34,0x34,0x35,0x36,0x36,0x37,0x38,0x38,0x39,0x39};//小數(shù)位編碼sbitRS=P2^0;sbitRW=P2^1;sbitEN=P2^2;sbitBUSY=P0^7;ucharwendu;uchartemp_g,temp_d;unsignedcharcodeword1[]={"Temperature:"};voiddelay(uintxms){uinti,j;for(i=xms;i>0;--i)for(j=110;j>0;--j);}voidDelayus(intt)//在11.059MHz晶振下調(diào)用本函數(shù)要24μs,每次計(jì)數(shù)需16μs{ints;for(s=0;s<t;s++);}等待繁忙標(biāo)志voidwait(void){P0=0xFF;do{RS=0;RW=1;EN=0;EN=1;}while(BUSY==1);EN=0;}寫數(shù)據(jù)voidw_dat(uint8dat){wait();EN=0;P0=dat;RS=1;RW=0;EN=1;EN=0;}寫命令voidw_cmd(uint8cmd)word文檔精品文檔分享{wait();EN=0;P0=cmd;RS=0;RW=0;EN=1;EN=0;}致字符串到LCDvoidw_string(uint8addr_start,uint8*p){w_cmd(addr_start);while(*p!='\0'){w_dat(*p++);}}初始化1602voidInit_LCD1602(void){w_cmd(0x38);//16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口w_cmd(0x0c);//顯示器開、光標(biāo)開、光標(biāo)允許閃爍w_cmd(0x06);//文字不動(dòng),光標(biāo)自動(dòng)右移w_cmd(0x01);//清屏}uchar/成單總線的復(fù)位操作。{uchard;DQ=0;//將DQ線拉低Delayus(29);//保持μs復(fù)位時(shí)間延時(shí)時(shí)間(480-24)/16=28.5,取29μ。DQ=1;//DQ返回高電平Delayus(3);//等待脈沖過70μs之后檢測(cè)存在脈沖,因此延時(shí)時(shí)間為(70-24)/16=2.875,取3μ。d=DQ;//獲得存在信號(hào)Delayus(25);//等待時(shí)間隙完畢return(d);//返回存在信號(hào),0=器件存在,1=無器件}voidwrite_bit(ucharbitval)//向單總線寫入1位值:bitval{DQ=0;//將DQ拉低開場(chǎng)寫時(shí)間隙if(bitval==1)DQ=1;//如果寫1,DQ返回高電平Delayus(5);//在時(shí)間隙內(nèi)保持電平值,DQ=1;//Delayus函數(shù)每次循環(huán)延時(shí)16μs因此μs}voidds18write_byte(charval)//向單總線寫入一個(gè)字節(jié)值:val{uchari;uchartemp;for(i=0;i<8;i++)//寫入字節(jié),每次寫入一位{temp=val>>i;temp&=0x01;word文檔精品文檔分享write_bit(temp);}Delayus(5);}ucharread_bit()//從單總線上讀取一位信號(hào),需延時(shí)時(shí)間15μ,無法調(diào)用前面定義{//的Delayus()函數(shù),而采用一個(gè)for()循環(huán)來實(shí)現(xiàn)延時(shí)。uchari;DQ=0;//將DQ拉低開場(chǎng)讀時(shí)間隙DQ=1;//然后返回高電平for(i=0;i<3;i++);//延時(shí)15μsreturn(DQ);//返回DQ線上的電平值}uchards18read_byte()//單總線讀取一個(gè)字節(jié)的值{uchari;ucharvalue=0;for(i=0;i<8;i++){//讀取字節(jié),每次讀取一個(gè)字節(jié)if(read_bit())value|=0x01<<i;//然后將其左移Delayus(6);}return(value);}int/果單總線節(jié)點(diǎn)上只有一個(gè)器件那么可以直接掉用本函數(shù)。如果節(jié)點(diǎn)上有多個(gè)器{//件,為了防止數(shù)據(jù)沖突,應(yīng)使用MatchROM函數(shù)來選中特定器件。uchartemp_d,temp_g,k,get[2],temp;Reset();ds18write_byte(0xcc);//跳過ROMds18write_byte(0x44);//啟動(dòng)溫度轉(zhuǎn)換Delayus(5);Reset();ds18write_byte(0xcc);//跳過ROMds18write_byte(0xbe);//讀暫存器for(k=0;k<2;k++){get[k]=ds18read_byte();}temp_d=get[0];//低位temp_g=get[1];//高位if((temp_g&0xf0)==0xf0)//正負(fù)號(hào)判斷{temp_d=~temp_d;word文檔精品文檔分享if(temp_d==0xff)//保證-48〔1111110100000000-32和-16顯示正常{temp_d=temp_d+0x01;//00000000temp_g=~temp_g;//00000010temp_g=temp_g+0x01;//00000011}else{temp_d=temp_d+0x01;temp_g=~temp_g;}w_cmd(0xc5);w_dat(Xsw[temp_d&0x0f]);//查表得小數(shù)位的值temp=((temp_d&0xf0)>>4)|((temp_g&0x0f)<<4);w_cmd(0xc1);w_dat(0x2d);//負(fù)號(hào)}else//正數(shù){w_cmd(0xc5);w_dat(Xsw[temp_d&0x0f]);//查表得小數(shù)位的值temp=((temp_d&0xf0)>>4)|((temp_g&0x0f)<<4);w_cmd(0xc1);w_dat(Bw[temp/100]);}returntemp;}main(){Init_LCD1602();w_string(0x80,word1);while(1){wendu=Readtemperature();temp_g=wendu%100/10+'0';//這里要特別注意啊少了%100就差很多temp_d=wendu%10+'0';w_cmd(0xc2);delay(2);w_dat(temp_g);delay(2);w_dat(temp_d);delay(2)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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)論