多點(diǎn)溫度檢測(cè)_第1頁(yè)
多點(diǎn)溫度檢測(cè)_第2頁(yè)
多點(diǎn)溫度檢測(cè)_第3頁(yè)
多點(diǎn)溫度檢測(cè)_第4頁(yè)
多點(diǎn)溫度檢測(cè)_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、多點(diǎn)溫度檢測(cè)程序設(shè)計(jì)報(bào)告隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作,科研,各個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù)。隨著人們生活水平的不斷提高,單片機(jī)控制無(wú)疑是人們追求的目標(biāo)之一,它所給人帶來(lái)的方便也是不可否定的。多點(diǎn)溫度檢測(cè)取得了廣泛的運(yùn)用。數(shù)據(jù)采集系統(tǒng)的開發(fā)在很大意義上提高了生產(chǎn)生活的需要,方便了生產(chǎn)中對(duì)溫度的控制。外圍電路比較簡(jiǎn)單測(cè)量精度較高,分辨力高,使用方便。數(shù)據(jù)檢測(cè)是現(xiàn)代檢測(cè)技術(shù)的重要組成部分,在保證產(chǎn)品質(zhì)量、節(jié)約能源和安全生產(chǎn)等方面起著關(guān)鍵的作用。本次設(shè)計(jì)正是為了完成數(shù)據(jù)采集而設(shè)計(jì)的,可以說(shuō)與人們的日常生活是息息相關(guān)的,具有很大的現(xiàn)實(shí)意義。 本文將介紹一種基于單片機(jī)控制

2、的多點(diǎn)溫度檢測(cè)系統(tǒng)并在軟件方面對(duì)程序框圖作了簡(jiǎn)潔的描述。該設(shè)計(jì)控制器使用單片機(jī)AT89C51,測(cè)溫傳感器使用DS18B20,顯示模塊采用LCD1602以實(shí)現(xiàn)溫度顯示.程序設(shè)計(jì)源程序采用c語(yǔ)言編寫,在Keil開發(fā)環(huán)境中進(jìn)行編譯并修改。 軟件流程圖結(jié)束設(shè)置跳過ROM命令CCH調(diào)寫命令子程序設(shè)置讀數(shù)據(jù)命令BEH調(diào)寫命令子程序讀取溫度數(shù)據(jù)調(diào)溫度數(shù)據(jù)處理子程序開始調(diào)LCD顯示子程序調(diào)初始化子程序延時(shí)設(shè)置啟動(dòng)溫度轉(zhuǎn)換命令44H調(diào)寫命令子程序設(shè)置跳過ROM命令CCH調(diào)寫命令子程序調(diào)初始化子程序一、 溫度采集轉(zhuǎn)換子程序1、DS18B20工作原理與應(yīng)用溫度測(cè)量與數(shù)字?jǐn)?shù)據(jù)輸出集成在一個(gè)芯片上,抗干擾能力增強(qiáng);工作

3、周期分為:溫度檢測(cè)與數(shù)據(jù)處理;三種形態(tài)的存儲(chǔ)資源:ROM、RAM、EEPROM(1) DS18B20的ROMDS18B20共64位ROM,用于存放DS18B20ID編碼。(2)DS18B20的RAM及EEPROMRAM 數(shù)據(jù)暫存器,用于內(nèi)部計(jì)算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,DS18B20共9個(gè)字節(jié)RAM,每個(gè)字節(jié)為8位。EEPROM 非易失性記憶體,用于存放長(zhǎng)期需要保存的數(shù)據(jù),上下限溫度報(bào)警值和校驗(yàn)數(shù)據(jù)。(3)MCU對(duì)DS18B20操作流程 初始化、ROM操作命令、存儲(chǔ)器操作命令、處理數(shù)據(jù) 2、操作命令Read ROM(讀ROM)33h此命令允許總線主機(jī)讀DS18B20的8位產(chǎn)品系列編碼,唯一

4、的48位序列號(hào),以及8位的CRC。Match ROM( 符合ROM)55h此命令后繼以64位的ROM數(shù)據(jù)序列,允許總線主機(jī)對(duì)多點(diǎn)總線上特定的DS18B20尋址。Skip ROM( 跳過ROM )CCh在單點(diǎn)總線系統(tǒng)中,此命令通過允許總線主機(jī)不提供64位ROM編碼而訪問存儲(chǔ)器操作來(lái)節(jié)省時(shí)間。Search ROM( 搜索ROM)F0h搜索ROM命令允許總線控制器用排除法識(shí)別總線上的所有從機(jī)的64位編碼。Alarm Search(告警搜索)ECh僅在最近一次溫度測(cè)量出現(xiàn)告警的情況下,DS18B20才對(duì)此命令作出響應(yīng)。Write Scratchpad(寫暫存存儲(chǔ)器)4Eh向DS18B20的暫存器中寫入

5、數(shù)據(jù),開始位置在地址2。接下來(lái)寫入的兩個(gè)字節(jié)將被存到暫存器中的地址位置2和3。Read Scratchpad(讀暫存存儲(chǔ)器)BEh讀取暫存器的內(nèi)容。讀取將從字節(jié)0開始,一直進(jìn)行下去,直到第9字節(jié)讀完。Copy Scratchpad(復(fù)制暫存存儲(chǔ)器)48h把暫存器的內(nèi)容拷貝到DS18B20的E2存儲(chǔ)器里,即把溫度報(bào)警觸發(fā)字節(jié)存入非易失性存儲(chǔ)器里。Convert T(溫度變換)44h啟動(dòng)一次溫度轉(zhuǎn)換而無(wú)需其他數(shù)據(jù)。Recall E2(重新調(diào)整E2)B8h把貯存在E2中溫度觸發(fā)器的值重新調(diào)至?xí)捍娲鎯?chǔ)器。Read Power Supply(讀電源)B4h對(duì)于在此命令發(fā)送至DS18B20之后所發(fā)出的第一

6、讀數(shù)據(jù)的時(shí)間片,器件都會(huì)給出其電源方式的信號(hào):“0”=寄生電源供電,“1”=外部電源供電。void Read_Temperature()if(Initialize_DS18b20()=1)DS18b20_OK=0;elseWrite_One_Byte(0xcc); /跳過序列號(hào)的讀取Write_One_Byte(0x44); /啟動(dòng)溫度轉(zhuǎn)換Initialize_DS18b20(); /初始化Write_One_Byte(0xcc); Write_One_Byte(0xbe); /讀取溫度寄存器,temp_value0=Read_One_Byte(); /低溫temp_value1=Read_O

7、ne_Byte(); /高溫DS18b20_OK=1;3、處理數(shù)據(jù)當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲(chǔ)器的第0和第1個(gè)字節(jié)。二、 LCD1602顯示子程序1、 LCD 1602指令說(shuō)明顯示模式設(shè)置:顯示開/關(guān)及光標(biāo)模式設(shè)置:基本操作時(shí)序:讀狀態(tài) 輸入:RS=L;RW=H;E=H 輸出:D0D7=狀態(tài)字寫指令 輸入:RS=L;RW=L; D0D7=指令碼;E=高脈沖 輸出:無(wú)讀數(shù)據(jù) 輸入:RS=H;RW=H;E=H 輸出:D0D7=數(shù)據(jù)寫數(shù)據(jù) 輸入:RS=H;RW=L; D0D7=數(shù)據(jù);E=高脈沖 輸出:無(wú)讀狀態(tài)子程序:uchar Busy_Check( )

8、uchar lcd_status;RS=0;RW=1;E=1;Delay_Ms(1);lcd_status=P0;E=0;return lcd_status;寫指令子程序:void Write_LCD_Command(uchar cmd) while(Busy_Check()&0x80)=0x80); RS=0;RW=0;E=0;P0=cmd;E=1;Delay_Ms(1);E=0; 寫數(shù)據(jù)子程序:void Write_LCD_Data(uchar dat) while(Busy_Check()&0x80)=0x80); RS=1;RW=0;E=0;P0=dat;E=1;Del

9、ay_Ms(1);E=0;2、LCD 1602初始化過程延時(shí)15ms; 寫指令38H(不檢測(cè)忙信號(hào));延時(shí)5ms; 寫指令38H(不檢測(cè)忙信號(hào));延時(shí)5ms; 寫指令38H(不檢測(cè)忙信號(hào));以后每次寫指令、讀寫數(shù)據(jù)操作之前均需檢測(cè)忙信號(hào);寫指令38H:顯示模式設(shè)置; 寫指令08H:顯示關(guān)閉;寫指令01H:顯示清屏; 寫指令06H:顯示光標(biāo)移動(dòng)設(shè)置;寫指令0CH:顯示開及光標(biāo)設(shè)置;void Initialize_LCD( )Write_LCD_Command(0x38);/ 顯示模式設(shè)置:16×2顯示,5×7點(diǎn)陣,8位數(shù)據(jù)接口Delay_Ms(1);Write_LCD_Command(0x01);/ 清屏幕指令,將以前的顯示內(nèi)容清除Delay_Ms(1);Write_LCD_Command(0x06);/ 顯示模式設(shè)置:光標(biāo)右移,字符不移Delay_Ms(1);Write_LCD_Command(0x0c);/ 顯示模式設(shè)置:顯示開,無(wú)光標(biāo),光標(biāo)不閃爍Delay_Ms(1);總結(jié)在本次設(shè)計(jì)的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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)論