




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
...wd......wd......wd...安陽師范學(xué)院本科學(xué)生畢業(yè)論文基于51單片機(jī)的數(shù)字溫度計(jì)設(shè)計(jì)作者系〔院〕物理與電氣工程學(xué)院專業(yè)電子信息工程年級(jí)學(xué)號(hào)指導(dǎo)教師日期2012.05.12成績學(xué)生誠信承諾書本人鄭重承諾:所呈交的論文是我個(gè)人在導(dǎo)師指導(dǎo)下進(jìn)展的研究工作及取得的研究成果。盡我所知,除了文中特別加以標(biāo)注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫的研究成果,也不包含為獲得安陽師范學(xué)院或其他教育機(jī)構(gòu)的學(xué)位或證書所使用過的材料。所有合作者對(duì)本研究所作的任何奉獻(xiàn)均已在論文中作了明確的說明和表示了。簽名:日期:2012-05-12論文使用授權(quán)說明本人完全了解安陽師范學(xué)院有關(guān)保存、使用學(xué)位論文的規(guī)定,即:學(xué)校有權(quán)保存送交論文的復(fù)印件,允許論文被查閱和借閱;學(xué)校可以公布論文的全部或局部內(nèi)容,可以采用影印、縮印或其他復(fù)制手段保存論文。簽名:導(dǎo)師簽名:日期:基于51單片機(jī)的數(shù)字溫度計(jì)設(shè)計(jì)張兆元〔安陽師范學(xué)院物理與電氣工程學(xué)院,河南安陽455000〕摘要:用單片機(jī)控制實(shí)現(xiàn)的測(cè)溫系統(tǒng),其精度高,穩(wěn)定性好,并選用了美國DALLAS公司最新推出的DSl8B20一線式數(shù)字溫度傳感器,并給出了數(shù)字溫度傳感器的硬件接口電路及軟件設(shè)計(jì)方法,通過發(fā)光數(shù)碼管顯示溫度。關(guān)鍵詞:STC89C52;DSl8B20;測(cè)溫;1引言隨著現(xiàn)代信息科技的飛速開展和傳統(tǒng)工業(yè)改造的逐步實(shí)現(xiàn),能夠獨(dú)立工作的溫度檢測(cè)和顯示系統(tǒng)已經(jīng)應(yīng)用于諸多領(lǐng)域。傳統(tǒng)的溫度檢測(cè)以熱敏電阻為溫度敏感元件,熱敏電阻本錢低,但需要接信號(hào)處理電路,而且熱敏電阻的可靠性較差,測(cè)量溫度的準(zhǔn)確度低,檢測(cè)系統(tǒng)的精度差。而今電子技術(shù)和微型計(jì)算機(jī)的迅速開展,采用單片機(jī)進(jìn)展溫度檢測(cè)、數(shù)值顯示和數(shù)據(jù)的傳送,具有效率高、性能穩(wěn)定等優(yōu)點(diǎn),還可以實(shí)現(xiàn)實(shí)時(shí)實(shí)地控制等技術(shù)要求,在工業(yè)生產(chǎn)中應(yīng)用越來越廣泛。2技術(shù)要求在三位數(shù)碼管上顯示當(dāng)前采集到的環(huán)境溫度,并準(zhǔn)確到0.1度。3方案論證3.1恰當(dāng)?shù)剡x擇溫度傳感器方案1:用熱敏電阻做為溫度傳感器。通過采集各個(gè)時(shí)間內(nèi)的電壓,進(jìn)展A/D轉(zhuǎn)換,經(jīng)過電壓與溫度的轉(zhuǎn)換、校準(zhǔn),測(cè)量出溫度。方案2:用DS18B20數(shù)字式溫度傳感器。DS18B20是DS1820的換代產(chǎn)品,它與傳統(tǒng)的熱敏電阻溫度傳感器不同,它能夠直接讀出被測(cè)溫度并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式。其內(nèi)部集成了溫度的傳感器及A/D轉(zhuǎn)換模塊,通過讀取片內(nèi)數(shù)據(jù),測(cè)量出溫度。由于用熱敏電阻作為溫度傳感器誤差較大,可靠性相對(duì)較差,且不方便調(diào)試校準(zhǔn);而DS18B20測(cè)量精度高,集成度高,方便調(diào)試,線路簡單。所以本設(shè)計(jì)采用方案2。3.2顯示器件的選擇方案1:采用液晶顯示,此種顯示方式,液晶耗電量少,能顯示復(fù)雜的符號(hào)圖形。方案2:采用發(fā)光數(shù)碼管顯示,此種顯示亮度高,且編程簡單。考慮到本系統(tǒng)顯示簡單,液晶價(jià)格貴且亮度低,所以選用方案2。4硬件設(shè)計(jì)4.1關(guān)于單片機(jī)單片機(jī)是一種集成電路,即采用大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的CPU〔中央處理器〕、隨機(jī)存儲(chǔ)器RAM〔randomaccessmemory〕、只讀存儲(chǔ)器ROM〔Read-OnlyMemory〕、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能,還可以包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路,集成到一塊硅板上構(gòu)成的一個(gè)小而精細(xì)的計(jì)算機(jī)系統(tǒng)。我選用的單片機(jī)是stc89c52,它是深圳宏晶科技生產(chǎn)的,具有低功耗高性能的優(yōu)點(diǎn)。并且有8K在系統(tǒng)可編程Flash存儲(chǔ)器,512字節(jié)數(shù)據(jù)存儲(chǔ)空間,內(nèi)帶4K字節(jié)EEPROM存儲(chǔ)空間。4.2系統(tǒng)構(gòu)造圖4.2.1了解51單片機(jī)的內(nèi)部系統(tǒng)構(gòu)造圖4.1.1單片機(jī)的內(nèi)部系統(tǒng)構(gòu)造其中,較為重要的是串行端口。串行通信是數(shù)據(jù)的各位在同一根數(shù)據(jù)線上依次逐位發(fā)送或接收。P3.0口的第二功能是串行數(shù)據(jù)的輸入口〔RXD〕,p3.1口的第二功能是串行數(shù)據(jù)的輸出口(TXD)。4.2.2根據(jù)設(shè)計(jì)要求,畫出外部系統(tǒng)構(gòu)造圖電路總圖見附錄一圖4.2.2外部系統(tǒng)構(gòu)造圖4.3溫度傳感器模塊4.3.1DS18B20溫度傳感器介紹DS18B20是美國Dallas半導(dǎo)體公司生產(chǎn)的第一片支持“一線總線〞接口的溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易兼容微處理器等優(yōu)點(diǎn),可直接將溫度傳感器轉(zhuǎn)化成串行數(shù)字信號(hào)供處理器處理。4.3.2DS18B20溫度傳感器特性〔1〕適應(yīng)電壓范圍寬,電壓范圍在3.0~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電。〔2〕獨(dú)特的單線接口方式,他與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通信?!?〕支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫?!?〕在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路形如多只三極管的組成電路。〔5〕測(cè)溫范圍-55°C~+125°C,在-10°C~+85°C時(shí)精度為正負(fù)0.5°C?!?〕可編程分辨率為9~12位,對(duì)應(yīng)的可分辨溫度分別為0.5°C,0.25°C,0.125°C,0.0625°C,可實(shí)現(xiàn)高精度測(cè)溫?!?〕在9位分辨率時(shí),最多在93.75ms內(nèi)把溫度轉(zhuǎn)換數(shù)字;12位分辨率時(shí),最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,顯然速度很快。〔8〕測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以“一線總線〞串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾能力。CRC即循環(huán)冗余校驗(yàn)碼〔CyclicRedundancyCheck〕:是數(shù)據(jù)通信領(lǐng)域中最常用的一種過失校驗(yàn)碼,其特征是信息字段和校驗(yàn)字段的長度可以任意選定?!?〕負(fù)壓特性。電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。4.3.3引腳介紹DS18B20實(shí)物圖如以下列圖。圖4.3.3DS18B20實(shí)物圖圖4.3.3DS18B20實(shí)物圖4.3.4DS18B20與單片機(jī)的連接主機(jī)可以是微控制器,從機(jī)可以是單總線器件,他們之間的數(shù)據(jù)交換只通過一條信號(hào)線。當(dāng)只有一個(gè)從機(jī)設(shè)備時(shí),系統(tǒng)可按單節(jié)點(diǎn)系統(tǒng)操作;當(dāng)有多個(gè)從機(jī)設(shè)備時(shí),系統(tǒng)則按多節(jié)點(diǎn)系統(tǒng)操作。設(shè)備〔主機(jī)或從機(jī)〕通過一個(gè)漏極開路或三態(tài)端口連至該數(shù)據(jù)線,以允許設(shè)備在不發(fā)送數(shù)據(jù)時(shí)能釋放總線,而讓其他設(shè)備使用總線。單總線通常要求外接一個(gè)約為5kΩ的上拉電阻,如以下列圖。圖4.3.4DS18B20和單片機(jī)的連接從圖可以看出,DS18B20和單片機(jī)的連接非常簡單,單片機(jī)只需要一個(gè)I/O口就可以控制DS18B20。這個(gè)圖的接發(fā)是單片機(jī)與一個(gè)DS18B20通信,如果要控制多個(gè)DS18B20進(jìn)展溫度采集,只要將所有DS18B20的I/O口全部連接到一起就可以了。在具體操作時(shí),通過讀取各個(gè)DS18B20內(nèi)部芯片的序列號(hào)來識(shí)別。4.3.5DS18B20的工作原理硬件電路連接好以后,對(duì)于單片機(jī)需要怎樣工作才能將DS18B20中的溫度數(shù)據(jù)讀取出來,下面將給出詳細(xì)分析。其控制DS18B20的指令:33H—讀ROM。讀DS18B20溫度傳感器ROM中的編碼〔即64位地址〕。44H—操作RAM。發(fā)送溫度轉(zhuǎn)換命令,結(jié)果存入9字節(jié)RAM。55H—匹配ROM。發(fā)出此命令后,接著發(fā)出64位ROM編碼,訪問單總線上與該編碼對(duì)應(yīng)的DS18B20并使之作出響應(yīng),為下一步對(duì)該DS18B20的讀/寫做準(zhǔn)備。F0H—搜索ROM。用于確定掛接在同一總線上DS18B20的個(gè)數(shù),識(shí)別64位ROM地址,為操作各器件做好準(zhǔn)備。CCH—跳過ROM。忽略64位ROM地址,直接向18B20發(fā)溫度變換命令,適用于一個(gè)從機(jī)工作。ECH—告警搜索命令。執(zhí)行后只有溫度超過設(shè)定值上限或下限的芯片才作出響應(yīng)。以上這些指令涉及的存儲(chǔ)器是64位光刻ROM,表1列出了它的各個(gè)定義。表164位光刻ROM各位定義8位48位8位CRC碼序列號(hào)產(chǎn)品類型編號(hào)64位光刻ROM中的序列號(hào)是出廠前被光刻好的,他可以看做該DS18B20的地址序列碼。其各位排列順序是:開場(chǎng)8位為產(chǎn)品類型標(biāo)號(hào),接下來48位是該DS18B20自身的序列號(hào),最后8位是前56位的CRC循環(huán)校驗(yàn)碼〔CRC=X8+X5+X4+1〕。光刻ROM的作用是使每一個(gè)DS18B20都各不一樣,這樣就可以實(shí)現(xiàn)一條總線上接掛多個(gè)DS18B20的目的。4.3.6DS18B20的工作時(shí)序圖以下列圖為時(shí)序圖中各個(gè)總線狀態(tài)。圖4.2.6時(shí)序圖中各個(gè)總線態(tài)圖4.2.6時(shí)序圖中各個(gè)總線態(tài)〔1〕初始化時(shí)序圖如以下列圖5所示。先將數(shù)據(jù)線至高電平1.圖〔1〕DS18B20初始化時(shí)序圖圖〔1〕DS18B20初始化時(shí)序圖①數(shù)據(jù)線拉到低電平0。②延時(shí)〔該時(shí)間要求不是很嚴(yán)格,但是要盡可能短一點(diǎn)③延時(shí)750μs〔該時(shí)間范圍可在480~960μs〕。④數(shù)據(jù)線拉到高電平1。⑤延時(shí)等待。如果初始化成功則在15~60μs內(nèi)產(chǎn)生一個(gè)由DS18B20返回的低電平0,據(jù)該狀態(tài)可以確定溫度傳感器ds18b20的存在。但是應(yīng)注意,不能無限地等待,不然會(huì)使程序進(jìn)入死循環(huán),所以要進(jìn)展超時(shí)判斷。假設(shè)CPU讀到數(shù)據(jù)上的低電平0后,還要進(jìn)展延時(shí),延時(shí)的時(shí)間從發(fā)出高電平算起〔第⑤步的時(shí)間算起〕最少要480μs。將數(shù)據(jù)線再次拉到高電平1后完畢。〔2〕DS18B20寫數(shù)據(jù)時(shí)序圖如以下列圖6所示。寫數(shù)據(jù)步驟:①數(shù)據(jù)線先置低電平0。②掩飾確定的時(shí)間為15μs。③按從低位到高位的順序發(fā)送數(shù)據(jù)〔一次只發(fā)送一位〕。④延時(shí)時(shí)間為45μs。⑤將數(shù)據(jù)線拉到高電平1。重復(fù)循環(huán)①~⑤步驟,直到發(fā)送完整個(gè)字節(jié),注意最后將數(shù)據(jù)線拉到高位1。圖〔2〕DS18B20寫數(shù)據(jù)圖〔2〕DS18B20寫數(shù)據(jù)DS18B20讀數(shù)據(jù)時(shí)序圖如以下列圖7所示。圖〔3〕DS18B20讀數(shù)據(jù)圖〔3〕DS18B20讀數(shù)據(jù)〔3〕DS18B20寫數(shù)據(jù)時(shí)序圖如上圖所示。寫數(shù)據(jù)步驟:①將數(shù)據(jù)線拉高到1.②延時(shí)2μs。③將數(shù)據(jù)線拉低到0.④延時(shí)6μs。⑤將數(shù)據(jù)線拉高到1。⑥延時(shí)4μs。⑦讀數(shù)據(jù)線的狀態(tài)得到一個(gè)狀態(tài)位,并進(jìn)展數(shù)據(jù)處理。重復(fù)①~⑦步驟,直到讀取完一個(gè)字節(jié)后延時(shí)30us。時(shí)序圖見上圖。4.4顯示模塊采用三位一體共陰數(shù)碼管顯示溫度,數(shù)碼管驅(qū)動(dòng)使用鎖存器74hc573。采用動(dòng)態(tài)顯示的原理,故段選和位選都用p0口,通過p2.6口和p2.7口確定位或者段的選通,接法見附錄電路原理圖。5軟件設(shè)計(jì)5.1總程序流程圖總程序流程圖如以下列圖所示。圖5.1總程序流程圖5.2程序設(shè)計(jì)其源程序見附錄三。6安裝調(diào)試安裝調(diào)試時(shí),數(shù)碼管會(huì)出現(xiàn)亮度不均勻或是數(shù)碼管中有個(gè)別不顯示的現(xiàn)象,經(jīng)檢查發(fā)現(xiàn)產(chǎn)生這種原因的可能是因?yàn)楹附拥臅r(shí)候有虛焊、選用的上拉電阻阻值過大,或是接元器件的時(shí)候無意間把鎖存器控制位導(dǎo)線弄斷所導(dǎo)致。6.1數(shù)碼管引腳的判斷用5v的直流電源串電阻接在數(shù)碼管十二個(gè)引腳上,可以判斷出各個(gè)引腳代表哪一段和哪一位,其中6號(hào)引腳不起作用。哪個(gè)是6號(hào)引腳呢讓三位數(shù)碼管正對(duì)自己右下角的引腳為1號(hào)引腳,逆時(shí)針依次為2、3、4、5、6、7、8、9、…、12號(hào)引腳。判斷出它的內(nèi)部電路圖如以下列圖所示。圖6.1數(shù)碼管內(nèi)部電路圖6.2排除故障6.2.1排除邏輯故障這類故障往往由于設(shè)計(jì)和連線過程中工藝性錯(cuò)誤所造成的。主要包括錯(cuò)線、開路、短路。排除的方法是首先將加工的電路板認(rèn)真對(duì)照原理圖,看兩者是否一致。應(yīng)特別注意電源系統(tǒng)檢查,以防止電源短路和極性錯(cuò)誤,必要時(shí)利用數(shù)字萬用表的短路測(cè)試功能,可以縮短排錯(cuò)時(shí)間。6.2.1排除元器件失效造成這類錯(cuò)誤的原因有兩個(gè):一個(gè)是元器件買來時(shí)就已壞了;另一個(gè)是由于安裝錯(cuò)誤,造成器件燒壞??梢圆扇z查元器件與設(shè)計(jì)要求的型號(hào)、規(guī)格和安裝是否一致。在保證安裝無誤后,用替換方法排除錯(cuò)誤。6.2.3排除電源故障在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,一般先檢查VCC與GND之間電位,假設(shè)在5V~4.8V之間屬正常。假設(shè)有高壓,聯(lián)機(jī)仿真器調(diào)試時(shí),將會(huì)損壞仿真器等,有時(shí)會(huì)使應(yīng)用系統(tǒng)中的集成塊發(fā)熱損壞。7結(jié)論本文較詳細(xì)的闡述了溫度測(cè)量裝置設(shè)計(jì)的整體方案與軟件實(shí)現(xiàn)。DS18B20的優(yōu)勢(shì)在于集溫度測(cè)量、A/D轉(zhuǎn)換為一體,具有單總線構(gòu)造,數(shù)字量輸出,直接與單片機(jī)接口等優(yōu)點(diǎn),溫度讀取簡單、直觀,硬件和軟件的開發(fā)過程簡單,因此可用它組成單路或多路溫度測(cè)量裝置,有一定的使用和推廣價(jià)值。當(dāng)然,在這個(gè)過程中我遇到了很多問題,有的是我看書、上網(wǎng)查資料解決的,有的是同過李研達(dá)教師、同學(xué)的幫助解決的,在這里還得感謝他們的支持與厚望。參考文獻(xiàn)[1]劉華東等編.單片機(jī)原理與應(yīng)用[M].北京:電子工業(yè)出版社,2008[2]吳金戌等編.8051單片機(jī)實(shí)踐與應(yīng)用[M].北京:清華大學(xué)出版社,2001[3]張毅剛等編.單片機(jī)原理及應(yīng)用[M].北京:高等教育出版社,2003Basedonthedigitalthermometer51MCUdesignZhangZhaoYuan(SchoolofPhysicsandElectricalEngineering,AnyangNormalUniversity,Anyang,Henan455000〕Abstract:withtherealizationofsingle-chipmicrocomputercontroltemperaturemeasuringsystem,itshighaccuracy,goodstability,andselecttheDALLAScompanylatestDSl8B20alineinthedigitaltemperaturesensorispresented,anddigitaltemperaturesensorhardwareinterfacecircuitandthesoftwaredesignmethod,throughthedigitalluminescencetubestodisplaytemperature.Keywords:STC89C52;DSl8B20;Temperaturemeasurement;附錄一電路原理圖附錄二面包板圖附錄三源程序#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitDS=P2^2;//defineinterface,確定接口uinttemp;//variableoftemperature,溫度變量為無符號(hào)整形ucharflag1;//signoftheresultpositiveornegative,結(jié)果是否生效標(biāo)志sbitdula=P2^6;//數(shù)碼管段選sbitwela=P2^7;//數(shù)碼管位選unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//顯示的依次是0~funsignedcharcodetable1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//顯示的依次是0.~9.voiddelay(uintcount)//延時(shí)子程序{uinti;while(count){i=200;while(i>0)//延時(shí)約1msi--;count--;}}///////功能:串口初始化,波特率9600,方式1///////voidInit_Com(void){TMOD=0x20;//GATEC\TM1M0GATEC\TM1M0//定時(shí)T1工作方式2PCON=0x00;//SMOD波特率倍增位,PCON=0X01時(shí)倍增//電源控制存放器SCON=0x50;//SM0SM1SM2RENTB8RB8TIRI//串行控制存放器TH1=0xFd;TL1=0xFd;TR1=1;}voiddsreset(void)//sendresetandinitializationcommand//發(fā)送初始化及復(fù)位信號(hào)/*為了識(shí)別已連接到單總線上的數(shù)字溫度傳感器*/{uinti;DS=0;i=103;while(i>0)i--;//480us~960us/*處理器先向DS18B20發(fā)送一個(gè)持續(xù)480~960us的低電平信號(hào)*/DS=1;/*然后進(jìn)入輸入模式釋放總線*/i=4;while(i>0)i--;//15~60us/*在檢測(cè)到I/O引腳上升沿之后,等待15~60us*/}/*如果由DS18B20所返回的低電平持續(xù)時(shí)間少于60us,則表示就緒信號(hào)無效。主機(jī)要重新發(fā)送初始化時(shí)間序列*//*讀取數(shù)據(jù)的一位,滿足讀時(shí)隙要求*/bittmpreadbit(void)//readabit//readabit讀一位//DS18B20的讀時(shí)序:分為讀0時(shí)序和讀1時(shí)序兩個(gè)過程{uinti;//對(duì)于DS18B20的讀時(shí)隙是從主機(jī)把單總線拉低之后,bitdat;//dat的取值為0、1。//在15微秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS=0;i++;//i++fordelay小延時(shí)一下//DS18B20在完成一個(gè)讀時(shí)序過程,至少需要60us才能完成。DS=1;i++;i++;//延時(shí)15us以上,讀時(shí)隙下降沿后15us,DS18B20輸出數(shù)據(jù)才有效dat=DS;i=8;while(i>0)i--;return(dat);}/*讀取數(shù)據(jù)的一個(gè)字節(jié)*/uchartmpread(void)//readabytedate,讀數(shù)據(jù)的一個(gè)字節(jié){uchari,j,dat;dat=0;for(i=1;i<=8;i++){j=tmpreadbit();dat=(j<<7)|(dat>>1);//讀出的數(shù)據(jù)最低位在最前面,這樣剛好一個(gè)字節(jié)在DAT里}return(dat);//將一個(gè)字節(jié)數(shù)據(jù)返回}/*寫數(shù)據(jù)的一個(gè)字節(jié),滿足寫1和寫0的時(shí)隙要求*/voidtmpwritebyte(uchardat)//writeabytetods18b20,向傳感器寫入一個(gè)字節(jié)//DS18B20的寫時(shí)序:寫0時(shí)序和寫1時(shí)序兩個(gè)過程{//寫一個(gè)字節(jié)到DS18B20里//uinti;ucharj;bittestb;for(j=1;j<=8;j++){testb=dat&0x01;dat=dat>>1;取下一位〔由低位向高位〕if(testb)//write1//對(duì)于DS18B20寫0時(shí)序和寫1時(shí)序的要求不同,當(dāng)要寫0時(shí)序時(shí),單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0〞電平,當(dāng)要寫1時(shí)序時(shí),單總線被拉低之后,在15us之內(nèi)就得使單總線變高,整個(gè)寫1時(shí)隙不低于60us。{DS=0;//產(chǎn)生寫0時(shí)隙的過程:MCU拉低總線后,只要在整個(gè)時(shí)隙期間保持低電平即可〔至少60US〕i++;i++;DS=1;i=8;while(i>0)i--;}else{DS=0;//write0i=8;while(i>0)i--;DS=1;i++;i++;}}}voidtmpchange(void)//DS18B20beginchange{dsreset();delay(1);tmpwritebyte(0xcc);//addressalldriversonbus,//允許MCU不提供64位ROM編碼就使用存儲(chǔ)器操作命令,在單點(diǎn)總線情況下節(jié)省時(shí)間tmpwritebyte(0x44);//initiatesasingletemperatureconversion//〔操作RAM〕發(fā)送溫度轉(zhuǎn)換命令,結(jié)果存入9字節(jié)RAM。//}uinttmp()//getthetemperature{floattt;uchara,b;dsreset();delay(1);tmpwritebyte(0xcc);tmpwritebyte(0xbe);//發(fā)送讀取數(shù)據(jù)命令,讀內(nèi)部RAM9字節(jié)的內(nèi)容a=tmpread();b=tmpread();temp=b;temp<<=8;//twobytecomposeaintvariabletemp=temp|a;//得到真實(shí)十進(jìn)制溫度值,兩字節(jié)合成一個(gè)整型變量tt=temp*0.0625;//1/16=0.0625,每個(gè)數(shù)值代表1/16temp
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 室內(nèi)墻面防水施工方案
- 2024年三季度報(bào)湖南地區(qū)A股長期負(fù)債比率排名前十大上市公司
- 2024年三季度報(bào)湖南地區(qū)A股利息支付倍數(shù)排名前十大上市公司
- 堆土施工方案
- 鋼橋梁施工方案
- 2025年餐廳經(jīng)理考試試題及答案
- 2025年專業(yè)培訓(xùn) 測(cè)試題及答案
- 6年級(jí)上冊(cè)數(shù)學(xué)第5單元
- 2025年消防入門考試題及答案
- close關(guān)閉文件的語法
- 口腔科急救預(yù)案培訓(xùn)課件
- 新教科版5年級(jí)科學(xué)下冊(cè)第二單元《6設(shè)計(jì)我們的小船》課件
- 弗洛姆異化理論
- Q∕CR 9602-2015 高速鐵路路基工程施工技術(shù)規(guī)程
- 園林噴灌工程施工方案(精編版)
- 碳納米管_ppt課件
- 【課件】第2課如何鑒賞美術(shù)作品課件-高中美術(shù)人教版(2019)美術(shù)鑒賞
- [康熙字典9畫五行屬金的字加解釋] 康熙字典五行屬金的字
- 托盤操作評(píng)分表
- 關(guān)于老年癡呆癥及其智能陪護(hù)設(shè)備的調(diào)查報(bào)告
- 椴木靈芝栽培技術(shù)
評(píng)論
0/150
提交評(píng)論