版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p> 1.課程設(shè)計的目的和要求…………………………………………………………1</p><p> 1.1設(shè)計目的………………………………………………………………………1</p><p> 1.2課程設(shè)計題目描述和要求……………………………………………………1</p>
2、<p> 2.總體方案設(shè)計……………………………………………………………………1</p><p> 2.1總體設(shè)計框圖…………………………………………………………………1</p><p> 2.2單片機AT89C51 ………………………………………………………………2</p><p> 2.3軟件的設(shè)計……………………………………………………………
3、………3</p><p> 2.3.1 DS18B20簡介………………………………………………………………3</p><p> 2.3.2 DS18B20的測溫原理………………………………………………………4</p><p> 2.3.3溫度轉(zhuǎn)換計算方法舉例……………………………………………………5</p><p> 2.3.4 DS
4、18B20溫度傳感器與單片機的接口電路………………………………5</p><p> 3.系統(tǒng)硬件電路設(shè)計………………………………………………………………6</p><p> 3.1主板電路………………………………………………………………………6</p><p> 3.2顯示電路………………………………………………………………………7</p>&l
5、t;p> 4.系統(tǒng)軟件的設(shè)計…………………………………………………………………8</p><p> 4.1主程序…………………………………………………………………………8</p><p> 4.2讀程序…………………………………………………………………………8</p><p> 4.3溫度轉(zhuǎn)換命令子程序…………………………………………………………9&l
6、t;/p><p> 4.4計算溫度子程序………………………………………………………………9</p><p> 4.5顯示數(shù)據(jù)刷新子程序…………………………………………………………9</p><p> 5.總結(jié)………………………………………………………………………………11</p><p> 參考文獻(xiàn)……………………………………………………
7、………………………12</p><p> 1.課程設(shè)計的目的和要求</p><p><b> 1.1設(shè)計目的</b></p><p> 熟練掌握51小系統(tǒng)開發(fā)應(yīng)用;加強單片機的綜合運用能力、提高單片機的件編程和調(diào)試能力,為以后的學(xué)習(xí)和開發(fā)工作打下強勁基礎(chǔ);掌握DS18B20溫度傳感器模塊的工作原理及應(yīng)用設(shè)計;掌握小系統(tǒng)開發(fā)設(shè)計的流程及設(shè)計
8、思路;提高分析問題,解決問題能力,提高實踐動手能力。</p><p> 1.2課程設(shè)計題目描述和要求</p><p> 題目:基于DS18B20的溫度測試LED顯示。</p><p><b> 實現(xiàn)的基本功能:</b></p><p> (1) 測量基本范圍-55~125℃。</p><p&g
9、t; (2) 精度誤差小于0.5℃。</p><p> (3) LED數(shù)碼直接顯示。</p><p><b> 2.總體方案的設(shè)計</b></p><p><b> 2.1總體設(shè)計框圖</b></p><p> 溫度計電路設(shè)計總體設(shè)計方框圖如圖2-1所示,控制器采用單片機AT89C51,溫
10、度傳感器采用DS18B20,用LED數(shù)碼管以串口傳送數(shù)據(jù)實現(xiàn)溫度顯示。</p><p> 圖2-1 總體設(shè)計方框圖</p><p> 2.2單片機AT89C51</p><p> AT89S51是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲
11、器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及89C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。 </p><p> AT89C51具有如下特點:40個引腳如圖2-2,4k Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機存取數(shù)據(jù)存儲器(RA
12、M),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。 </p><p> 此外,AT89S51設(shè)計和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件
13、復(fù)位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。</p><p> 圖2-2 AT89C51管腳圖</p><p> 2.3溫度傳感器DS18B20</p><p> DS18B20是美國DALLAS半導(dǎo)體公司繼DS1820之后最新推出的一種改進(jìn)型智能溫度傳感器,如圖2-3。與傳統(tǒng)的熱敏電阻相比,他能夠直接讀出被測溫度并
14、且可根據(jù)實際要求通過簡單的編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式??梢苑謩e在93.75 ms和750 ms內(nèi)完成9位和12位的數(shù)字量,并且從DS18B20讀出的信息或?qū)懭隓S18B20的信息僅需要一根口線(單線接口)讀寫,溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的DS18B20供電,而無需額外電源。因而使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡單,可靠性更高。他在測溫精度、轉(zhuǎn)換時間、傳輸距離、分辨率等方面較DS1820有了很大的改進(jìn),給
15、用戶帶來了更方便的使用和更令人滿意的效果,其引腳功能如圖2-4。</p><p> 2.3.1 DS18B20簡介</p><p> ?。?)獨特的單線接口方式:DS18B20與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。 </p><p> (2)在使用中不需要任何外圍元件。 </p><p> ?。?)可用
16、數(shù)據(jù)線供電,電壓范圍:+3.0~ +5.5 V。 </p><p> ?。?)測溫范圍:-55 ~+125 ℃。固有測溫分辨率為0.5 ℃。</p><p> ?。?)通過編程可實現(xiàn)9~12位的數(shù)字讀數(shù)方式。 </p><p> ?。?)用戶可自設(shè)定非易失性的報警上下限值。 </p><p> ?。?)支持多點組網(wǎng)功能,多個DS18B20可以
17、并聯(lián)在惟一的三線上,實現(xiàn)多點測溫。 </p><p> ?。?)負(fù)壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。</p><p> 圖2-3 DS18B20的引腳排列</p><p> 圖2-4 引腳功能描述</p><p> 2.3.2 DS18B20的測溫原理</p><p> 低溫度
18、系數(shù)晶振的振蕩頻率受溫度的影響很小〔1〕,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入,圖中還隱含著計數(shù)門,當(dāng)計數(shù)門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖后進(jìn)行計數(shù),進(jìn)而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55 ℃所對應(yīng)的基數(shù)分別置入減法計數(shù)器1和溫度寄存器中,減法計數(shù)器1和溫度寄存器被預(yù)置在 -5
19、5 ℃ 所對應(yīng)的一個基數(shù)值。減法計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計數(shù),當(dāng)減法計數(shù)器1的預(yù)置值減到0時溫度寄存器的值將加1,減法計數(shù)器1的預(yù)置將重新被裝入,減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計數(shù),如此循環(huán)直到減法計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖2中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)門仍未關(guān)閉就重復(fù)上述過
20、程,直至溫度寄存器值達(dá)到被測溫度值,這就是DS18B20的測溫原理。</p><p> 2.3.3溫度轉(zhuǎn)換計算方法舉例</p><p> 例如當(dāng)DS18B20采集到+125℃的實際溫度后,輸出為07D0H,則:</p><p> 實際溫度=07D0H╳0.0625=2000╳0.0625=125°C。</p><p> 例如
21、當(dāng)DS18B20采集到-55℃的實際溫度后,輸出為FC90H,則應(yīng)先將11位數(shù)據(jù)位取反加1得370H(符號位不變,也不作為計算),則:</p><p> 實際溫度=370H╳0.0625=880╳0.0625=55°C</p><p> DS18B20工作過程一般遵循以下協(xié)議:初始化——ROM操作命令——存儲器操作命令——處理數(shù)據(jù)</p><p>
22、2.3.4 DS18B20溫度傳感器與單片機的接口電路</p><p> DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時DS18B20的一腳接地,2腳作為信號線,3腳接電源。另一種是寄生電源供電方式,如圖2-5所示單片機端口接單線總線,為保證有效的DS18B20始終周期內(nèi)提供足夠的電流,可以用一個MOSFET管來完成對總線的上拉。</p><p> 當(dāng)DS18B20處
23、于寫存儲器操作和溫度A/D轉(zhuǎn)換操作時,總線上必須有強的上拉,上拉開啟時間最大為10us。采用寄生電源供電方式時VDD端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。</p><p> 圖2-5 DS18B20與單片機接口</p><p> 3.系統(tǒng)硬件電路設(shè)計</p><p><b> 3.1主板電路</b></p>
24、<p> 系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路,溫度顯示電路,單片機主板電路等,如圖3-1所示。</p><p> 圖3-1 單片機主板電路</p><p><b> 3.2 顯示電路</b></p><p> 顯示電路是使用的串口顯示,這種顯示最大的優(yōu)點就是使用口資源比較少,只用P1口的RXD和TXD串口的發(fā)送和接受
25、,四只數(shù)碼管采用74LS164右移寄存器驅(qū)動,顯示比較清楚。如圖3-2。</p><p> 圖3-2 溫度顯示電路</p><p><b> 4.系統(tǒng)軟件的設(shè)計</b></p><p><b> 4.1主程序</b></p><p> 主要功能是負(fù)責(zé)溫度的實時顯示,讀出并處理DS18B20
26、的測量的當(dāng)前溫度值,溫度測量每1s進(jìn)行一次,這樣可以在一秒之內(nèi)測量一次溫度,其程序流程如圖4-1所示。</p><p><b> 4.2讀程序</b></p><p> 主要功能是讀出RAM中的9字節(jié),在讀出時需要進(jìn)行CRC校驗,校驗有錯時不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖4-2。</p><p> 圖4-1 主程序流程圖
27、 圖4-2 讀溫度流程圖</p><p> 4.3溫度轉(zhuǎn)換命令子程序</p><p> 主要是發(fā)溫度轉(zhuǎn)換開始命令,本程序采用1s顯示程序延時法等待轉(zhuǎn)換的完成。其程序流程圖如圖4-3。</p><p> 圖4-3溫度轉(zhuǎn)換命令流程圖</p><p> 4.4計算溫度子程序</p><p>
28、將RAM中讀取進(jìn)行BCD碼的轉(zhuǎn)換運算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖4-4。</p><p> 4.5顯示數(shù)據(jù)刷新子程序</p><p> 主要是對顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為0時將符號顯示位移入下一位。程序流程圖如圖圖4-5。</p><p> 圖4-4 計算溫度流程圖 圖4-5 顯示數(shù)據(jù)刷新流
29、程圖</p><p><b> 5.總結(jié)</b></p><p> 經(jīng)過將近兩周的單片機課程設(shè)計,我終于完成了數(shù)字溫度計的設(shè)計,雖然沒有完全達(dá)到設(shè)計要求,但從中學(xué)到了不少課堂上所學(xué)不到的實際知識。 我們認(rèn)為,在這次的課程設(shè)計中,在收獲知識的同時,還收獲了閱歷,收獲了成熟,在此過程中,我們通過查找大量資料,請教老師
30、,以及不懈的努力,不僅培養(yǎng)了獨立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的是,在實驗課上,我們學(xué)會了很多學(xué)習(xí)的方法。而這是日后最實用的,真的是受益匪淺。要面對社會的挑戰(zhàn),只有不斷的學(xué)習(xí)、實踐,再學(xué)習(xí)、再實踐。 之所以使用單片機作為我們的執(zhí)行核心,不僅是因為老師說單片機現(xiàn)在是社會上應(yīng)用最廣泛的工具,也因為想通過使用單片機鍛煉自己的c 語言編程能力,養(yǎng)成良好的c語
31、言編程風(fēng)格。不管怎樣,這些都是一種鍛煉,一種知識的積累,能力的提高。完全可以把這個當(dāng)作基礎(chǔ)東西,只有掌握了這些最基礎(chǔ)的,才可以更進(jìn)一步,取得更好的成績。很少有人會一步登天吧。永不言棄才是最重要的。 而且,這對于我們的將來也有很大的幫助。以后,不管有多苦,我想我們都能變苦為樂,找尋有趣的事情,發(fā)現(xiàn)其中珍貴的事情。就像中國提倡的艱苦奮斗一樣,</p><p> 在
32、為期兩個星期的課程設(shè)計中,李老師對我們悉心的指導(dǎo)認(rèn)真的解說詳細(xì)的分析。衷心地感謝李老師對我們的教導(dǎo)!</p><p><b> 參考文獻(xiàn)</b></p><p> [1]孫育才. MCS- 51 系列單片微型計算機及其應(yīng)用. 南京:東南大學(xué)出版社,1999.</p><p> [2] 李朝青.單片機原理及接口技術(shù)(簡明修訂版).杭州:北京
33、航空航天大學(xué)出版社,1998.</p><p> [3] 李廣弟.單片機基礎(chǔ).北京:北京航空航天大學(xué)出版社,1994.</p><p> [4] 閻石.數(shù)字電子技術(shù)基礎(chǔ)(第三版). 北京:高等教育出版社,1989.</p><p><b> 附錄:</b></p><p> #include "reg5
34、2.h"</p><p> typedef unsigned char uint8;</p><p> sbit CLK=P1^0;</p><p> sbit DINA=P1^1;</p><p> void DELAY();</p><p> void sdelay();</p>
35、;<p> bdata uint8 kdat;</p><p> sbit cc=kdat^0;</p><p> uint8 LED0,LED1,LED2,LED3;</p><p> uint8 LED_Table[18]={0x3F,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0
36、x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71, 0xff,0x00,</p><p><b> };</b></p><p> sbit DQ = P1^4;</p><p> void DELAY()</p><p><b> {</b></p&g
37、t;<p> unsigned int k,j;</p><p> for(k=0;k<500;k++)</p><p> for(j=0;j<200;j++);</p><p><b> }</b></p><p> void sdelay()</p><p>
38、;<b> {</b></p><p> unsigned char k;</p><p> for(k=0;k<10;k++)</p><p><b> {;}</b></p><p><b> }</b></p><p> void
39、 sendto(unsigned char dat)</p><p><b> {</b></p><p> unsigned char i;</p><p><b> CLK=0;</b></p><p> kdat=dat;</p><p> for(i=0;
40、i<8;i++)</p><p><b> {</b></p><p><b> DINA=cc;</b></p><p><b> CLK=1;</b></p><p><b> sdelay();</b></p><p
41、><b> CLK=0;</b></p><p> kdat=kdat>>1;</p><p><b> }</b></p><p><b> }</b></p><p> /*DS18b20溫度傳感器讀寫程序*/</p><p
42、> void dsb20delay(int us)</p><p><b> { </b></p><p><b> int s;</b></p><p> for ( s=0; s<us; s++);</p><p><b> }</b></p&g
43、t;<p> void rst(void) </p><p><b> {</b></p><p> DQ = 1; </p><p> dsb20delay(2); </p><p> DQ = 0; </p><p> dsb20del
44、ay(30); //精確延時 480~960us</p><p> DQ = 1; </p><p> dsb20delay(8); </p><p><b> }</b></p><p> unsigned int read(void) </p><p>
45、;<b> { </b></p><p><b> int i=0;</b></p><p> unsigned int u=0;</p><p> for (i=0;i<16;i++)</p><p> {
46、 </p><p><b> DQ = 0;</b></p><p><b> u >>= 1;</b></p><p><b> DQ = 1;</b></p><p> if(DQ) u|=
47、0x8000;</p><p> dsb20delay(4);</p><p><b> }</b></p><p> return(u);</p><p><b> }</b></p><p> void write(unsigned char ku)
48、 </p><p><b> { </b></p><p> int i = 0;</p><p> for (i=0;i<8;i++)</p><p><b> { </b></p><p><b> DQ = 0;</b>&l
49、t;/p><p> DQ = ku&0x01;</p><p> dsb20delay(3);</p><p><b> DQ = 1;</b></p><p><b> ku >>= 1;</b></p><p><b> }</b
50、></p><p><b> }</b></p><p> void read0(void) </p><p><b> { </b></p><p> int t0,t1,t2;</p><p> unsigned int
51、 tp;</p><p> unsigned int lsb;</p><p><b> rst();</b></p><p> write(0xCC);</p><p> write(0x44);</p><p><b> rst();</b></p>
52、<p> write(0xCC);</p><p> write(0xBE);</p><p> tp = read(); </p><p> lsb = (unsigned int)(tp*6.25);</p><p> t0 = lsb/1000;</p><p> LED0 = L
53、ED_Table[t0]; //第1位,最高位</p><p> t2 = lsb%1000;</p><p> t1 = t2/100;</p><p> LED1 = LED_Table[t1]&0x7f; //第2位</p><p> t1 = t2%100;</p><p> t2 =
54、 t1/10;</p><p> LED2 = LED_Table[t2]; //第3位,最低位</p><p> LED3 = LED_Table[t1%10];//第4位,最低位</p><p><b> }</b></p><p> void main()</p><p>
55、{ while(1)</p><p><b> {</b></p><p><b> uint8 j;</b></p><p><b> read0();</b></p><p> sendto(LED3);</p><p> sendto
56、(LED2); </p><p> sendto(LED1+0X80); //'.'</p><p> sendto(LED0);</p><p> DELAY(); /* 延時 */</p><p> DELAY(); ; /* 延時 */</p><p> DELAY()
57、; /* 延時 */</p><p><b> }</b></p><p><b> }</b></p><p><b> 課程設(shè)計成績:</b></p><p> 注:教師按學(xué)生實際成績(平時成績和業(yè)務(wù)考核成績)登記并錄入教務(wù)MIS系統(tǒng),由系統(tǒng)自動轉(zhuǎn)化為“優(yōu)秀(9
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- ds18b20溫度計課程設(shè)計
- 課程設(shè)計--ds18b20數(shù)字溫度計
- 課程設(shè)計---基于ds18b20的多點溫度測量系統(tǒng)
- 課程設(shè)計-基于ds18b20數(shù)字溫度計的設(shè)計
- ds18b20數(shù)字溫度計設(shè)計課程設(shè)計
- 單片機課程設(shè)計-- ds18b20的溫度測量與顯示系統(tǒng)
- 基于ds18b20的溫度采集顯示系統(tǒng)的
- ds18b20課程設(shè)計---溫度監(jiān)控系統(tǒng)設(shè)計
- 基于ds18b20和1602的溫度計課程設(shè)計報告
- 智能儀表課程設(shè)計--基于ds18b20的溫度采集系統(tǒng)
- 課程設(shè)計---基于ds18b20的單片機溫度采集系統(tǒng)
- 基于ds18b20數(shù)字式溫度計課程設(shè)計
- 自動檢測課程設(shè)計—ds18b20溫度檢測
- 基于單片機設(shè)計的溫度計(ds18b20)課程設(shè)計
- 基于ds18b20的溫度計設(shè)計
- 基于ds18b20的溫度測量系統(tǒng)設(shè)計
- 基于ds18b20的溫度測量實驗
- 數(shù)字溫度計ds18b20課程設(shè)計報告
- 單片機溫度計課程設(shè)計--基于ds18b20的溫度計
- 單號單片機課程設(shè)計報告--基于ds18b20的溫度測量
評論
0/150
提交評論