




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、單片機課程設(shè)計報告姓 名:學(xué) 號:班 級:學(xué) 院:機電學(xué)院指導(dǎo)老師:單片機課程設(shè)計報告基于單片機的數(shù)字溫度計設(shè)計摘 要:本文介紹一種基于 AT89S51單片機的一種溫度測量電路,該電路采用DS18B20乍為溫度監(jiān)測元件,測量范圍 0 C99C,使用2位LED模塊顯示。正文著重給出了軟硬件系統(tǒng) 的各部分電路,介紹了集成溫度傳感器DS18B2 0的原理,AT89S51單片機功能和應(yīng)用。該電路設(shè)計新穎、功能強大、結(jié)構(gòu)簡單。關(guān)鍵詞:溫度測量 DS18B20 AT89S52211前言32方案設(shè)計33系統(tǒng)的硬件設(shè)計43.1 主控制器43.2 顯示電路53.3 溫度傳感器工作原理63.4 溫度傳感器接口電路
2、94系統(tǒng)的軟件設(shè)計94.1 主流程圖94.2 主程序105總結(jié)16參考文獻17/、八1前言數(shù)字溫度計(Digital Thermometer )簡稱DTM它是采用數(shù)字化測量技術(shù),把連續(xù)的溫度值轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。 傳統(tǒng)的溫度 計功能單一、精度低,不能滿足數(shù)字化時代的需求,采用單片機的數(shù)字溫度計, 由于精度高、抗干擾能力強,可擴展性強、集成方便得到了廣泛的應(yīng)用。溫度是 許多監(jiān)控系統(tǒng)中的一個重要參數(shù)。DS18B2直接把溫度信息轉(zhuǎn)換成相應(yīng)的數(shù)字信 號。數(shù)據(jù)采集、處理模塊主要由AT89S5單片機構(gòu)成,完成溫度數(shù)據(jù)的讀取和顯 示。本文將介紹智能集成溫度傳感器 DS18B20勺結(jié)
3、構(gòu)特征及控制方法,并對 AT89S51單片機為控制器構(gòu)成的數(shù)字溫度測量裝置的工作原理及程序設(shè)計 作了詳細的介紹。2方案設(shè)計本設(shè)計主要是介紹了單片機控制下的溫度檢測系統(tǒng),詳細介紹了其硬件和軟 件設(shè)計,并對其各功能模塊做了詳細介紹,其主要功能和指標(biāo)如下:利用溫度傳感器(DS18B20測量某一點環(huán)境溫度測量范圍為0C99C,精度為一 1C用數(shù)碼管進行實際溫度值顯示采用AT89S51單片機P3.7 口控制溫度傳感器DS18B20勺溫度測量,以兩位 數(shù)碼感形式輸出測量溫度,原理圖如下圖 2.1所示:C11 1104R11 24 7KU112J11(?ON 1L5S18B2(:r=圖2.1 DS18B20
4、與單片機接口單片機復(fù)位主控制器AT89S52LED顯示七時鐘振蕩心溫 度 倍 感 器圖2.2 總體設(shè)計方框圖3系統(tǒng)的硬件設(shè)計3.1主控制器AT89S51是一種低功耗、 高性能CMOS位微控制器,具有4K在系統(tǒng)可 編程Flash存儲器。使用 Atmel公司高密度非易失性存儲器技術(shù)制造, 與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、 超有效的解決方案。AT89S51具有以下標(biāo)準功能:4k字節(jié)Flash,256字節(jié)RAM 32位I/O
5、 口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位 定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工 串行口,片內(nèi)晶振及時鐘電路。另外,AT89S51可降至OHz靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM定時器/計數(shù)器、串口、中斷繼續(xù)工 作。掉電保護方式下,RAM內(nèi)容被保存, 振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷為止。8位微控制器4K字節(jié)在系統(tǒng)可編程 Flash AT89S51圖3.1時鐘電路3.2顯示電路顯示采用2位數(shù)碼管,圖3.2.1為數(shù)碼管段驅(qū)動,圖3.2.2為數(shù)碼管位驅(qū)動,圖3.2.3為溫度顯示電路圖321數(shù)碼管段驅(qū)動圖3.2.3溫度顯示電
6、路3.3溫度傳感器工作原理DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進型智能 溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比, 它能直接讀出被測溫度,并且 可根據(jù)實際要求通過簡單的編程實現(xiàn)912位的數(shù)字值讀數(shù)方式。DS18B20勺性能特點如下:?獨特的單線接口僅需一個端口引腳進行通訊?簡單的多點分布應(yīng)用?無需外部器件?可通過數(shù)據(jù)線供電?零待機功耗?溫度以9位數(shù)字量讀出?溫度數(shù)字量轉(zhuǎn)換時間200ms (典型值)DS18B2內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM溫度傳感器、非揮發(fā)的 溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B2的管腳排列、各種封裝形式如圖 3.3.1
7、所示,DQ為數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生 電源下,也可以向器件提供電源;GN為地信號;VD為可選擇的VD引腳。當(dāng)工作于寄生電源時,此引腳必須接地。其電路圖 3.3.2所示。NCNCBOTTOM VIEWNC 一i8NC |27Vdd C36DQ45DS18B2DZ8-PIN SOIC (150lMIL)NCGN-oauuozc圖331外部封裝形式圖3.3.2傳感器電路圖DS18B2C的測溫原理如圖3.3.3所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫 度的影響很小用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)
8、器2的脈沖輸入,圖中還隱含著計數(shù)門,當(dāng)計數(shù)門打開時,DS18B2C就對低溫度系數(shù)振蕩器產(chǎn)生的 時鐘脈沖后進行計數(shù),進而完成溫度測量.計數(shù)門的開啟時間由高溫度系數(shù)振蕩 器來決定,每次測量前,首先將-55 C所對應(yīng)的基數(shù)分別置入減法計數(shù)器 1和溫 度寄存器中,減法計數(shù)器1和溫度寄存器被預(yù)置在-55 C所對應(yīng)的一個基數(shù)值。減法計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當(dāng)減法計數(shù) 器1的預(yù)置值減到0時溫度寄存器的值將加1,減法計數(shù)器1的預(yù)置將重新被裝 入,減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循 環(huán)直到減法計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中
9、 的數(shù)值即為所測溫圖2中的斜率累加器用于補償和修正測溫過程中的非線性其 輸出用,于修正減法計數(shù)器的預(yù)置值,只要計數(shù)門仍未關(guān)閉就重復(fù)上述過程, 直 至溫度寄存器值達到被測溫度值,這就是 DS18B20的測溫原理。另外,由于DS18B2C單線通信功能是分時完成的,他有嚴格的時隙概念,因 此讀寫時序很重要。系統(tǒng)對 DS18B20勺各種操作必須按協(xié)議進行。操作協(xié)議為: 初始化DS18B20(發(fā)復(fù)位脈沖)一發(fā)ROM功能命令-發(fā)存儲器操作命令一處理數(shù) 據(jù)。圖3.3.3 DS18B20測溫原理圖在正常測溫情況下,DS1820的測溫分辨力為0.5 C,可采用下述方法獲得高 分辨率的溫度測量結(jié)果:首先用DS18
10、20提供的讀暫存器指令(BEH讀出以0.5 C 為分辨率的溫度測量結(jié)果,然后切去測量結(jié)果中的最低有效位 (LSE),得到所測 實際溫度的整數(shù)部分Tz,然后再用BEH指令取計數(shù)器1的計數(shù)剩余值Cs和每度 計數(shù)值CD考慮到DS1820測量溫度的整數(shù)部分以0.25 C、0.75 C為進位界限的關(guān)系,實際溫度Ts可用下式計算:Ts=(Tz-0.25 C) + (CD-CS /CD3.4溫度傳感器接口電路11三h圖3.4.1溫度傳感器接口電路4系統(tǒng)的軟件設(shè)計4.1主流程圖主程序的主要功能是負責(zé)溫度的實時顯示、讀出并處理測量的當(dāng)前溫度值,其程序流程見圖.圖4.1.2讀溫度流程圖圖4.1.1主程序流程圖4.
11、2主程序#in elude #defi ne ulong un sig ned long#defi ne uint un sig ned int#defi ne uchar un sig ned charuchar code led= 0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xee,0x3e,0x9c,0x7a,0x9e,0x8e,0x02,0x00 ; / 數(shù)碼管碼表uchar disp4=1,2,3,4; /數(shù)碼管顯示緩沖區(qū)/數(shù)碼管位選P1低四位,段選P0sbit L0CK=PM4; 74573鎖存端sbit DQ=P3A5;
12、/DS18B20 數(shù)據(jù)端 uchar templow; /溫度值低字節(jié)uchar temphigh; /溫度值高字節(jié)char tempzhe ng; /溫度值整數(shù)void Delay( uint x);void Display。;void TxReset();void RxWait();bit RdBit();uchar RdByte();void WrBit(bit b);void WrByte(uchar d);void Conv ert();void RdTemp();sbit ACC0 = ACCA0;sbit ACC7 = ACCA7;/* 主函數(shù)*/void mai n()whil
13、e(1)Co nvert(); /調(diào)用啟動溫度轉(zhuǎn)換函數(shù)RdTemp(); / 調(diào)用讀取溫度值函數(shù)/* 初始化 DS18B20*/void TxReset()uint i;DQ=O; /發(fā)送復(fù)位脈沖i=100;while(i0) i-; / 拉低 900usDQ=1; /釋放總線i=4;while(i0) i-;/* 等待 DS18B20應(yīng)答*/void RxWait()uint i;while(DQ); / 等待 15-60uswhile(DQ); /DS18B20 發(fā)出存在脈沖 60-240usi=4;while(i0) i-;/* 讀取一位數(shù)據(jù)*/bit RdBit()uchar i;bi
14、t b;DQ = 0; / 讀開始 1usi+;DQ = 1; / 產(chǎn)生讀時間隙15usi+;i+;b = DQ; / 讀位i = 8;while(i0) i-; / 等待 60usDQ = 1; /釋放總線return b;/* 讀取字節(jié)數(shù)據(jù)uchar RdByte()uchar i,j,d;d=0;for(i=0;i8;i+) / 各位由低向高讀出j=RdBit();d=(j1);return d;/* 寫入字節(jié)數(shù)據(jù)void WrByte(uchar d)uint i;uchar j;bit btmp;for(j=0;j1;if(btmp) / 寫 1*/DS18B20*/DS18B20D
15、Q=O; / 延時 15usi+;i+;DQ=1; /寫1時隙不低于60ui=8;while(i0) i-;else / 寫 0DQ=O;i=8;while(i0) i-; /保持低電平 60us 到 120usDQ=1; /釋放總線i+;i+;/* 啟動溫度轉(zhuǎn)換*/void Conv ert()uint i;Delay(125); / 延時 1msTxReset(); / 初始化 DS18B20RxWait(); / 等待 DS18B20應(yīng)答Delay(125); / 延時WrByte(0xcc); / 跳過 ROM命令WrByte(0x44); /溫度轉(zhuǎn)換命令for(i=0;i250;i+
16、) /延時 1sDisplay。;/* 讀取溫度值*/void RdTemp(void)short int temp;uint x;bit flag = 1;TxReset(); / 初始化 DS18B20RxWait(); /等待 DS18B20答Delay(125); / 延時WrByte(0xcc); /跳過 ROM命令WrByte(0xbe); /讀暫存存儲器命令temphigh = RdByte(); / 溫度值高字節(jié)temp = (temphigh 8) | templow; /溫度為 16 位補碼if(temp 4; / 溫度值整數(shù)x = temp & 0x000f;if(fla
17、g)disp0 = tempzhe ng/100; / 百位elsedisp0 = 16;disp1 = (tempzhe ng%100)/10; / 十位disp2 = tempzhe ng%10; / 個位/* 延時*/void Delay( uint x)uint i;for(i=x;i0;i-);/* 數(shù)碼管顯示*/void Display()uchar i,j;j=0x08;for(i=0;i1; / 調(diào)整位碼Delay(125);P0=0x00;5總結(jié)通過此次課程設(shè)計,使我更加扎實的掌握了有關(guān)基于單片機的數(shù)字溫度計設(shè) 計方面的知識,在設(shè)計過程中雖然遇到了一些問題,但經(jīng)過一次又一次的
18、思考, 一遍又一遍所在,課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決問題,鍛煉實踐能力的重要環(huán)節(jié),是對我們學(xué)生實際工作能力的具體訓(xùn)練和考察過程,隨著科學(xué)技術(shù)發(fā)展的越來越快,單片機已經(jīng)成為當(dāng)今計算機應(yīng)用中空前活躍的領(lǐng) 域,在生活中可以說無出不在,因此學(xué)習(xí)和應(yīng)用單片機的開發(fā)技術(shù)是十分重要的。 回顧起此次課程設(shè)計,至今我仍然感觸良多,的確,從理論到實踐,在整整一個 星期里,可以說苦多甜少,但是我卻學(xué)到了很多很多的東西, 同時還鞏固了學(xué)的 知識,通過這次課程設(shè)計使我懂得了理論和實踐相結(jié)合很重要的道理,只有理論是遠遠不夠的,只有把理論知識和實踐結(jié)合起來, 從實踐中得出理論知識,才能 真正為社會服務(wù),從而提高至今的實際的動手能力和獨立思考能力。 在設(shè)計的過 程中遇到的問題,可以說是困難重重,在做的過程中難免會遇到各種各樣的問題, 同時在設(shè)計中發(fā)現(xiàn)
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- cfg施工合同范本
- 單位投資合作合同范例
- 科技助力綠色建筑設(shè)計
- 農(nóng)村養(yǎng)殖大棚拆除合同范本
- 合伙股東協(xié)議合同范本
- 賣車店面租賃合同范例
- 包白菜合同范本
- 買賣汽車簡易合同范本
- 醫(yī)院強電施工合同范本
- 合作人退出協(xié)議合同范例
- 叉車裝卸區(qū)域安全風(fēng)險告知牌
- 2022屆江蘇省南京師范大學(xué)附屬中學(xué)高三(下)考前最后一模物理試題(解析版)
- 辦公用品供貨服務(wù)計劃方案
- 《普通生物學(xué)教案》word版
- 貴州省就業(yè)失業(yè)登記表
- 預(yù)防電信詐騙網(wǎng)絡(luò)詐騙講座PPT幻燈片課件
- 反興奮劑知識試題及答案
- 初中八年級上冊音樂課件4.2欣賞沃爾塔瓦河(14張)ppt課件
- 人教版五年級數(shù)學(xué)下冊每個單元教材分析(共九個單元)
- 深圳氫燃料共享單車項目投資計劃書【參考范文】
- 主要腸內(nèi)營養(yǎng)制劑成分比較
評論
0/150
提交評論