




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、專業(yè)方向課程設(shè)計(jì)報(bào)告題目:基于數(shù)字溫度傳感器數(shù)字溫度計(jì)的設(shè)計(jì)班級(jí):10級(jí)電子信息工程姓名(學(xué)號(hào)):翟高陽(2010128165)張維(2010128171)程家樂(2010128104)組號(hào):21基于數(shù)字溫度傳感器的數(shù)字溫度計(jì)的設(shè)計(jì)一、設(shè)計(jì)要求(1)利用數(shù)字溫度傳感器ds18b20與單片機(jī)結(jié)合來測量溫度。(2 )利用數(shù)字溫度傳感器ds18b20測量溫度信號(hào),計(jì)算后在led 數(shù)碼管上顯示相應(yīng)的溫度值。(3)溫度測量范圍為-55°c125°c,精確到0.5°c。數(shù)字溫度計(jì)所測量的溫度采用數(shù) 字顯示,控制器使用單片機(jī),測溫傳感器使用ds18b20,用led數(shù)碼管顯示溫度
2、。二、方案論證方案一:采用熱敏電阻可滿足測溫要求,但熱敏電阻精度低,重復(fù)性和可靠性較 差,對(duì)于精度要求較高的測溫不適用,而且采用熱敏電阻要求復(fù)雜的電路和算法,增 加了設(shè)計(jì)復(fù)雜度。方案二:采用數(shù)字化溫度傳感器ds18b20測量溫度,輸出信號(hào)數(shù)字化,具有接口 簡單、直接數(shù)字量輸出、精確度高等優(yōu)點(diǎn)。ds18b20 dallas公司的授新單線數(shù)字溫 度傳感器,支持“一線總線”接口的溫度傳感器。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使 用戶可輕松地組建傳感器網(wǎng)絡(luò),它的測量溫度范圍為一55+ 125°c,在一10+ 85°c 范圍內(nèi),精度為土0.5°c,現(xiàn)場溫度直接以“一線總線”的數(shù)字
3、方式傳輸,大大提高了 系統(tǒng)的抗干擾性,適合于惡劣環(huán)境的現(xiàn)場溫度測竝。由數(shù)字溫度計(jì)ds18b20和微控制 器at89s51構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號(hào),可直接與計(jì)算機(jī)連接。 這樣,測溫系統(tǒng)的結(jié)構(gòu)就比較簡單,體積也不大。采用51單片機(jī)控制,軟件編程的白 由度大,可通過編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制,而且體積小,碩件實(shí)現(xiàn)簡 單,安裝方便。方案二,電路比較實(shí)用,軟件設(shè)計(jì)也比較簡單,故采用了方案二。三、理論設(shè)計(jì)(1)硬件設(shè)計(jì)框圖本方案設(shè)計(jì)的系統(tǒng)模塊rti單片機(jī)核心模塊、數(shù)碼管顯示模塊和溫度傳感器模塊組 成,其總體框圖如圖1:按鍵電路單片機(jī)核心模塊顯示電路溫度傳感器圖1:系統(tǒng)總體框圖
4、該系統(tǒng)可以實(shí)吋地顯示當(dāng)前環(huán)境的溫度。系統(tǒng)是以at89c52單片機(jī)為核心,在開始運(yùn) 行它時(shí)主機(jī)先發(fā)送初始化命令使設(shè)備啟動(dòng),再發(fā)送溫度轉(zhuǎn)換命令使數(shù)字溫度傳感器 ds18b20把測得的模擬溫度轉(zhuǎn)換為串行數(shù)字信號(hào)供單片機(jī)采集。同時(shí),顯示器上顯示出冃 前環(huán)境的實(shí)際溫度。(2)單片機(jī)核心模塊電路設(shè)計(jì)單片機(jī)核心模塊電路主要包括復(fù)位電路和時(shí)鐘電路。復(fù)位電路工作原理:電容在上接高 電平,電阻在下接地,中間為rst。這種復(fù)位電路的工作原理是:通電吋,電容兩端相當(dāng)于 是矩路,于是rst引腳上為高電平,然后電源通過電阻對(duì)電容充電,rst端電壓慢慢下降, 降到一定程序,即為低電平,單片機(jī)開始正常工作;時(shí)鐘電路作用:單片
5、機(jī)外部必須接上振 蕩器(也可以是內(nèi)部振蕩器),其提供的高頻脈沖經(jīng)過分頻處理后,成為單片機(jī)內(nèi)部時(shí)鐘信 號(hào),作為片內(nèi)各部件協(xié)調(diào)工作的控制信號(hào)。如果沒有時(shí)鐘信號(hào),觸發(fā)器的狀態(tài)就不能改變, 單片機(jī)內(nèi)部的所冇電路在完成一個(gè)任務(wù)后將最終達(dá)到一個(gè)穩(wěn)定狀態(tài)而不能再繼續(xù)進(jìn)行其它 任何工作了。核心模塊電路圖如圖2:vcctcicnd£10 fit ptthi 04f】,£1 ; £pl j /f178史0 10 ph i1 ?p33 i3zl疋怔c220-=±=-pio php12pl <p14p15p16p17 rstp30p31p32p33 p34p35p36p3
6、7 xtal2 xtal1 gndvcc poopo1fo2p03po4fo5f06 po? exvpp ale prfstk? 65412102 2 2 2 2 2 2 2 ppprppppihvccpl13 p2724 p2323 p22tjp2171p20單片機(jī)核心模塊圖2:單片機(jī)核心模塊(3)顯示模塊電路設(shè)計(jì)顯示電路采用的是四位共陰數(shù)碼管,通過與4個(gè)9013三極管連接,對(duì)以顯示通過單片機(jī)傳送過來的冃前環(huán)境的實(shí)際溫度。電路圖如圖3:四位數(shù)碼管顯示模塊gnd圖3:數(shù)碼管顯示模塊(4)溫度傳感辭接口電路設(shè)計(jì)溫度傳感器接口電路主要采川ds18b20溫度傳感器與單片機(jī)連接,然后ds18b20把測
7、得的模擬溫度轉(zhuǎn)換為串行數(shù)字信號(hào)供單片機(jī)采集。屯路圖如圖4:圖4:溫度傳感器接口電路(5)軟件設(shè)計(jì)主程序流程圖木系統(tǒng)采用c語言編寫,主程序主要山三部分構(gòu)成,系統(tǒng)通電后首先初始化系統(tǒng),依次 完成溫度采集、溫度處理、數(shù)據(jù)顯示等三項(xiàng)功能。溫度采集部分主要完成溫度數(shù)據(jù)采集任務(wù);溫度處理部分主要是將采集到的溫度數(shù)據(jù)轉(zhuǎn)換成十進(jìn)制數(shù)據(jù);數(shù)據(jù)顯示部分主要實(shí)現(xiàn)溫度數(shù) 據(jù)的顯示,顯示方式為固定顯示。系統(tǒng)軟件主流程圖如5所示:<開始 /(6) 程序清單include <rcg5 l.h>/ds 18b20 溫度傳感器程序code unsigned char scg7codc=|0xc0,oxf9,0
8、xa4,0xb0,0x99,0x92, 0x82,oxfb,0x80,0x90,oxfl; /不帶小數(shù)點(diǎn)的共陽數(shù)碼管段碼code unsigned char seg7codeb = 0x40,0x79,0x24,0x30,ox 19,ox 12,0x02,0x78,0x00,0x10,oxff; /帶小數(shù)點(diǎn)的共陽數(shù)碼管段 碼unsigned char code fseg=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /不帶小數(shù) 點(diǎn)的共陰數(shù)碼管段碼unsigned char code fsegl=oxbf,0x86,0xdb,0xcf,0x
9、e6,0xed,0xty,0x87,0xft,0xef; 帶小數(shù)點(diǎn) 的共陰數(shù)碼管段碼unsigned char code segbit= 0x07,0x0b,0x0d,0x0e;unsigned char disbuf8=0,0,0,0,0,0,0,0;/*函數(shù)申明*/void delay(unsigned char i);void delay 1 ms(unsigned char i);void rcadtcmpcraturc(void);void init ds 18b20(void);readonechar();void writeonechar(unsigned char dat);v
10、oid sdatam(void);/*變最定義*/sbit dq=p3a4; 數(shù)據(jù)傳輸線接單片機(jī)的相應(yīng)的引腳unsigned char templ=o; 設(shè)全局變量unsigned char temph=o;unsigned int sdatc;/測量到的溫度的整數(shù)部分unsigned char xiaoshul;/小數(shù)第一位unsigned char xiaoshu2;/小數(shù)第二位unsigned char xiaoshu;/兩位小數(shù)bit fg=l;溫度正負(fù)標(biāo)志unsigned char m;/'* * 蟲 * 蟲 * 巖 * 蟲 * 蟲 *蟲*巖 * * * 函數(shù)名稱:main(
11、void)*函數(shù)功能:主函數(shù)*void main(void)while(l)rcadtcmpcraturc();sdatam();r* *蟲*蟲*蟲*巖*蟲 *蟲 *蟲*巖* * 兩數(shù)名稱:delay(unsigned char i)*函數(shù)功能:延時(shí)函數(shù)這個(gè)延吋程序的具體延時(shí)吋間是timc=i*8+10,適用于小于2ms的延時(shí)*/void delay(unsigned char i)while(i-);i 丄.丄丄.丄.丄丄丄丄丄.丄丄.丄.j* 兩數(shù)名稱: delaylms(unsigned char i)*函數(shù)功能:延時(shí)函數(shù)j*t*1t*畤畤fvoid delay 1 ms(unsigne
12、d char i)fbr(i= 124;i>0;i); 延時(shí) 124*8+10= 1002usi 丄.丄丄.«v«丄.*f«丄«v«丄丄«v«丄*i«*i«丄.<x 丄*1«z. 丄.丄.(» |>* 函數(shù)名稱:init_ds18b20(void)*函數(shù)功能:初始化j f* s *t*t*t* *s*y* s *t*f* s *t* *s s *|*t* sf* |void init_ds18b20(void)unsigned char x=0;dq=1;/dq先置高
13、delay;稍延時(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);* 兩數(shù)名稱: readonechar()*函數(shù)功能:讀一個(gè)字節(jié)readonechar() 主機(jī)數(shù)據(jù)線先從高拉至低電平lus以上,再使數(shù)據(jù)線升為高電平,從而 產(chǎn)生讀信號(hào)unsigned char i=0; 每個(gè)讀周期最短的持續(xù)時(shí)間為60us,各個(gè)讀周期之間必須有l(wèi)us以上的 高電平恢復(fù)期unsigned char dat=o;for (i
14、=8;i>0;i-) /個(gè)字節(jié)有 8 位dq=1;delay(l);dq=0;dat»=l;dq=1;if(dq)dat|-0x80;delay(4);return(dat);* 函數(shù)名稱: writeonechar(unsigned char dat)*函數(shù)功能:寫一個(gè)字節(jié)*/void writeonechar(unsigned char dat)unsigned char i=0; 數(shù)據(jù)線從高電平拉至低電平,產(chǎn)牛:寫起始拮號(hào)。15us之內(nèi)將所需寫的 位送到數(shù)據(jù)線上,for(i=8;i>0;i-) /在1560us之間對(duì)數(shù)據(jù)線進(jìn)彳亍采樣,如果是高電平就寫1,低寫0發(fā)生。
15、dq=0;在開始另一個(gè)寫周期前必須有l(wèi)us以上的高電平恢復(fù)期。dq=dat&0x01;delay(5);dq=1;dat»=l;delay(4);* 函數(shù)名稱:rcadtcmpcraturc(void)*函數(shù)功能:讀溫度值(低位放tcmpl;高位放tcmph;)*/void read remperature(void)init_ds18b20();/ 初始化writeonechar(oxcc); 跳過讀序列號(hào)的操作writeonechar(ox44); 啟動(dòng)溫度轉(zhuǎn)換 delay(125);/轉(zhuǎn)換需要一點(diǎn)時(shí)間,延時(shí)init_ds18b20();/ 初始化writconcchar
16、(oxcc); 跳過讀序列號(hào)的操作writeonechar(oxbe); /讀溫度寄存器(頭兩個(gè)值分別為溫度的低位和高位) templ=readonechar(); 讀出溫度的低位 lsb temph=readonechar(); 讀出溫度的高位 msbif(tcmph>0x7f) 最高位為1時(shí)溫度是負(fù) _templtempl;補(bǔ)碼轉(zhuǎn)換,取反加一temph=temph+1;fg=o; 讀取溫度為負(fù)時(shí)fg=osdate = templ/16+temph*16; 整數(shù)部分xiaoshul = (templ&oxof)* 10/16; /小數(shù)笫一位 xiaoshu2 = (templ&
17、amp;0 x0f)*100/16%10;/ 小數(shù)第二位xiaoshu=xiaoshu 1 * 10+xiaoshu2; 小數(shù)兩位disbuf3 = sdate/10; disbuf2 = sdate%10; disbufl = xiaoshul;disbufjo = xiaoshu2;/* * * * * * *i采i 數(shù)名稱:sdata(void)*函數(shù)功能:數(shù)據(jù)傳輸*void sdatam(void)unsigned char b;ifb=o)b+;p2=scgbitm;ifi(b=l)b-;if(m=2)p0=fsegl disbuffm;elsepo=fsegdisbufm ;m+;
18、 if(m=4) m=0;四、電路仿真及仿真結(jié)果分析:.可:尸口 :吟曲 dp1334燈crwtmedc們01 :r1q :1kxtauxta12kjmd0 ro.tadikjmd2f0wdjrstw.<*0t rosaos rasaoeri.tmt2mbr2m1021(mc kf2l2t2£a14 rsjais八q陽mxd1nvtxd 22 4/tdtjvti譏911wt<0設(shè)置溫度傳感器ds18b20的溫度為32° ,仿真開始丿g單片機(jī)釆集ds18b20傳輸?shù)臄?shù)據(jù),整理后傳送給數(shù)碼管,數(shù)碼管顯示出當(dāng)前的溫度32° ,仿真結(jié)果符合要求。五. 測試方案與測試結(jié)果六、作品功能及使用說明本作品能夠?qū)崟r(shí)的測量當(dāng)前的環(huán)境溫度,并以數(shù)字方式在數(shù)碼管上顯示出來。接通5v 的電源后,數(shù)字溫度計(jì)就能自動(dòng)的顯示出當(dāng)前的環(huán)境溫度,放在不同的環(huán)境溫度下可以顯示 對(duì)應(yīng)的不同的溫度。七、心得體會(huì)程序在編譯過程中,出現(xiàn)了一些語法錯(cuò)誤,經(jīng)過細(xì)心修改得以糾正。但是,將程序下載 到單片機(jī)z后,發(fā)現(xiàn)串口顯示模塊一直顯示“127. 5”,經(jīng)過推斷得知,讀取的溫度值為全“1”, 出現(xiàn)這個(gè)問題,全是因?yàn)閐s18b20冇嚴(yán)格的時(shí)序和通信協(xié)議,在每次讀取溫度數(shù)據(jù)時(shí),都冇 其嚴(yán)格的時(shí)序要求,經(jīng)過檢杳,發(fā)現(xiàn)程序屮有一個(gè)地方少加了一個(gè)1亳秒左右的延時(shí),按照
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)習(xí)動(dòng)力激發(fā)輔導(dǎo)考核試卷
- 舊貨零售店鋪選址與商圈分析考核試卷
- 拉丁語基礎(chǔ)與古羅馬文化考核試卷
- 智能材料設(shè)計(jì)與制造考核試卷
- 小學(xué)生經(jīng)典誦讀愛國課件
- 智能餐飲顧客服務(wù)系統(tǒng)考核試卷
- ehs之家安全培訓(xùn)課件
- 施工安全合同范本
- 城管部門采購合同范本
- 貨物拉運(yùn)合同范本
- 《瘋狂動(dòng)物城》全本臺(tái)詞中英文對(duì)照
- 建筑施工安全管理及揚(yáng)塵治理檢查投標(biāo)方案(技術(shù)方案)
- 六年級(jí)毛筆書法教案(下冊(cè))
- 秘魯農(nóng)村公路
- 五年級(jí)下冊(cè)勞動(dòng)全冊(cè)教案人教版貴州人民出版社
- 吉利質(zhì)量協(xié)議
- 空調(diào)系統(tǒng)的應(yīng)急預(yù)案
- 2023玻纖增強(qiáng)聚氨酯門窗工程技術(shù)規(guī)程
- 急性化膿性中耳炎課件
- 食堂食品安全隱患排查報(bào)告
- 汽車維修廠車輛進(jìn)出廠登記制度
評(píng)論
0/150
提交評(píng)論