課程設(shè)計(jì)基于數(shù)字溫度傳感器數(shù)字溫度計(jì)的設(shè)計(jì)檔P17_第1頁
課程設(shè)計(jì)基于數(shù)字溫度傳感器數(shù)字溫度計(jì)的設(shè)計(jì)檔P17_第2頁
課程設(shè)計(jì)基于數(shù)字溫度傳感器數(shù)字溫度計(jì)的設(shè)計(jì)檔P17_第3頁
課程設(shè)計(jì)基于數(shù)字溫度傳感器數(shù)字溫度計(jì)的設(shè)計(jì)檔P17_第4頁
課程設(shè)計(jì)基于數(shù)字溫度傳感器數(shù)字溫度計(jì)的設(shè)計(jì)檔P17_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、專業(yè)方向課程設(shè)計(jì)報(bào)告基于數(shù)字溫度傳感器數(shù)字溫度計(jì)的設(shè)計(jì)一 設(shè)計(jì)要求利用數(shù)字溫度傳感器DS18B20與單片機(jī)結(jié)合來測(cè)量溫度。利用數(shù)字溫度傳感器DS18B20測(cè)量溫度信號(hào),計(jì)算后在LCD上顯示相應(yīng)的溫度值。其溫度測(cè)量范圍為55125,精確到0.0625。The design of Digital Thermometer Based on the Digital temperature pickupAbstract :the temperature can be measured by combining with the Digital temperature pickup and singlec

2、hip, the Digital temperature pickup DS18B02 measure the signer of temperature ,then temperature valuecan be calculated,which can be displayed on LCD二 方案論證1方案一使用熱敏電阻利用其感溫效應(yīng),其電阻值在將隨被測(cè)溫度變化而變化,這樣其兩端的電壓也將隨之改變,經(jīng)過放大,AD轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測(cè)溫度顯示出來。但是放大電路受溫度的影響比較大,而且轉(zhuǎn)換精度受到AD轉(zhuǎn)換器位數(shù)的限制。 2 方案二 利用溫度傳感器D

3、S18B2,它具有微型化,低功耗,高性能,抗干擾能力強(qiáng)等優(yōu)點(diǎn),可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(hào),這樣單片機(jī)可以直接處理后送到顯示電路顯示。方案二電路比較簡(jiǎn)單,費(fèi)用較低,可靠性高,軟件設(shè)計(jì)也比較簡(jiǎn)單,鑒于以上原因,選擇方案二三 理論設(shè)計(jì)1 硬件設(shè)計(jì)總體方框圖如下硬件電路如下所示:圖一(其中附加一個(gè)時(shí)鐘芯片DS1302,可以寫入時(shí)鐘程序,完成在LCD上顯示時(shí)間定時(shí)等功能)1.1溫度采集處理模塊DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過簡(jiǎn)單的編程實(shí)現(xiàn)位的數(shù)字值讀數(shù)方式。DS18B2

4、0的性能特點(diǎn)如下:獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;無須外部器件;可通過數(shù)據(jù)線供電,電壓范圍為3.05.5;零待機(jī)功耗;溫度以或位數(shù)字;用戶可定義報(bào)警設(shè)置;報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件;負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作; DS18B20采用腳PR35封裝或腳SOIC封裝,其內(nèi)部結(jié)構(gòu)框圖如圖2所示。64位ROM的結(jié)構(gòu)開始位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后位是前面56位的CRC檢驗(yàn)碼,這也是多個(gè)DS18B20可以采用一線進(jìn)行通信的原因。

5、溫度報(bào)警觸發(fā)器和,可通過軟件寫入戶報(bào)警上下限。DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存和一個(gè)非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖3所示。頭個(gè)字節(jié)包含測(cè)得的溫度信息,第和第字節(jié)和的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖3所示。低位一直為,是工作模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式,DS18B20出廠時(shí)該位被設(shè)置為,用戶要去改動(dòng),R1和0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分率。由表1可見

6、,DS18B20溫度轉(zhuǎn)換的時(shí)間比較長,而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。高速暫存的第、字節(jié)保留未用,表現(xiàn)為全邏輯。第字節(jié)讀出前面所有字節(jié)的CRC碼,可用來檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第、字節(jié)。單片機(jī)可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以0.0625LSB形式表示。當(dāng)符號(hào)位時(shí),表示測(cè)得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)

7、碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。表2是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時(shí)DS18B20的1腳接地,2腳作為信號(hào)線,3腳接電源。另一種是寄生電源供電方式,如圖4 所示單片機(jī)端口接單線總線,為保證在有DS18B20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè)MOSFET管來完成對(duì)總線的上拉。1.2 LCD顯示模塊1602采用標(biāo)準(zhǔn)的16腳接口,其中: 第1腳:VSS為地電源第2腳:VDD接5V正電源第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度

8、第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:RW為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線。第1516腳:空腳1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如表1所示液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此

9、指令失效。要顯示字符時(shí)要先輸入顯示字符地址,下表是DM-162的內(nèi)部顯示地址.3 軟件設(shè)計(jì)軟件設(shè)計(jì)的主要任務(wù)是完成從DS18B20中讀出溫度值,并在LCD上顯示。四 電路仿真及仿真結(jié)果分析:將設(shè)計(jì)的電路圖用proteus仿真,等到仿真結(jié)果如下:由仿真結(jié)果可以看出,本設(shè)計(jì)的功能可以得到滿足,軟件硬件設(shè)計(jì)基本沒問題。五 設(shè)計(jì)方案和測(cè)試結(jié)果將此電路接上電源,LCD顯示當(dāng)前室溫,當(dāng)用手按住溫度傳感器時(shí),可以看到溫度逐漸上升,將手放開,溫度逐漸下降。將此電路放在室溫中一段時(shí)間,其溫度基本保持不變,電路工作穩(wěn)定,符合本次設(shè)計(jì)的目的。六 作品功能和使用說明此溫度傳感器的測(cè)試范圍是55125,考慮到通用單片機(jī)

10、和通用LCD的工作溫度的范圍大致為055,但是若將此溫度傳感器單獨(dú)放到被測(cè)物體中,仍可以滿足測(cè)試要求。考慮到此作品是為滿足一般日常生活要求而設(shè)計(jì),為了充分利用單片機(jī)和LCD資源,接入一個(gè)時(shí)鐘芯片,可以顯示時(shí)間,還可完成定時(shí)鬧鐘的功能。七 心得體會(huì)通過這次對(duì)數(shù)字溫度計(jì)的設(shè)計(jì)與制作,讓我了解了設(shè)計(jì)電路的程序,也讓我了解了關(guān)于數(shù)字溫度計(jì)的原理與設(shè)計(jì)理念,要設(shè)計(jì)一個(gè)電路總要先用仿真仿真成功之后才實(shí)際接線的。但是最后的成品卻不一定與仿真時(shí)完全一樣,因?yàn)?,再?shí)際接線中有著各種各樣的條件制約著。而且,在仿真中無法成功的電路接法,在實(shí)際中因?yàn)樾酒旧淼奶匦远軌虺晒ΑK?,在設(shè)計(jì)時(shí)應(yīng)考慮兩者的差異,從中找出最

11、適合的設(shè)計(jì)方法。通過這次學(xué)習(xí),讓我對(duì)各種電路都有了大概的了解,所以說,坐而言不如立而行,對(duì)于這些電路還是應(yīng)該自己動(dòng)手實(shí)際操作才會(huì)有深刻理解。在焊接過程中我曾將溫度傳感器的電源、地焊反啦,導(dǎo)致溫度傳感器急劇發(fā)熱,后經(jīng)觀察和查詢資料才得以改正。從這次的課程設(shè)計(jì)中,我真真正正的意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的寫與讀的過程中才能提高,這就是我在這次課程設(shè)計(jì)中的最大收獲。八 參考文獻(xiàn)【1】郭天祥 51單片機(jī)C語言教程 【M】 北京 電子工業(yè)出版社 2009【2】毛謙敏 單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì) 【M】國防工業(yè)出版社 2008

12、附件完整源程序#includereg51.h#include1602.h#include18b20.h#define uchar unsigned char#define uint unsigned intuchar table=temperature:;void main() uchar ee,*p=table; intril();/1602初始化函數(shù) pos(0,0);/將數(shù)據(jù)指針定位到第一行第一列處 while(*p)/顯示 temperature: senddata(*p); p+; while(1) pos(1,0);/將數(shù)據(jù)指針定位到第二行第一列 read();/讀轉(zhuǎn)換的溫度數(shù)據(jù)

13、if(flag=1)senddata(+);/溫度大于0 顯示“+” if(flag=0)senddata(-);/溫度小于0 顯示“-” for(ee=0;ee0;t-);uchar init18b20() /初始化函數(shù)DQ=1; /DQ先置高 delay(8); /稍延時(shí)DQ=0; /發(fā)送復(fù)位脈沖 delay(80); /延時(shí)(480us) DQ=1; /拉高數(shù)據(jù)線 delay(5); /等待(1560us) x=DQ; /用X的值來判斷初始化有沒有成功,18B20存在的話X=0,否則X=1 delay(20); if(x=1) return 1;else return 0;void wr

14、ite18b20(uchar aa)/寫字節(jié)uchar i=0; /數(shù)據(jù)線從高電平拉至低電平,15us之內(nèi)將所需寫的位送到數(shù)據(jù)線上,for(i=8;i0;i-) /在1560us之間對(duì)數(shù)據(jù)線進(jìn)行采樣,如果是高電平就寫1,低寫0發(fā)生。 DQ=0; /在開始另一個(gè)寫周期前必須有1us以上的高電平恢復(fù)期。 DQ=aa&0x01; delay(5); DQ=1; aa=1; delay(4); uchar read18b20() /讀字節(jié) uchar i=0; / 每個(gè)讀周期最短的持續(xù)時(shí)間為60us,各個(gè)讀周期之間必須有1us以上的高電平恢復(fù)期uchar d=0; for (i=8;i0;i-) /一

15、個(gè)字節(jié)有8位 DQ=1; delay(1); DQ=0; d=1; DQ=1; if(DQ) d|=0x80; delay(4); return d;void read() /讀溫度 unsigned int hh;while(init18b20(); /初始化write18b20(0xcc); /跳過讀序列號(hào)的操作write18b20(0x44); /啟動(dòng)溫度轉(zhuǎn)換delay(125); /轉(zhuǎn)換需要一點(diǎn)時(shí)間,延時(shí) while(init18b20(); /初始化write18b20(0xcc); /跳過讀序列號(hào)的操作 write18b20(0xbe); /讀溫度寄存器(頭兩個(gè)值分別為溫度的低位和

16、高位) l=read18b20(); /讀出溫度的低位LSBh=read18b20(); /讀出溫度的高位MSBhh=l; if(h0x7f) flag=0; /溫度小于0h=h;l=l+1; else flag=1;h=h4;zhen=h|l;hh&=0x0f;hh*=625; disbuf0=zhen/100+0;/將溫度值轉(zhuǎn)換,存儲(chǔ)以便顯示if(zhen/100=0)disbuf0= ;disbuf1=zhen%100/10+0;disbuf2=zhen%10+0;disbuf3=.;disbuf4=hh/1000+0; /小數(shù)部分disbuf5=hh/100%10+0;disbuf6=

17、0xdf;disbuf7=c; #endif/防止被重定義#ifndef _l602_h#define _1602_h#define uchar unsigned char#define uint unsigned int/函數(shù)聲明void delay(uchar a);void senddata(uchar m);void sendcmd(uchar n);void pos(uchar i,uchar j); /i=0表示在第一行,i=1表示在第二行void intril(); /定義通道sbit en=P26;sbit rw=P25;sbit rs=P24;void delayss(uchar a)/延時(shí) 1602顯示時(shí)必須延時(shí)uchar i,j; for(i=a;i0;i-) for(j=0;j248;j+);void senddata(uchar m)/送數(shù)據(jù)rw=0; rs=1;en=1; P0=m; delayss(5); en=0; delayss(5

溫馨提示

  • 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)論