DS18B20數(shù)字溫度計(jì)的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第1頁(yè)
DS18B20數(shù)字溫度計(jì)的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第2頁(yè)
DS18B20數(shù)字溫度計(jì)的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第3頁(yè)
DS18B20數(shù)字溫度計(jì)的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第4頁(yè)
DS18B20數(shù)字溫度計(jì)的設(shè)計(jì)畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(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、遼 寧 工 業(yè) 大 學(xué) 單片機(jī)原理與接口技術(shù) 課程設(shè)計(jì)(論文)題目: ds18b20數(shù)字溫度計(jì)的設(shè)計(jì) 院(系): 電氣工程學(xué)院專業(yè)班級(jí):自動(dòng)化073 學(xué) 號(hào): 070302078 學(xué)生姓名: 王金玉 指導(dǎo)教師: 趙越嶺 教師職稱: 教 授 起止時(shí)間:2010-07-01至2010-07-10第1章 ds18b20數(shù)字溫度計(jì)的設(shè)計(jì)概述本課程的課程設(shè)計(jì)實(shí)際是測(cè)控技術(shù)及儀器專業(yè)學(xué)生學(xué)習(xí)完單片機(jī)與接口技術(shù)課程后,進(jìn)行的一次全面的綜合訓(xùn)練,其目的在于加深對(duì)單片機(jī)、單片機(jī)最小系統(tǒng)和單片機(jī)接口技術(shù)的認(rèn)識(shí)、理解和應(yīng)用,掌握單片機(jī)的應(yīng)用技術(shù)。隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作,科研,各個(gè)領(lǐng)

2、域,已經(jīng)成為一種比較成熟的技術(shù),本文將介紹一種基于單片機(jī)控制的數(shù)字溫度計(jì),本溫度計(jì)屬于多功能溫度計(jì),可以設(shè)置上下報(bào)警溫度,當(dāng)溫度不在設(shè)置范圍內(nèi)時(shí),可以報(bào)警。隨著人們生活水平的不斷提高,單片機(jī)控制無(wú)疑是人們追求的目標(biāo)之一,它所給人帶來(lái)的方便也是不可否定的,其中數(shù)字溫度計(jì)就是一個(gè)典型的例子,但人們對(duì)它的要求越來(lái)越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。本設(shè)計(jì)所介紹的數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,主要用于對(duì)測(cè)溫比較準(zhǔn)確的場(chǎng)所,或科研實(shí)驗(yàn)室使用,該設(shè)計(jì)控制器使用單

3、片機(jī)at89s51,測(cè)溫傳感器使用ds18b20,用4位共陽(yáng)極led數(shù)碼管以串口傳送數(shù)據(jù),實(shí)現(xiàn)溫度顯示,能準(zhǔn)確達(dá)到以上要求。通過(guò)ds18b20集成數(shù)字溫度傳感器檢測(cè)室內(nèi)溫度,將溫度值送交led數(shù)碼管顯示。它包括溫度檢測(cè)、顯示等功能。數(shù)字溫度計(jì)除了能顯示環(huán)境溫度之外,經(jīng)擴(kuò)展加熱,制冷控制電路,還可以擴(kuò)展成為溫度報(bào)警器或溫度控制器。應(yīng)用前景廣闊。第2章 課程設(shè)計(jì)方案論證2.1 系統(tǒng)設(shè)計(jì)方案論證考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以可以采用一只溫度傳感器ds18b20,該傳感器可以很容易直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。2.2 系統(tǒng)組成總體結(jié)構(gòu)為完成上述系統(tǒng)

4、功能,控制器采用單片機(jī)at89s51,溫度傳感器采用ds18b20,用4位led數(shù)碼管以串口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示。l e d 顯 示主 控 制 器溫度傳感器 圖2.1 系統(tǒng)總體框圖2.2.1 主控制器單片機(jī)at89s51具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用系統(tǒng)可用二節(jié)電池供電。2.2.2 顯示電路led數(shù)碼管價(jià)格便宜,使用方便,是應(yīng)用最廣泛的顯示器。本系統(tǒng)采用4位共陽(yáng)led數(shù)碼管,從并口輸出段碼。2.2.3溫度傳感器溫度傳感器種類很多,接口電路差異很大。如熱敏電阻,需要a/d轉(zhuǎn)換。本課設(shè)采用dallas半導(dǎo)體公司生產(chǎn)的ds

5、18b20智能溫度傳感器,它接口簡(jiǎn)單,使用方便。第3章 硬件設(shè)計(jì)3.1單片機(jī)最小系統(tǒng)設(shè)計(jì)1.單片機(jī)由于at89s51片內(nèi)含有4kb的flash rom不需要外擴(kuò)展存儲(chǔ)器,且可以擦寫1000次以上,給開(kāi)發(fā)帶來(lái)極大方便,資源豐富,故選用at89s51為該系統(tǒng)制器。圖3.1單片機(jī)引腳圖2. 顯示電路led數(shù)碼管價(jià)格便宜,使用方便,是應(yīng)用最廣泛的顯示器。本系統(tǒng)采用4位共陽(yáng)led數(shù)碼管,從并口輸出段碼。 圖3.2 管腳圖 圖3.3共陽(yáng)極led原理圖3. 溫度傳感器ds18b20溫度傳感器是美國(guó)dallas半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,

6、并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)位的數(shù)字值讀數(shù)方式。c64 位rom和單線接口高速緩存存儲(chǔ)器與控制邏輯溫度傳感器高溫觸發(fā)器th低溫觸發(fā)器tl配置寄存器8位crc發(fā)生器vdd圖3.4 ds18b20內(nèi)部結(jié)構(gòu)4.時(shí)鐘電路圖3.5 時(shí)鐘電路機(jī)器周期t=12*1/12us=1us5.復(fù)位電路下圖按鍵復(fù)位電路是手動(dòng)復(fù)位電路,使用比較方便,在程序“跑飛”時(shí),可以手動(dòng)復(fù)位,不用重啟單片機(jī)電源,就可以實(shí)現(xiàn)復(fù)位圖3.6 復(fù)位電路3.2 功能電路1,顯示電路顯示采用4位一體共陽(yáng)led顯示方式,分別位環(huán)境溫度值及設(shè)定報(bào)警溫度值的十位和個(gè)位,用p0口輸出顯示數(shù)據(jù)代碼,而字位由p2.0p2.3控制。 圖3.7顯示電

7、路2,溫度采集電路 圖3.8 溫度采集電路3.3系統(tǒng)硬件電路原理圖 圖3.9 硬件電路原理圖第4章 軟件設(shè)計(jì)4.1軟件流程圖4.1.1 ds18b20溫度計(jì)主程序流程圖主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示,讀出并處理ds18b20的當(dāng)前溫度值,與設(shè)定的報(bào)警溫度比較,其程序流程圖如下:調(diào)用顯示子程序初始化1s到?初次上電發(fā)溫度轉(zhuǎn)換開(kāi)始命令讀出溫度值溫度計(jì)算處理顯示數(shù)據(jù)刷新 圖4.1主程序流程圖4.1.2.ds18b20初始化程序流程圖在ds18b20工作之前需要進(jìn)行初始化,流程圖如下:發(fā)復(fù)位命令發(fā)跳過(guò)rom命令 初始化成功 結(jié)束 圖4.2 初始化程序流程圖4.1.3.讀溫度子程序流程圖讀溫度子程

8、序的主要功能是從ds18b20中讀出溫度數(shù)據(jù),移入溫度暫存器保存。其程序流程圖如下:發(fā)復(fù)位命令發(fā)跳過(guò)rom命令 發(fā)讀取溫度命令 移入溫度暫存器 結(jié)束 圖4.3 溫度子程序流程圖 4.2 程序清單4.2.1.主程序程序如下:org 0000hljmp mainorg 0100hdat bit p1.0 ;ds18b20數(shù)據(jù)線接p1.0temper_l equ 40h ;轉(zhuǎn)換前的低溫度值放在40htemper_h equ 41h ;轉(zhuǎn)換前的高溫度值放在41ha_bit equ 60h ; 轉(zhuǎn)換后的溫度“十位”放在60hb_bit eou 61h ;轉(zhuǎn)換后的溫度“個(gè)位”放在61hmain:lcall

9、 init_1820 ;ds18b20初始化 lcall get_temper ;獲取溫度值 lcall conver ;計(jì)算溫度值,轉(zhuǎn)換成bcd碼 lcall compare ;與設(shè)定值比較報(bào)警 lcall display ;顯示 ljmp main ;返回主程序,繼續(xù)執(zhí)行4.2.2.ds18b20初始化程序.ds18b20初始化程序: init_1820:nop l0:clr dat mov r2,#200 l1:nop djnz r2,l1 ;主機(jī)發(fā)復(fù)位脈沖持續(xù)3us*200=600us setb dat ;主機(jī)釋放總線,口線改為輸入 mov r2, #20 l2:djnz r2,l2

10、;ds18b20等待2us*20=40us clr c orl c, dat ;判斷ds18b20數(shù)據(jù)線狀態(tài) jc l0 ;ds18b20未準(zhǔn)備好,重新初始化 mov r6,#80 l3:orl c ,dat jc l4 ;數(shù)據(jù)線變高,初始化成功 djnz r6,l3 ;判斷數(shù)據(jù)線低電平可持續(xù)240us sjmp l0 ;失敗,重來(lái) l4:mov r2,#120 l5:djnz r2,l5 ;ds18b20應(yīng)答時(shí)間 ret4.2.3.讀溫度子程序讀溫度子程序: get_temper: lcall init_1820 mov a, #0cch ;發(fā)跳過(guò)rom命令 lcall write mov

11、a, #44h ;發(fā)啟動(dòng)轉(zhuǎn)換命令 lcall write lcall delay lcall init_1820 mov a, #0cch ;發(fā)跳過(guò)rom命令 lcall write mov a, #0beh ;發(fā)讀存儲(chǔ)器命令 lcall write lcall read mov temper_l,a ;溫度值低位送40h lcall read mov temper_h,a ;溫度值高位送41h ret向ds18b20寫一個(gè)字節(jié)程序: write:clr ea mov r3, #8 ;寫一個(gè)字節(jié) wr1:setb dat mov r4,#8 rrc a ;最低位移入c clr dat wr2:

12、djnz r4,wr2 ;等待16us mov dat ,c ;輸出一位到數(shù)據(jù)線 mov r4,#30 wr3:djnz r4, wr3 ;保證寫過(guò)程延時(shí)60us djnz r3, wr1 setb dat ;dat=1結(jié)束寫操作 ret從ds18b20讀出一個(gè)字節(jié)的數(shù)據(jù)程序: read: clr ea mov r6,#8 ;讀一個(gè)字節(jié) rd1:clr dat mov r4,#8 nop ;低電平持續(xù)2us setb dat ;口線設(shè)為輸入 rd2:djnz r4,rd2 ;等待8us mov c,dat ;主機(jī)按位從ds18b20讀出數(shù)據(jù) rrc a ;讀取的數(shù)據(jù)移入a mov r5,#30

13、 rd3:djnz r5,rd3 ;保證讀過(guò)程持續(xù)60us djnz r6,rd1 ;讀完一個(gè)數(shù)據(jù)存入a中 setb dat ret 4.2.4.計(jì)算溫度子程序計(jì)算溫度子程序?qū)am占用溫度數(shù)據(jù)進(jìn)行bcd碼轉(zhuǎn)換運(yùn)算,ds18b20內(nèi)部溫度以16位二進(jìn)制補(bǔ)碼形式存放。參見(jiàn)數(shù)據(jù)分辨率。轉(zhuǎn)換時(shí),將msb的低四位和lsb的高四位合成一個(gè)字節(jié),作為整數(shù)部分處理,并保存在32h單元。將轉(zhuǎn)換后的bcd碼的百位保存在30h,十位和個(gè)位保存在31h。程序如下: conver: mov a,#0fh anl a,temper_h ;整數(shù)部分轉(zhuǎn)換,屏蔽高字節(jié)高四位 swap a mov b,a mov a,#0f0

14、h anl a ,temper_l ;lsm中低四位小數(shù)部分屏蔽 swap a add a,b mov 32h,a ;溫度整數(shù)部分保存到32h單元 bcd: mov b,#100 ;下面把二進(jìn)制轉(zhuǎn)換成bcd碼 div ab mov 30h,a ;百位放在30h mov a,#10 xch a,b div ab mov a_bit,a ;a中是十位 mov b_bit,b ;b中是個(gè)位 swap a add a,b mov 31h,a ;轉(zhuǎn)換后的bcd碼放在31h ret 4.2.5. 顯示溫度子程序程序如下: display: mov 5fh,#00h ;自定義的溫度值個(gè)位 mov 5eh,#

15、03h ;自定義的溫度值十位 mov dptr,#tab s3:mov r1,#20 s2:mov r2,#0feh mov r0,#61h ;實(shí)際溫度個(gè)位 mov r4,#04h ;四個(gè)led數(shù)碼管顯示 s1:mov p2,r2 ;控制顯示位 mov a,r0 movc a,a+dptr mov p0,a lcall delay mov a,r2 rlc a mov r2,a dec r0 djnz r4,s1 djnz r1,s2 rettab:db 0c0h,of9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h延時(shí)子程序:延時(shí)時(shí)間位50ms delay:mov

16、r7,#125 delay1:mov r6,#200 delay2:djnz r6,delay2 djnz r7,delay1ret第5章 課程設(shè)計(jì)總結(jié)經(jīng)過(guò)這一段時(shí)間的設(shè)計(jì)與思考,最終完成了數(shù)字溫度計(jì)的設(shè)計(jì)。其間遇到 許多問(wèn)題,但最后都一一得到解決?,F(xiàn)將心得體會(huì)總結(jié)如下:設(shè)計(jì)初期要考慮周到,否則后期改進(jìn)很困難。應(yīng)該在初期就多思考幾個(gè)方案,進(jìn)行比較論證,選擇最合適的方案動(dòng)手設(shè)計(jì)。總體設(shè)計(jì)在整個(gè)設(shè)計(jì)過(guò)程中非常重要,應(yīng)該花較多的時(shí)間在上面。方案確定后,才開(kāi)始設(shè)計(jì)。設(shè)計(jì)時(shí),多使用已學(xué)的方法,在整體設(shè)計(jì)都正確后,再尋求簡(jiǎn)化的方法。在設(shè)計(jì)某些模塊的時(shí)候無(wú)法把握住整體,這時(shí)可以先進(jìn)行小部分功能的實(shí)現(xiàn),在此基

17、礎(chǔ)上進(jìn)行改進(jìn),雖然可能會(huì)多花一些時(shí)間,但這比空想要有效的多。盡可能是電路連線有序,模塊之間關(guān)系清楚,既利于自己修改,也利于與別人交流。如果電路亂的連自己都看不懂,那還如何改進(jìn)和擴(kuò)展。很多難點(diǎn)的突破都來(lái)自于與同學(xué)的交流,交流使自己獲得更多信息,開(kāi)拓了思路,因此要重視與別人的交流。應(yīng)該有較好的理論基礎(chǔ),整個(gè)實(shí)驗(yàn)都是在理論的指導(dǎo)下完成了,設(shè)計(jì)過(guò)程中使用了許多理論課上學(xué)的內(nèi)容。本次設(shè)計(jì)把理論應(yīng)用到了實(shí)踐中,同時(shí)通過(guò)設(shè)計(jì),也加深了自己對(duì)理論知識(shí)的理解。參考文獻(xiàn)1 梅麗鳳,單片機(jī)原理及接口技術(shù),北京:清華大學(xué)出版社,2004:19-48,81-932 何立民,單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì),北京:航空航天大學(xué)出版社,1990:45-563 張毅剛.單片機(jī)原理及應(yīng)用,北京:高等教育出版社,2003:126-1354 顧興源.計(jì)算機(jī)控制系統(tǒng),北京:冶金工業(yè)出版社, 1981:25-405 李建忠.單片機(jī)原理及應(yīng)用,西安:西安電子科技大學(xué)出版社,2004:32-546 趙高生.單片機(jī)應(yīng)用技術(shù)大全,南京:西南文通大學(xué)出版社,1996:24-437 賴麒文.8051單片機(jī)c語(yǔ)言軟件設(shè)計(jì)的藝術(shù), 科學(xué)出版社, 2002:54-688 曾文華.嚴(yán)義,俞岳軍. 微

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論