基于DS18B20溫度傳感器溫控系統(tǒng)的Proteus仿真_第1頁
基于DS18B20溫度傳感器溫控系統(tǒng)的Proteus仿真_第2頁
基于DS18B20溫度傳感器溫控系統(tǒng)的Proteus仿真_第3頁
基于DS18B20溫度傳感器溫控系統(tǒng)的Proteus仿真_第4頁
基于DS18B20溫度傳感器溫控系統(tǒng)的Proteus仿真_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

安徽理工大學機械電子工程5/10來自jasmine。email:zkchen@基于DS18B20溫度傳感器溫控系統(tǒng)的Proteus仿真DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司推出的支持“一線總線”接口的傳感器。具有功耗低、性能高、抗干擾能力強的特點,可以直接將溫度轉(zhuǎn)化為串行數(shù)字信號供處理器處理。DS18B20傳感器具有以下一些特性:測溫范圍-55℃至+125℃,在-10℃至+85℃時的精度為正負0.5℃;適應(yīng)電壓的范圍在3.0至5.5V;單線接口,只用一條口線就可以與微處理器的雙向通信;支持多點組網(wǎng),多個DS18B20并接在一根口線上就可實現(xiàn)多點測溫;測量結(jié)果直接輸出數(shù)字溫度信號,通過單線串行傳輸給微處理器;具有負壓特性,電源極性接反芯片不會燒壞,只是不能正常工作;可編程分辨率為9至12位,對應(yīng)的分辨溫度分別是0.5℃,0.25℃,0.125℃,0.0625℃,能夠?qū)崿F(xiàn)高精度測溫。在9位分辨率時可在93.75ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字;在12位分辨率時可在750us內(nèi)把溫度值轉(zhuǎn)換為數(shù)字;傳送數(shù)據(jù)時可傳送CRC校驗碼,抗干擾糾錯能力強。DS18B20的引腳封裝圖如下: 各引腳定義如下:GND:電源地DQ:信號輸入輸出VDD:電源正極NC:空DS18B20單總線技術(shù):DS18B20采用單條信號線,既可以傳輸數(shù)據(jù),也可以傳輸時鐘。其數(shù)據(jù)傳輸是雙向的,這種單總線技術(shù)線路簡單,硬件開銷小,成本低廉,便于總線擴展與維護。單總線通常需要外接一個4.7K的上拉電阻。它與處理器的連接非常簡單,通常連接方式如下圖:DQ端外接一個上拉電阻,與處理器的任一端口連接。DS18B20工作原理ROM功能命令(1)[33H]ReadROM讀ROM。把DS18B20傳感器的ROM中編碼讀出來。(2)[55H]MatchROM匹配ROM。發(fā)出該命令接著會發(fā)送64位包含具體DS18B20序列號的ROM編碼,與該編碼序列號相同的DS18B20就會做出響應(yīng),序列號不匹配的DS18B20繼續(xù)等待,不做響應(yīng)。由于不同的DS18B20序列號不一樣,所以通過該命令可以訪問控制具體的DS18B20。(3)[F0H]SearchROM搜索ROM。用于識別各個DS18B20的64位ROM。(4)[CCH]SkipROM跳過ROM。當只有一個DS18B20時,使用該命令可以忽略64位ROM地址,直接向DS18B20發(fā)送溫度變換命令。設(shè)置好之后,就可以根據(jù)DS18B20的特性和控制方式編寫程序。參考程序如下: #include<reg52.h> #defineucharunsignedchar #defineuintunsignedint ucharcodedisp[]="0123456789"; ucharcodedisp2[]="Tempreture"; ucharcodedisp3[]="^C"; sbitlcden=P2^0; sbitlcdrw=P2^1; sbitlcdrs=P2^2; sbittempt=P2^3; uintu_temp;//定義無符號整型形參 floatf_temp;//定義浮點型形參 voiddelay(uintx) //延時500ms程序 { uinti,j; for(i=0;i<x;i++) for(j=0;j<130;j++); } voidwrite_com(ucharcom) //液晶寫命令 { lcdrs=0; P0=com; delay(5); lcden=1; delay(5); lcden=0; delay(5); } voidwrite_data(uchardate) //液晶寫數(shù)據(jù) { lcdrs=1; P0=date; delay(5); lcden=1; delay(5); lcden=0; delay(5); } voidlcd_init() //液晶初始化 { lcden=0; lcdrw=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); } voiddisplay_tempt(uintdate) //溫度數(shù)據(jù)顯示 { uchari,j,k; i=date/100; //十位 j=date%100/10; //個位 k=date%100%10; //小數(shù)位 write_com(0x80+0x40+5); write_data(disp[i]); write_data(disp[j]); write_data('.'); write_data(disp[k]); } voidreset_tempt() //DS18B20復(fù)位,初始化 { uinti; tempt=0; i=90; //延時 while(i>0)i--; tempt=1; i=4; //延時 while(i>0)i--; } bitread_bit() //讀一位DS18B20數(shù)據(jù) { uinti; bitdat; tempt=0; i++; //延時 tempt=1; i++; //延時 i++; dat=tempt; i=8; //延時 while(i>0)i--; returndat; } ucharread_tempt() //讀一個字節(jié)DS18B20數(shù)據(jù) { uchari,j,dat; dat=0; for(i=1;i<=8;i++) { j=read_bit(); dat=(j<<7)|(dat>>1);//將讀取的數(shù)據(jù)位按讀取先后順序, } //從低位到高位(從右往左)排列保存到dat returndat; } voidwrite_byte(uchardat) //寫一個字節(jié)數(shù)據(jù)到DS18B20 { uinti; ucharj; bittestbit; for(j=1;j<=8;j++) { testbit=dat&0x01; //每次只寫一位數(shù)據(jù) dat=dat>>1; if(testbit) { tempt=0; i++; //延時 tempt=1; i=8; //延時 while(i>0)i--; } else { tempt=0; i=8; //延時 while(i>0)i--; tempt=1; i++; //延時 i++; } } } voidconvert_tempt() //DS18B20開始獲取溫度并進行轉(zhuǎn)換 { reset_tempt(); delay(1); write_byte(0xcc); write_byte(0x44); } uintget_tempt() //讀取DS18B20寄存器中的溫度數(shù)據(jù) { uchara,b; reset_tempt(); delay(1); write_byte(0xcc); write_byte(0xbe); a=read_tempt(); b=read_tempt(); u_temp=b; u_temp<<=8; u_temp=u_temp|a; f_temp=u_temp*0.0625;//精度為12位,所以分辨率為0.0625 u_temp=f_temp*10; //乘以10,將實際溫度擴大10倍 returnu_temp; //返回的u_temp是整型數(shù)據(jù) } voiddisplay() //靜態(tài)文字顯示 { uchari,j; write_com(0x80+3); for(i=0;i<10;i++) { write_data(disp2[i]); } write_com(0x80+0x40+10); for(j=0;j<2;j++) { write_data(disp3[j]); }

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論