版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)應(yīng)用與仿真訓(xùn)練設(shè)計報告數(shù)字溫度計設(shè)計姓 名: 學(xué) 號: 專業(yè)班級: 指導(dǎo)老師: 所在學(xué)院:摘要溫度作為一個常用的物理量在我們的氣場生活中起著十分重要的作用,所以對溫度計的設(shè)計也十分必要。在此介紹一種智能數(shù)字溫度計,這種溫度計有許多優(yōu)點(diǎn),并且它的應(yīng)用范圍非常廣泛。它的主要元件是:控制器at89c2051、溫度傳感器ds18b20、數(shù)碼管led,所以這種溫度計不僅設(shè)計起來簡單并且輕便、便宜,總體來說這種溫度計的性價比是很高的。它的主要原理是利用ds18b20可以很好的轉(zhuǎn)換溫度值,并且直接顯示溫度值,它的性能優(yōu)于傳統(tǒng)的感溫元件并且省去了ad、和模擬開關(guān)的設(shè)計。此外at89c2051體積小并且還
2、可以直接驅(qū)動led,這樣大大化簡了設(shè)計的難度并且降低了成本。關(guān)鍵詞: 智能 數(shù)字 溫度計 溫度目錄1 概述.3 1.1 傳感器.3 1.2 設(shè)計任務(wù)及指標(biāo).3 2 系統(tǒng)總體方案及硬件設(shè)計.4 2.1 總體設(shè)計方案.4 2.2 方案的總體設(shè)計框圖.4 2.2.1主控制器.4 2.2.2顯示電路.5 2.2.3溫度傳感器.5 2.2.4 ds18b20溫度傳感器與單片機(jī)的接口電路.72.3 系統(tǒng)硬件主要構(gòu)成.7 3 軟件設(shè)計.8 3.1 主
3、程序方案.8 3.2 讀出溫度子程序.8 3.3 溫度轉(zhuǎn)換命令子程序.9 3.4 計算溫度子程序.9 3.5 顯示數(shù)據(jù)刷新子程序.104 proteus軟件仿真.115課程設(shè)計體會.12參考文獻(xiàn)附1:源程序代碼附2:系統(tǒng)原理圖1、 概述1.1傳感器傳感器(英文名稱:transducer/sensor)是一種檢測裝置,能感受到被測量的信息,并能將感受到的信息,按一定規(guī)律變換成為電信號或其他所需形式的信息輸出,以滿足信息的傳輸、處理、存儲、顯示、記錄和控制等要求。1.2設(shè)計任務(wù)及指標(biāo) 1.2.1設(shè)計任務(wù) 利用單片機(jī)和數(shù)字溫度傳感器,實現(xiàn)一個能精確測量并顯示溫度的實際應(yīng)用系
4、統(tǒng),為低成本的數(shù)字溫度測量系統(tǒng)設(shè)計提出一種新的解決方案。并需說明設(shè)計方案的構(gòu)思依據(jù)、設(shè)計思路、系統(tǒng)原理、設(shè)計過程及系統(tǒng)工作流程圖。 1.2.2技術(shù)指標(biāo): 系統(tǒng)穩(wěn)定性高; 使用四位數(shù)碼管顯示溫度值; 測量精度達(dá)0.1; 要求系統(tǒng)具備復(fù)位功能;2 系統(tǒng)總體方案及硬件設(shè)計2.1 總體設(shè)計方案 在單片機(jī)電路設(shè)計中
5、,使用傳感器,是非常容易想到的,所以可以采用一只溫度傳感器ds18b20,此傳感器,可以很容易直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計要求。2.2 方案的總體設(shè)計框圖 溫度計電路設(shè)計總體設(shè)計方框圖如2-1所示,控制器采用單片機(jī)at89c2051,溫度傳感器采用ds18b20,用3位led數(shù)碼管以串口傳送數(shù)據(jù)實現(xiàn)溫度顯示。 主 控 制 器led顯 示溫 度 傳 感 器單片機(jī)復(fù)位時鐘振蕩報警點(diǎn)按鍵調(diào)整 圖2-1總體設(shè)計方框圖 2.2.1主控制器 系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路,溫度顯示電路,上下限報警調(diào)整電路,單片機(jī)主板電路等,如圖2-1 所示。 圖2-4中有三個獨(dú)立式按鍵可以分別調(diào)
6、整溫度計的上下限報警設(shè)置,圖中蜂鳴器可以在被測溫度不在上下限范圍內(nèi)時,發(fā)出報警鳴叫聲音,同時led數(shù)碼管將沒有被測溫度值顯示,這時可以調(diào)整報警上下限,從而測出被測的溫度值。 圖2-2單片機(jī)主板電路 2.2.2顯示電路 顯示電路采用3位共陽led數(shù)碼管,從p3口rxd,txd串口輸出段碼。 2.2.3溫度傳感器 ds18b20 的測溫原理如圖2-3 所示. 圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生的信號作為減法計數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯變,所以產(chǎn)生的信號作為減法計數(shù)器2 的脈沖輸入。圖中還隱含著計數(shù)門,當(dāng)計數(shù)門打開時,ds18b20 對低溫度系數(shù)振蕩器產(chǎn)生的時
7、鐘脈沖進(jìn)行計數(shù),進(jìn)而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器決定,每次測量前,首先將55所對應(yīng)的一個基數(shù)分別置入減法計數(shù)器1、溫度寄存器中,減法計數(shù)器1和溫度寄存器被預(yù)置在55所對應(yīng)的一個基數(shù)值。 圖2-3 ds18b20 測溫原理圖 減法計數(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ù)值就是所測溫度值。斜率累加器用于溫度補(bǔ)償和修正測溫過程中的非線形性,
8、其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器值達(dá)到被測溫度值。 另外,由于ds18b20 單線通信功能是分時完成的,它有嚴(yán)格的時隙概念,因此讀寫時很重要。系統(tǒng)對ds18b20 的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化ds18b20(發(fā)復(fù)位脈沖) 發(fā)rom功能命令發(fā)存儲器操作命令 處理數(shù)據(jù)。 2.2.4 ds18b20溫度傳感器與單片機(jī)的接口電路 圖2-4 ds18b20的測溫電路與單片機(jī)的連接電路2.3 系統(tǒng)硬件主要構(gòu)成 整個系統(tǒng)硬件可以分為主控制器模塊,測溫電路模塊和顯示電路模塊。每個模塊執(zhí)行其相應(yīng)的功能,共同組成了一個有序,協(xié)調(diào)的系統(tǒng)。主要元件有控
9、制器at89c2051,溫度傳感器ds18b20、數(shù)碼管led。3、 軟件設(shè)計3.1主程序方案 主程序的主要功能是負(fù)責(zé)溫度的實時顯示、讀出并處理ds18b20的測量的當(dāng)前溫度值,溫度測量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程見圖3-1所示。 y發(fā)ds18b20復(fù)位命令發(fā)跳過rom命令發(fā)讀取溫度命令讀取操作,crc校驗9字節(jié)完?crc校驗正?確?移入溫度暫存器結(jié)束nny初始化調(diào)用顯示子程序1s到?初次上電讀出溫度值溫度計算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開始命令nyny 圖3-1 主程序流程圖 圖3-2讀溫度流程圖3.2 讀出溫度子程序 讀出溫度子程序的主要功能是讀出ram中的
10、9字節(jié),在讀出時需進(jìn)行crc校驗,校驗有錯時不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖3-2示 3.3 溫度轉(zhuǎn)換命令子程序 溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率時轉(zhuǎn)換時間約為750ms,在本程序設(shè)計中采用1s顯示程序延時法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如上圖,圖3-3所示發(fā)ds18b20復(fù)位命令發(fā)跳過rom命令發(fā)溫度轉(zhuǎn)換開始命令 結(jié)束 圖3-3 溫度轉(zhuǎn)換流程圖3.4 計算溫度子程序 計算溫度子程序?qū)am中讀取值進(jìn)行bcd碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖3-4所示。 開始溫度零下?溫度值取補(bǔ)碼置“”標(biāo)志計算小數(shù)位溫度bcd值 計算整數(shù)位溫度
11、bcd值 結(jié)束置“+”標(biāo)志ny 圖3-4計算溫度流程圖 3.5 顯示數(shù)據(jù)刷新子程序 顯示數(shù)據(jù)刷新子程序主要是對顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為0時將符號顯示位移入下一位。程序流程圖如圖3-5。溫度數(shù)據(jù)移入顯示寄存器十位數(shù)0?百位數(shù)0?十位數(shù)顯示符號百位數(shù)不顯示百位數(shù)顯示數(shù)據(jù)(不顯示符號) 結(jié)束nnyy 圖3-5顯示數(shù)據(jù)刷新流程圖4、 proteus軟件仿真5、課程設(shè)計體會 在這次設(shè)計中,經(jīng)過自身的努力,不但加深了對單片機(jī)與傳感器的進(jìn)一步的認(rèn)識和理解,并將所學(xué)的知識充分應(yīng)用于實踐中。通過畢業(yè)設(shè)計,使我認(rèn)識到理論聯(lián)系實際的重要性,在實踐中擴(kuò)展了知識面,不但掌握了本專業(yè)的相關(guān)知識,
12、而且對其他專業(yè)的知識也有所了解,從各方面提高了自身的綜合素質(zhì)。在課程設(shè)計過程中,我們不斷發(fā)現(xiàn)錯誤,不斷改正,不斷領(lǐng)悟,不斷獲取。最終的檢測調(diào)試環(huán)節(jié),本身就是在踐行“過而能改,善莫大焉”的知行觀。 在這學(xué)期的實驗中,不僅培養(yǎng)了獨(dú)立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的是,在實驗課上,我們學(xué)會了很多學(xué)習(xí)的方法。而這是日后最實用的,真的是受益匪淺。要面對社會的挑戰(zhàn),只有不斷的學(xué)習(xí)、實踐,再學(xué)習(xí)、再實踐。這對于我們的將來也有很大的幫助。以后,不管有多苦,我想我們都能變苦為樂,找尋有趣的事情,發(fā)現(xiàn)其中珍貴的事情。就像中國提倡的艱苦奮斗一樣,我們都可以在實驗結(jié)束之后變的更加成熟,會面
13、對需要面對的事情。參考文獻(xiàn)1李朝青.單片機(jī)原理及接口技術(shù)(簡明修訂版).杭州:北京航空航天大學(xué)出版社,19982李廣弟.單片機(jī)基礎(chǔ).北京:北京航空航天大學(xué)出版社,19943閻石.數(shù)字電子技術(shù)基礎(chǔ)(第三版). 北京:高等教育出版社,19894廖常初.現(xiàn)場總線概述j.電工技術(shù),19995 李道華,李玲,朱艷編著.傳感器電路分析與設(shè)計m.武漢:武漢大學(xué)出版社,2003 6 沙占友編著.智能化集成溫度傳感器原理與應(yīng)用m.北京:機(jī)械工業(yè)出版社,2002 7 方佩敏編著.新編傳感器原理·應(yīng)用·電路詳解m.北京:電子工業(yè)出版社,1993附1:源程序代碼org 0000h ; 0-125度
14、的溫度計temper_l equ 41h ;用于保存讀出溫度的低8位 temper_h equ 40h ;用于保存讀出溫度的高8位flag1 equ 38h ;是否檢測到ds18b20標(biāo)志位a_bit1 equ 30h ;數(shù)碼管小數(shù)點(diǎn)位數(shù)存放內(nèi)存位置b_bit1 equ 31h ;數(shù)碼管個位數(shù)存放內(nèi)存位置c_bit1 equ 32h ;數(shù)碼管十位數(shù)存放內(nèi)存位置d_bit1 equ 33h ;數(shù)碼管百位數(shù)存放內(nèi)存位置dq equ p3.7 ;30h,31h,32h,33h: 小數(shù)點(diǎn)位 個位 十位 百位mod7: mov sp,#60h lcall get_temper ;調(diào)用讀溫度子程序 lca
15、ll tempcov lcall display ;調(diào)用數(shù)碼管顯示子程序 ajmp mod7 temp0: inc a ajmp temp1 tempcov:mov a,temper_l ;數(shù)據(jù)處理子程序tempcov mov b,#10h div ab jb b.3,temp0 temp1: mov 34h,a ;將temper_l的高四位右移四位,存入34h中(溫度值) mov a,b ;將temper_l的低四位x10/16得小數(shù)后一位數(shù) mov b,#0ah mul ab mov b,#10h div ab mov 30h,a ;將小數(shù)后一位數(shù).存入30h中 mov a,temper_
16、h ;temper_h中存放高8位數(shù),權(quán)重16 mov b,#10h mul ab add a,34h ;34h中存入溫度值的整數(shù)部分 mov b,#0ah div ab mov 31h,b ;個位存入31h中 mov b,#0ah div ab mov 32h,b ;十位存入32h中 mov b,#0ah div ab mov 33h,b ;百位存入33h中 mov a,temper_h mov 34h,#10h jb acc.7,exit7 mov 34h,#00h exit7: ret; ;這是ds18b20復(fù)位初始化子程序 init_1820: setb dq nop clr dq ;
17、主機(jī)發(fā)出延時537微秒的復(fù)位低脈沖 mov r1,#03h tsr1: mov r0,#6bh djnz r0,$ djnz r1,tsr1 setb dq ;然后拉高數(shù)據(jù)線 nop nop nop mov r0,#25h tsr2: jnb dq,tsr3 ;等待ds18b20回應(yīng) djnz r0,tsr2 ljmp tsr4 ;延時tsr3: setb flag1 ;置標(biāo)志位,表示ds1820存在 ljmp tsr5 tsr4: clr flag1 ;清標(biāo)志位,表示ds1820不存在 ljmp tsr7 tsr5: mov r0,#75h djnz r0,$ ;時序要求延時一段時間tsr7
18、: setb dq ret ;讀出轉(zhuǎn)換后的溫度值get_temper:setb dq lcall init_1820 ;先復(fù)位ds18b20 jb flag1,tss2 ret tss2: mov a,#0cch ;跳過rom匹配 lcall write_1820 mov a,#44h ;發(fā)出溫度轉(zhuǎn)換命令 lcall write_1820 lcall display ;等待ad轉(zhuǎn)換結(jié)束,12位的話750微秒 lcall init_1820 ;準(zhǔn)備讀溫度前先復(fù)位 mov a,#0cch ;跳過rom匹配 lcall write_1820 mov a,#0beh ;發(fā)出讀溫度命令 lcall wr
19、ite_1820 lcall read_1820 ;將讀出的溫度數(shù)據(jù)保存到35h/36h ret ;寫ds18b20的子程序(有具體的時序要求) write_1820: mov r2,#08h ;一共8位數(shù)據(jù) clr c wr1: clr dq mov r3,#06h djnz r3,$ rrc a mov dq,c mov r3,#17h djnz r3,$ setb dq nop djnz r2,wr1 setb dq ret ;讀ds18b20的程序,從ds18b20中讀出兩個字節(jié)的溫度數(shù)據(jù) read_1820: mov r4,#02h ;將溫度高位和低位從ds18b20中讀出 mov
20、r1,#temper_l ;低位存入temper_l(temper_l),高位存入(temper_h)re00: mov r2,#08h ;數(shù)據(jù)一共有8位re01: clr c setb dq nop nop clr dq nop nop nop setb dq mov r3,#09h djnz r3,$ mov c,dq mov r3,#17h djnz r3,$ rrc a djnz r2,re01 mov r1,a dec r1 djnz r4,re00 ret ;顯示子程序display: mov dptr,#tab ;指定查表啟始地址 mov r0,#04h dpl1: mov r1,#0fah ;顯示1000次dplop: mov a,a_bit1 ;取小數(shù)點(diǎn)后位數(shù) movc a,a+dptr ;查小數(shù)點(diǎn)后位數(shù)的7段代碼 mov p1,a ;送出小數(shù)點(diǎn)后位的7段代碼 clr p3.2 ;開小數(shù)點(diǎ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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)生課間健身課件視頻
- 中級消防監(jiān)控室培訓(xùn)課件
- 三年級科學(xué)上冊第二單元人與植物教材說明首師大版
- 2022年東北電力大學(xué)自考英語(二)練習(xí)題(附答案解析)
- 教學(xué)課件制作培訓(xùn)總結(jié)
- 安全鏈控制系統(tǒng)課件
- 指南培訓(xùn)課件
- 上半年大班第二學(xué)期班務(wù)參考計劃
- 人教部編版二年級下冊所有必須背誦的古詩和課文
- 大班交通安全日課件
- 蓄勢聚能籌遠(yuǎn)略揚(yáng)帆破浪啟新航-在2025年務(wù)虛會上的講話提綱
- 2025山東濰坊光明電力服務(wù)限公司招聘142人管理單位筆試遴選500模擬題附帶答案詳解
- 《診斷教學(xué)胸腔積液》課件
- 山東省濟(jì)南市2023-2024學(xué)年高二上學(xué)期期末考試生物試題 附答案
- DB32T 3292-2017 大跨徑橋梁鋼橋面環(huán)氧瀝青混凝土鋪裝養(yǎng)護(hù)技術(shù)規(guī)程
- 形容詞副詞(專項訓(xùn)練)-2023年中考英語二輪復(fù)習(xí)
- 2024人力行政年終總結(jié)
- 2024國家開放大學(xué)【法理學(xué)】形考試題及答案(二)
- GB 44495-2024汽車整車信息安全技術(shù)要求
- 2025年全年日歷含農(nóng)歷(1月-12月)
- 多學(xué)科聯(lián)合診療(MDT)管理方案
評論
0/150
提交評論