DS18B20溫度恒定上下限可調(diào)報(bào)警器匯總_第1頁
DS18B20溫度恒定上下限可調(diào)報(bào)警器匯總_第2頁
DS18B20溫度恒定上下限可調(diào)報(bào)警器匯總_第3頁
DS18B20溫度恒定上下限可調(diào)報(bào)警器匯總_第4頁
DS18B20溫度恒定上下限可調(diào)報(bào)警器匯總_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目錄內(nèi)容提要1關(guān)鍵字1引言1二、設(shè)計(jì)方案 2 21 設(shè)計(jì)任務(wù)和要求 22 2 方案辯證 31 溫度計(jì)軟件設(shè)計(jì)流程圖 32 元器件的選取 4 3系統(tǒng)最終設(shè)計(jì)方案 4三、設(shè)計(jì)方案的總體設(shè)計(jì)框圖 43 1 硬件電路框圖 43 2 硬件電路概述 533 主控電路 534 顯示電路 635 報(bào)警溫度調(diào)節(jié)電路 736溫度傳感器及 DS18B20測(cè)溫原理 7 3.7 升降溫調(diào)節(jié)電路 7四、系統(tǒng)軟件算法設(shè)計(jì) 84.1 主程序 9 42 讀出溫度子程序 94. 3 溫度轉(zhuǎn)換命令子程序 1044 計(jì)算溫度子程序 104 5 顯示數(shù)據(jù)刷新子程序 10 4 6 1602 的液晶顯示 10五、軟件仿真 10 5 1 系

2、統(tǒng)仿真設(shè)計(jì) 11 5 2系統(tǒng)仿真原理圖 13 5 2系統(tǒng)原理圖 14結(jié)與體會(huì) 15 附錄 15 一【內(nèi)容摘要】 隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活,工 作,科研,各個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù) ,單片機(jī)具有體積小、功耗 低、控制功能強(qiáng)、 擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn), 廣泛應(yīng)用于儀器儀表中, 結(jié)合不同種類的傳感器,可實(shí)現(xiàn)諸如電壓、濕度、溫度、速度、硬度、壓力等的 物理量的測(cè)量。本文將介紹一種基于單片機(jī)控制理論及其應(yīng)用系統(tǒng)設(shè)計(jì)的數(shù)字溫 度計(jì)。本文主要介紹了一個(gè)基于 AT89C51單片機(jī)的測(cè)溫系統(tǒng), 詳細(xì)描述了利用數(shù)字 溫度傳感器 DS18B20 開發(fā)測(cè)溫系統(tǒng)的過程,重點(diǎn)

3、對(duì)傳感器在單片機(jī)喜愛的硬件 連接,軟件編程以及各模塊系統(tǒng)流程進(jìn)行了詳盡分析, 對(duì)各部分的電路也進(jìn)行一 一介紹,該系統(tǒng)可以方便的是實(shí)現(xiàn)溫度采集和顯示, 并可以根據(jù)需要任意設(shè)定上 下限報(bào)警溫度,它使用起來方便,具有精度高、量程寬、靈敏度高、體積小、功 耗低等優(yōu)點(diǎn), 適合我們?nèi)粘I詈凸まr(nóng)業(yè)生產(chǎn)中的溫度測(cè)量, 也可以當(dāng)做溫度處 理模塊嵌入其他系統(tǒng)中,作為其他主系統(tǒng)的輔助擴(kuò)展。 DS18B20和 AT89C51 結(jié) 合實(shí)現(xiàn)最簡(jiǎn)溫度檢測(cè)系統(tǒng), 該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單, 抗干擾能力強(qiáng), 適合與惡劣環(huán)境下 進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量,有廣泛的應(yīng)用前景。本設(shè)計(jì)首先是確定目標(biāo),氣候是各個(gè)功能模塊的設(shè)計(jì),再在 Proteus 軟件

4、上 進(jìn)行仿真,修改,仿真。本溫度計(jì)屬于多功能溫度計(jì), 可以設(shè)置上下報(bào)警溫度, 當(dāng)溫度不在設(shè)置范圍 內(nèi)時(shí),可以報(bào)警,同時(shí)根據(jù)設(shè)定的溫度范圍通過升降溫電路控制環(huán)境的溫度達(dá)到 恒溫效果?!娟P(guān)鍵詞】 單片機(jī),數(shù)字控制,溫度計(jì), DS18B20,STC89C52RC【引言】 單片機(jī)技術(shù)作為計(jì)算機(jī)技術(shù)的一個(gè)分支,廣泛地應(yīng)用于工業(yè)控制,智能 儀器儀表,機(jī)電一體化產(chǎn)品,家用電器等各個(gè)領(lǐng)域。 “單片機(jī)原理與應(yīng)用”在工科 院校各專業(yè)中已作為一門重要的技術(shù)基礎(chǔ)課而普遍開設(shè)。學(xué)生在課程設(shè)計(jì),畢業(yè) 設(shè)計(jì), 科研項(xiàng)目中會(huì)廣泛應(yīng)用到單片機(jī)知識(shí), 而且,進(jìn)入社會(huì)后也會(huì)廣泛接觸到單 片機(jī)的工程項(xiàng)目。鑒于此,提高“單片機(jī)原理及應(yīng)

5、用”課的教學(xué)效果,讓學(xué)生參 與課程設(shè)計(jì)實(shí)習(xí)甚為重要。單片機(jī)應(yīng)用技術(shù)涉及的內(nèi)容十分廣泛,如何使學(xué)生在 有限的時(shí)間內(nèi)掌握單片機(jī)應(yīng)用的基本原理及方法,是一個(gè)很有價(jià)值的教學(xué)項(xiàng)目。 為此,我們進(jìn)行了“單片機(jī)的學(xué)習(xí)與應(yīng)用”方面的課程設(shè)計(jì),鍛煉學(xué)生的動(dòng)腦動(dòng) 手以及協(xié)作能力。單片機(jī)課程設(shè)計(jì)是針對(duì)模擬電子技術(shù),數(shù)字邏 輯電路,電路,單片機(jī)的原理 及應(yīng)用課程的要求,對(duì)我們進(jìn)行綜合性實(shí)踐訓(xùn)練的實(shí)踐學(xué)習(xí)環(huán)節(jié),它包括選擇課 設(shè)任務(wù)、軟件設(shè)計(jì),硬件設(shè)計(jì),調(diào)試和編寫課設(shè)報(bào)告等實(shí)踐內(nèi)容。通過此次課程 設(shè)計(jì)實(shí)現(xiàn)以下三個(gè)目標(biāo) : 第一,讓學(xué)生初步掌握單片機(jī)課程的試驗(yàn)、設(shè)計(jì)方法,即 學(xué)生根據(jù)設(shè)計(jì)要求和性能約束,查閱文獻(xiàn)資料,收集、

6、分析類似的相關(guān)題目,并 通過元器件的組裝調(diào)試等實(shí)踐環(huán)節(jié),使最終硬件電路達(dá)到題目要求的性能指標(biāo);通過第二,課程設(shè)計(jì)為后續(xù)的畢業(yè)設(shè)計(jì)打好基礎(chǔ),畢業(yè)設(shè)計(jì)是系統(tǒng)的工程設(shè)計(jì)實(shí)踐, 而課程設(shè)計(jì)的著眼點(diǎn)是讓學(xué)生開始從理論學(xué)習(xí)的軌道上逐漸引向?qū)嶋H運(yùn)用,從已 學(xué)過的定性分析、定量計(jì)算的方法,逐步掌握工程設(shè)計(jì)的步驟和方法,了解科學(xué) 實(shí)驗(yàn)的程序和實(shí)施方法。第三,培養(yǎng)學(xué)生勤于思考樂于動(dòng)手的習(xí)慣,同時(shí)通過設(shè) 計(jì)并制作單片機(jī)類產(chǎn)品,使學(xué)生能夠自己不斷地學(xué)習(xí)接受新知識(shí)(如在本課設(shè)題 目中存在智能測(cè)溫器件 DS18B20,就是課堂環(huán)節(jié)中不曾提及的“新器件” ), 多人的合作解決現(xiàn)實(shí)中存在的問題,從而不斷地增強(qiáng)學(xué)生在該方面的自

7、信心及興 趣,也提高了學(xué)生的動(dòng)手能力,對(duì)學(xué)生以后步入社會(huì)參加工作打下一定良好的實(shí) 踐基礎(chǔ)。溫度可調(diào)上下限檢測(cè)報(bào)警恒溫設(shè)計(jì)二、設(shè)計(jì)方案21 設(shè)計(jì)務(wù)任和要求1、基本范圍 -55 125 2、精度誤差小于 0.5 3、LCD 數(shù)碼直讀顯示4、可以任意設(shè)定溫度的上下限報(bào)警功能22 方案辯證1 溫度計(jì)軟件設(shè)計(jì)流程圖:開始2 元器件的選?。?jiǎn)纹瑱C(jī)芯片的選?。翰捎?89C51芯片作為硬件核心,利用 Flash ROM,內(nèi)部具有 4KB ROM存 儲(chǔ) 空間,能于3V的超低壓工作,而且與 MCS-51系列單片機(jī)完全兼容 ,但是運(yùn)用于電 路設(shè)計(jì)中時(shí)由于不具備 ISP在線編程技術(shù) , 當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序

8、的 錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí), 對(duì)芯片的多次拔插會(huì)對(duì)芯片造成 一定的損壞。采用 STC89C52R單C 片機(jī)作為硬件核心, 該單片機(jī)指令代碼完全兼容傳統(tǒng)的8051單片機(jī)。 STC89C52R的C工作電壓為 序存儲(chǔ)器 flash 容量為 8KB,隨機(jī)存儲(chǔ)器 度控制系統(tǒng)的要求。綜上所述:本課設(shè)中單片機(jī)芯片采用5.5-3.4V ,工作頻率范圍 0-80MHz,程RAM空間為 512 字節(jié),完全滿足設(shè)計(jì)溫STC89C52R。C溫度傳感器的選取 :方案一: 采用熱敏電阻傳感器。 利用熱敏電阻隨溫度變化而顯著變化, 能直接將溫度 的變化轉(zhuǎn)換為能量的變化, 進(jìn)而制成溫度計(jì)。 但是其測(cè)溫傳感器

9、比較復(fù)雜, 而且 不易通過編制程序來控制測(cè)溫精度,增大系統(tǒng)設(shè)計(jì)的難度。方案二:采用 DS18B20溫度傳感器。 DS18B20的內(nèi)部 3 腳(或 8 腳)封裝;使用特 有的溫度測(cè)量技術(shù),將被測(cè)溫度轉(zhuǎn)換成數(shù)值信號(hào); 3.0 5.5V 的電源供電方式和 寄生電源供電方式; ROM由 64 位二進(jìn)制數(shù)字組成,共分為 8 個(gè)字節(jié); RAM由 9 個(gè)字節(jié)的高速暫存器和非易失性電擦寫 ROM組成。綜上所述:溫度傳感器選取智能測(cè)溫器件 DS18B20。 本設(shè)計(jì)顯示電路采用 1602 液晶顯示模塊芯片。3 系統(tǒng)最終設(shè)計(jì)方案:綜上各方案所述 , 對(duì)此次課設(shè)的方案選定 : 采用 STC89C52RC作為主控制系統(tǒng)

10、 ; 1602液晶顯示模塊芯片作為溫度數(shù)據(jù)顯示裝置 ; 而智能溫度傳感器 DS18B20器件 作為測(cè)溫電路主要組成部分。至此,系統(tǒng)最終方案確定。三、設(shè)計(jì)方案的總體設(shè)計(jì)框圖 溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)方框圖如圖所示,控制器采用單片機(jī) STC89C52RC, 溫度傳感器采用 DS18B20,用 1602 液晶顯示屏以串口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示。3.1 硬件電路框圖 :圖 總體設(shè)計(jì)方框圖3.2 硬件電路概述 : 系統(tǒng)由單片機(jī)最小系統(tǒng)、顯示電路、按鍵、溫度傳感器等組成。本電路是由 STC89C52R單C 片機(jī)為控制核心,具有與 8051 系列單片機(jī)完全兼容,程序加密等功能, 8KB字節(jié)可編程閃存,工作電壓范

11、圍為 2.7 6V,全靜態(tài)工作頻率為 024MHZ;顯示電路由 1602 液晶顯示模塊芯片,可以進(jìn)行多行顯 示;溫度報(bào)警按鍵設(shè)為五個(gè),可以顯示華氏溫度,調(diào)節(jié)高低報(bào)警溫度;溫度傳感 器電路主要由 DS18B20測(cè)溫器件構(gòu)成, 該器件主要功能有: 采用單總線技術(shù); 每 只 DS18B20具有一個(gè)獨(dú)立的不可修改的 64 位序列號(hào);低壓供電,電源范圍為 3 5V;測(cè)溫范圍為 -55 +125,誤差為 0.5 ;復(fù)位電路是 10K電阻構(gòu)成的上 電自動(dòng)復(fù)位。3.3 主控電路單片機(jī) STC89C52RC具 有低電壓供電和體積小等特點(diǎn), 四個(gè)端口只需要兩個(gè) 口就能滿足電路系統(tǒng)的設(shè)計(jì)需要, 很適合便攜手持式產(chǎn)品

12、的設(shè)計(jì)使用系統(tǒng)可用二 節(jié)電池供電。晶振采用 12MHZ。復(fù)位電路采用上電加自動(dòng)復(fù)位。主控芯片 8051晶振電路復(fù)位電路3.4 顯示電路本設(shè)計(jì)顯示電路采用 1602液晶顯示模塊芯片, 該芯片可現(xiàn)實(shí) 16x2 個(gè)字符,比 以前的七段數(shù)碼管 LED 顯示器在顯示字符的數(shù)量上要多得多。另外,由于 1602 芯片編程比較簡(jiǎn)單,界面直觀,因此更加易于使用者的操作和觀測(cè)。1602A 芯片的接口信號(hào)說明圖 液晶顯示電路35報(bào)警溫度調(diào)節(jié)電路本系統(tǒng)一共設(shè)置了四個(gè)按鍵, K1 鍵只是按一下上限報(bào)警溫度加 1,松開后 恢復(fù)顯示正常溫度, K2 鍵按一下上限報(bào)警溫度減 1,松開后恢復(fù)顯示正常溫度, 當(dāng)調(diào)節(jié)的上限報(bào)警溫度

13、與環(huán)境實(shí)際的溫度相比, 環(huán)境實(shí)際溫度高于上限報(bào)警溫度 時(shí)系統(tǒng)會(huì)出現(xiàn)聲音報(bào)警及燈光警示,同理, K3 ,K4 的調(diào)節(jié)方法一樣,當(dāng)環(huán)境實(shí) 際溫度低于下限報(bào)警溫度時(shí),系統(tǒng)出現(xiàn)報(bào)警報(bào)警點(diǎn)調(diào)節(jié)電路3.6 溫度傳感器及 DS18B20測(cè)溫原理64 位 ROM的結(jié)構(gòu)開始 8 位是產(chǎn)品類型的編號(hào), 接著是每個(gè)器件的惟一的序 號(hào),共有 48位,最后 8位是前面 56位的 CRC檢驗(yàn)碼,這也是多個(gè) DS18B20可以 采用一線進(jìn)行通信的原因。溫度報(bào)警觸發(fā)器 TH和 TL,可通過軟件寫入戶報(bào)警上 下限。DS18B20 溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的 EERA。M高速暫存 R

14、AM的結(jié)構(gòu)為 8 字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖 4 所 示。頭2個(gè)字節(jié)包含測(cè)得的溫度信息, 第3和第 4字節(jié)TH和TL的拷貝,是易失 的,每次上電復(fù)位時(shí)被刷新。第 5 個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫 度值的數(shù)字轉(zhuǎn)換分辨率。 DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫 度數(shù)值。該字節(jié)各位的定義如圖 5 所示。低 5 位一直為 1,TM是工作模式位,用 于設(shè)置 DS18B20在工作模式還是在測(cè)試模式, DS18B20出廠時(shí)該位被設(shè)置為 0, 用戶不要去改動(dòng), R1和 R0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率。 DS18B20的測(cè)溫原理是這這樣的 , 器件中低溫度系數(shù)晶振的振蕩頻率受

15、溫度的影 響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器 1;高溫度系數(shù)晶振隨溫 度變化其振蕩頻率明顯改變, 所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器 2的脈沖輸入。 器件 中還有一個(gè)計(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è)量前,首先將最低溫所對(duì)應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器1、溫度 寄存器中,計(jì)數(shù)器 1 和溫度寄存器被預(yù)置在最低溫所對(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í),溫度寄存器的值將加 1,減法計(jì)數(shù)器 1

16、的預(yù)置將重新被裝入, 減法計(jì)數(shù)器 1 重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù), 如此循環(huán)直 到減法計(jì)數(shù)器計(jì)數(shù)到 0 時(shí),停止溫度寄存器的累加, 此時(shí)溫度寄存器中的數(shù)值就 是所測(cè)溫度值。 其輸出用于修正減法計(jì)數(shù)器的預(yù)置值, 只要計(jì)數(shù)器門仍未關(guān)閉就 重復(fù)上述過程,直到溫度寄存器值大致被測(cè)溫度值。測(cè)溫電路3.6 升溫、降溫控制電路加溫電路 系統(tǒng)在檢測(cè)到當(dāng)前溫度低于設(shè)定的下限值時(shí),在報(bào)警器啟動(dòng)報(bào)警同時(shí),升溫 電路開始工作, 使得 Q2 三極管導(dǎo)通, 繼電器 RL1 吸合加熱燈開始點(diǎn)亮加熱, 起 到升溫的效果,此時(shí)升溫指示燈點(diǎn)亮,表示升溫系統(tǒng)開始工作。降溫電路系統(tǒng)在檢測(cè)到當(dāng)前溫度超高設(shè)定的上限值

17、時(shí),在報(bào)警器啟動(dòng)報(bào)警同時(shí),降溫 電路開始工作,使得Q3三極管導(dǎo)通,繼電器RL2吸合風(fēng)扇開始吹風(fēng), 起到降溫 的效果,此時(shí)降溫指示燈點(diǎn)亮,表示降溫系統(tǒng)開始工作。四、系統(tǒng)軟件算法設(shè)計(jì)整個(gè)系統(tǒng)是由硬件配合軟件來實(shí)現(xiàn)的, 在硬件確定后, 編寫的軟件的功能也就基本定型了。 所以軟件的功能大致可分為兩個(gè)部分: 一是監(jiān)控, 這也是系統(tǒng)的核心部分,二是執(zhí)行部分,完成各個(gè)具體的功能。系統(tǒng)程序主要包括主程序,讀 出溫度子程序,溫度轉(zhuǎn)換命令子程序, 計(jì)算溫度子程序, 顯示數(shù)據(jù)刷新子程序等。 4.1 主程序主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、 讀出并處理 DS18B20的測(cè)量的當(dāng) 前溫度值,溫度測(cè)量每 1s 進(jìn)行一

18、次。這樣可以在一秒之內(nèi)測(cè)量一次被測(cè)溫度, 其程序流程見圖所示。發(fā) DS18B20 復(fù)位命令圖 2 讀溫度流程圖圖 1 主程序流程圖CRC4.2 讀出溫度子程序 讀出溫度子程序的主要功能是讀出 RAM中的 9 字節(jié),在讀出時(shí)需進(jìn)行 校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖示圖 溫度轉(zhuǎn)換流程圖4.3 溫度轉(zhuǎn)換命令子程序 溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令, 當(dāng)采用 12 位分辨率時(shí)轉(zhuǎn)換時(shí)間約為 750ms,在本程序設(shè)計(jì)中采用 1s 顯示程序延時(shí)法等待轉(zhuǎn)換的完成。 溫度轉(zhuǎn)換命令子程序流程圖如上圖,圖 9 所示4.4 計(jì)算溫度子程序 計(jì)算溫度子程序?qū)?RAM中讀取值進(jìn)行 BCD碼

19、的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù) 的判定,其程序流程圖如圖所示。圖 計(jì)算溫度流程圖圖 顯示數(shù)據(jù)刷新流程圖4.5 顯示數(shù)據(jù)刷新子程序 顯示數(shù)據(jù)刷新子程序主要是對(duì)顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作, 當(dāng)最 高顯示位為 0 時(shí)將符號(hào)顯示位移入下一位。程序流程圖如圖。1602液晶顯示流程圖4.6 1602 的液晶顯示五、軟件仿真5.1 系統(tǒng)仿真設(shè)計(jì)本設(shè)計(jì)是在 Proteus 環(huán)境下進(jìn)行仿真的,仿真所用到的器件有:?jiǎn)纹瑱C(jī) AT89C51,DS1820溫度傳感器,蜂鳴器,液晶顯示器,一些電阻,電容等。仿真結(jié)果如下:顯示器顯示傳感器溫度5.2 系統(tǒng)仿真原理圖5.3 系統(tǒng)原理圖六、總結(jié)與體會(huì)#include #i

20、nclude #define uint unsigned int#define uchar unsigned charsbit DQ=P23;/ds18b20與單片機(jī)連接口 sbit RS=P25;sbit RW=P26;sbit EN=P27;uchar data disdata5;uint tvalue,CurrentT=0;/ 溫度值 uchar tflag;/溫度正負(fù)標(biāo)志 #define LCD_BUS P0sbit SetKey = P22;sbit UpKey = P21; sbit DnKey = P20; sbit BEEP = P24;sbit Heat sbit Cool=

21、 P10;= P11;unsigned char AlarmTempLow=10,AlarmTempTop=40,Set=0,NG=0;void delayms(uint ms)/延時(shí) xx 毫秒uchar i;while(ms-) for(i=0;i0;i-)DQ H 0- daVVHl -CD H - - =ss=k(dq)dafll0x80;desryJI8B2ouo=raum(da);void dsl820wr(uchar wdasr)rw達(dá)a*_ 宀unsigned char -Ho-fo 二亓 8 二 V5?!)宀DQDQ H wdasreooxol;desryJI8B2ouo=D

22、Q +wdasrVVHl ;unsigned inf ReadlTemperaure(void=s*/宀uchar pbd 叟 820ra(=d 叟 820wr(0xcc)w漠KSHI旦4n丄 d叟82OWI-OX44)詩訶劇餡岡二 d 叟 820ra(= d 叟 820wr(0xcc)w漠KSHI旦4n丄 d 叟 820wr-(0xbe)w*s丄 and 叟 820rd(= bud 叟 8203(= fva-ueub fva-ueccuo? fva-uelva-ue-a; if(fva-uecoxofff) ffsrguo; e-se 宀 fva-ueva-ue-M nfsrgHl fva_

23、uelva_ue*(0625)wag 血芳”亠0 迤譴蠱la、達(dá)0cs35H?m-CQ-raum(fva-ue);void Display_Temperature() /顯示溫度uchar flagdat;disdata0=tvalue/1000+0x30;/百位數(shù) disdata1=tvalue%1000/100+0x30;/十位數(shù) disdata2=tvalue%100/10+0x30;/個(gè)位數(shù) disdata3=tvalue%10+0x30;/小數(shù)位if(tflag=0) flagdat=0x20;/正溫度不顯示符號(hào)else flagdat=0x2d;/負(fù)溫度顯示負(fù)號(hào) :-/if(dis

24、data0=0x30)/ disdata0=0x20;/如果百位為 0,不顯示/ if(disdata1=0x30) disdata1=0x20;/如果百位為 0,十位為 0 也不顯 示/if(tflag=1)writeChar(10,0,flagdat);/wr_com(0x8a);wr_dat(flagdat);/ 顯示符號(hào)位 writeChar(11,0,disdata0);/wr_com(0x8b);wr_dat(disdata0);/顯示百 位writeChar(12,0,disdata1);/wr_com(0x8c);wr_dat(disdata1);/顯示十 位writeChar

25、(13,0,disdata2);/wr_com(0x8d);wr_dat(disdata2);/顯示個(gè) 位writeChar(14,0,0X2E);/wr_com(0x8e);wr_dat(0x2e);/顯示小數(shù)點(diǎn) writeChar(15,0,disdata3);/wr_com(0x8f);wr_dat(disdata3);/ 顯示小數(shù)位else writeChar(10,0,disdata0);/wr_com(0x8a);wr_dat(disdata0);/顯示百 位writeChar(11,0,disdata1);/wr_com(0x8b);wr_dat(disdata1);/顯示十 位

26、writeChar(12,0,disdata2);/wr_com(0x8c);wr_dat(disdata2);/顯示個(gè) 位writeChar(13,0,0X2e);/wr_com(0x8d);wr_dat(0x2e);/顯示小數(shù)點(diǎn) writeChar(14,0,disdata3);/wr_com(0x8e);wr_dat(disdata3);/顯示小 數(shù)位void SetFun(void)unsigned char i1=0,i2=0,i3=0,i4=0,i5=0,i6=0; if(SetKey=0)delayms(20); if(SetKey=0) if(Set);writestring(

27、8,1, );break; case 2: writestring(0,1, );writestring(8,1,);break; while(SetKey=0);if(UpKey=0)&(Set!=0)delayms(20);if(UpKey=0)switch(Set)case 1: if(AlarmTempLow99) AlarmTempLow+;else AlarmTempLow=99; break;case 2: if(AlarmTempTop0) AlarmTempLow-;else AlarmTempLow=0; break;case 2: if(AlarmTempTop0) Al

28、armTempTop-;else AlarmTempTop=0; break;i1= AlarmTempLow/100;/獲得溫度值的百位i2= AlarmTempLow%100/10;/獲得溫度值的十位/獲得溫度值的百位/獲得溫度值的十位/獲得溫度值的個(gè)位i3= AlarmTempLow%10;/獲得溫度值的個(gè)位i4= AlarmTempTop/100;i5= AlarmTempTop%100/10;i6= AlarmTempTop%10;writestring(5,1, ); writestring(13,1, ); if(i1!=0) writeChar(5,1,i1+0); if(i1=0)&(i2!=0) writeChar(5,1,i2+0); if(i1!=0) writeChar(6,1,i2+0); if(i1=0)&(i2=0) writeChar(5,1,i3+0); else if(i1=0)&(i2!=0)writeChar(6,1,i3+0);if(i1!=0) writeChar(7,1,i3+0);if(i4!=0) writeChar

溫馨提示

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

評(píng)論

0/150

提交評(píng)論