




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、成都理工大學(xué)工程技術(shù)學(xué)院本科課程設(shè)計(jì)報(bào)告成都理工大學(xué)工程技術(shù)學(xué)院?jiǎn)纹瑱C(jī)課程設(shè)計(jì)報(bào)告 數(shù)字溫度計(jì)設(shè)計(jì) 指導(dǎo)教師: 韓冰老師 學(xué) 生: 邢 偉 學(xué) 號(hào): 201120307217 2013年12月 25 日 摘要在這個(gè)信息化高速發(fā)展的時(shí)代,單片機(jī)作為一種最經(jīng)典的微控制器,單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作,科研,各個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),作為自動(dòng)化專(zhuān)業(yè)的學(xué)生,我們學(xué)習(xí)了單片機(jī),就應(yīng)該把它熟練應(yīng)用到生活之中來(lái)。本文將介紹一種基于單片機(jī)控制的數(shù)字溫度計(jì),本溫度計(jì)屬于多功能溫度計(jì),可以設(shè)置上下報(bào)警溫度,當(dāng)溫度不在設(shè)置范圍內(nèi)時(shí),可以報(bào)警。本文設(shè)計(jì)的數(shù)字溫度計(jì)具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫精確,
2、數(shù)字顯示,適用范圍寬等特點(diǎn)。關(guān)鍵詞:?jiǎn)纹瑱C(jī),數(shù)字控制,數(shù)碼管顯示,溫度計(jì),DS18B20,AT89S52。 目錄1概述41.1設(shè)計(jì)目的41.2設(shè)計(jì)原理41.3設(shè)計(jì)難點(diǎn)42 系統(tǒng)總體方案及硬件設(shè)計(jì)42.1數(shù)字溫度計(jì)設(shè)計(jì)方案論證52.2.1 主控制器52.4 系統(tǒng)整體硬件電路設(shè)計(jì)83系統(tǒng)軟件設(shè)計(jì)83.1初始化程序83.2讀出溫度子程序93.3讀、寫(xiě)時(shí)序子程序103.4 溫度處理子程序123.5 顯示程序124 Proteus軟件仿真125硬件實(shí)物136課程設(shè)計(jì)體會(huì).14附錄1:151概述1.1設(shè)計(jì)目的 隨著人們生活水平的不斷提高,單片機(jī)控制無(wú)疑是人們追求的目標(biāo)之一,它所給人帶來(lái)的方便也是不可否定的
3、,其中數(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)室使用,可廣泛用于食品庫(kù)、冷庫(kù)、糧庫(kù)、溫室大棚等需要控制溫度的地方。目前,該產(chǎn)品已在溫控系統(tǒng)中得到廣泛的應(yīng)用。1.2設(shè)計(jì)原理 本系統(tǒng)是一個(gè)基于單片機(jī)AT89S52的數(shù)字溫度計(jì)的設(shè)計(jì),用來(lái)測(cè)量環(huán)境溫度,測(cè)量范圍為-50110度。整個(gè)設(shè)計(jì)系統(tǒng)分為4部分:?jiǎn)纹瑱C(jī)控制、溫度傳感器、數(shù)碼
4、顯示以及鍵盤(pán)控制電路。整個(gè)設(shè)計(jì)是以AT89S52為核心,通過(guò)數(shù)字溫度傳感器DS18B20來(lái)實(shí)現(xiàn)環(huán)境溫度的采集和A/D轉(zhuǎn)換,同時(shí)因其輸出為數(shù)字形式,且為串行輸出,這就方便了單片機(jī)進(jìn)行數(shù)據(jù)處理,但同時(shí)也對(duì)編程提出了更高的要求。單片機(jī)把采集到的溫度進(jìn)行相應(yīng)的轉(zhuǎn)換后,使之能夠方便地在數(shù)碼管上輸出。LED采用三位一體共陽(yáng)的數(shù)碼管。1.3設(shè)計(jì)難點(diǎn) 此設(shè)計(jì)的重點(diǎn)在于編程,程序要實(shí)現(xiàn)溫度的采集、轉(zhuǎn)換、顯示和上下限溫度報(bào)警,其外圍電路所用器件較少,相對(duì)簡(jiǎn)單,實(shí)現(xiàn)容易。2 系統(tǒng)總體方案及硬件設(shè)計(jì)2.1數(shù)字溫度計(jì)設(shè)計(jì)方案論證由于本設(shè)計(jì)是測(cè)溫電路,可以使用熱敏電阻之類(lèi)的器件利用其感溫效應(yīng),在將隨被測(cè)溫度變化的電壓或電
5、流采集過(guò)來(lái),進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測(cè)溫度顯示出來(lái),這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換,就可以滿(mǎn)足設(shè)計(jì)要求。2.2總體設(shè)計(jì)框圖溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)方框圖如圖1所示,控制器采用單片機(jī)AT89S52,溫度傳感器采用DS18B20,用4位共陰LED數(shù)碼管以串口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示。圖1 總體設(shè)計(jì)框圖2.2.1 主控制器單片機(jī)AT89S52具有低電壓供電和體積小
6、等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿(mǎn)足電路系統(tǒng)的設(shè)計(jì)需要,適合便攜手持式產(chǎn)品的設(shè)計(jì)使用。AT89S52單片機(jī)芯片具有以下特性:1)指令集合芯片引腳與Intel公司的8052兼容;2)4KB片內(nèi)在系統(tǒng)可編程FLASH程序存儲(chǔ)器;3)時(shí)鐘頻率為033MHZ;4)128字節(jié)片內(nèi)隨機(jī)讀寫(xiě)存儲(chǔ)器(RAM);5)6個(gè)中斷源,2級(jí)優(yōu)先級(jí);6)2個(gè)16位定時(shí)/記數(shù)器;7)全雙工串行通信接口;8)監(jiān)視定時(shí)器;9)兩個(gè)數(shù)據(jù)指針;2.2.2 顯示電路2.2.3溫度傳感器DS18B20溫度傳感器是美國(guó)DALLAS半導(dǎo)體公司推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)
7、際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)9-12位的數(shù)字值讀數(shù)方式。DS18B20的性能特點(diǎn)如下:1.全數(shù)字溫度轉(zhuǎn)換及輸出。2.先進(jìn)的單總線(xiàn)數(shù)據(jù)通信。3.最高12為位分辨率,精度可達(dá)±0.5攝氏度。4.12位分辨率時(shí)的最大工作周期為750毫秒。5.可選擇寄生工作方式。6.檢測(cè)溫度范圍為+55+125(-67+257)。7.內(nèi)置EEPROM,限溫報(bào)警功能。8.64位光刻ROM,內(nèi)置產(chǎn)品序列號(hào),方便多機(jī)鏈接。9.多樣封裝形式,便于不同硬件系統(tǒng)。2.3 DS18B20溫度傳感器與單片機(jī)的接口電路2.4 系統(tǒng)整體硬件電路設(shè)計(jì)2.4.1 主板電路 系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路,溫度顯示電路,上下限
8、報(bào)警調(diào)整電路,單片機(jī)主板電路等,單片機(jī)主板電路如圖5 所示:圖5 單片機(jī)主板電路2.4.2 顯示電路 圖6 溫度顯示電路3 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)刷新子程序等。3.1初始化程序 置1發(fā)出存在脈沖延時(shí)15-60usP3.7設(shè)為總線(xiàn)發(fā)出復(fù)位脈沖釋放總線(xiàn)檢測(cè)總線(xiàn)=1 圖7 初始化程序流程圖3.2讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的2字節(jié),讀出溫度的低八位和高八位,在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫(xiě)。其程序流程圖如圖8示初始化ds18b20發(fā)送字節(jié)指令到總線(xiàn)發(fā)送轉(zhuǎn)換指令調(diào)用讀寫(xiě)指令讀溫度延
9、時(shí)調(diào)用時(shí)序初始化判斷F0=1EA=1 圖8 讀溫度程序流程圖3.3讀、寫(xiě)時(shí)序子程序讀寫(xiě)的程序是本次設(shè)計(jì)中的重點(diǎn)和難點(diǎn),通過(guò)我們對(duì)其時(shí)序的分析,從而寫(xiě)出高效的程序。寫(xiě)1,0時(shí)序讀0,1時(shí)序釋放總線(xiàn)所寫(xiě)位送到總線(xiàn)延時(shí)15-60us判斷總線(xiàn)=0寫(xiě)入位=0第二次寫(xiě)寫(xiě)入位=1將總線(xiàn)拉低延時(shí)1.7us將總線(xiàn)拉高開(kāi)始讀位延時(shí)60-120us圖9 寫(xiě)時(shí)序子程序流程圖 圖10 讀時(shí)序子程序流程圖3.4 溫度處理子程序計(jì)算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖11所示從18620取溫度低位保存讀取高位保存進(jìn)行十進(jìn)制轉(zhuǎn)換圖11 溫度處理程序流程圖 輪流送溫度值高低
10、位至數(shù)碼管3.5 顯示程序 此函數(shù)實(shí)現(xiàn)的對(duì)數(shù)碼管顯示的處理,其亮點(diǎn)在于可以直接對(duì)數(shù)碼管進(jìn)行操作,其本身是個(gè)兩變量函數(shù),第一個(gè)變量是要開(kāi)通的位選,第二個(gè)變量是要顯示的數(shù)據(jù),這樣我們可以直接方便而又簡(jiǎn)單直觀的對(duì)數(shù)碼管進(jìn)行操作。程序流程圖如圖12。 顯示小數(shù)位顯示低位顯示高位動(dòng)態(tài)顯示開(kāi)小數(shù)位位選開(kāi)低位位選開(kāi)高位位選 4 Proteus軟件仿真5 硬件實(shí)物6 課程設(shè)計(jì)體會(huì)這次課程設(shè)計(jì)雖然只有短短的兩周時(shí)間,但我受益匪淺。剛開(kāi)始時(shí)覺(jué)得自己的課題無(wú)處入手,但通過(guò)老師的講解和查詢(xún)資料,開(kāi)始有了自己的思路,整理出了總體方案,然后設(shè)計(jì)出硬件原理圖,源程序等。在這次設(shè)計(jì)中困難最大的就是調(diào)試,收獲最多的也是調(diào)試,因
11、為調(diào)試的時(shí)候你必須對(duì)程序相當(dāng)?shù)氖煜?,?duì)每一條指令相當(dāng)了解,并且硬件的連接也要清晰的印在腦海里,只有這樣你才能讓軟件和硬件結(jié)合在一起,實(shí)現(xiàn)預(yù)期功能。在編程結(jié)束時(shí)需要編寫(xiě)END指令,這也是初學(xué)者編程時(shí)經(jīng)常忘記的。總之,在課程設(shè)計(jì)中遇到了不少的困難,在老師的細(xì)心講解和輔導(dǎo)下,最終完成了本次設(shè)計(jì)。在此,由衷感謝老師的指導(dǎo)和幫助。 參考文獻(xiàn)1DS18b20數(shù)據(jù)手冊(cè)。2 求是科技編著8051系列單片機(jī)C程序設(shè)計(jì)完全手冊(cè)北京: 人民郵電出版社, 20063 余發(fā)山,王福忠.單片機(jī)原理及應(yīng)用技術(shù).徐州:中國(guó)礦業(yè)大學(xué)出版社,200附錄1: DQ BIT P3.7 ; 定義p3.7為ds18b20的地址總線(xiàn) sw
12、pH equ 0d2H; 定義swph=0d2h swpL equ 0ffH ; 定義swpL=0ffh 初始化 WDLSB DATA 30H ; 定義wdlsb=30h WDMSB DATA 31H ; 定義wdmsb=31h;* ORG 0000H ;主程序入口地址 LJMP MAIN ;跳轉(zhuǎn)到main ORG 000BH ;timer0的入口地址 LJMP TMR0 ; 跳到Timer0 ;*; Timer0 Interrupt Service RoutineTMR0: MOV TH0,#swpH ;輪流送溫度值的高低兩位到數(shù)碼管 高位 MOV TL0,#swpL ;溫度值的低位 JB
13、21H,DSL JB 22H,DSL1; JB 23H,DSL2 MOV P0,43H ORL P0,#01000000B ; 十位位選為1 SETB P2.0;小數(shù)點(diǎn)不亮 SJMP EXITDSL: MOV P0,42H ORL P0,#00100000B ; 個(gè)位位選 CPL P2.0;個(gè)位后面小數(shù)位亮 SJMP EXIT1DSL1:MOV P0,41H ORL P0,#00010000B ;小數(shù)位位選SETB P2.0;小數(shù)點(diǎn)不亮SJMP EXIT2;DSL2: ; MOV P0,40H;ORL P0,#10000000B;SETB P2.0;SJMP EXIT3EXIT: CPL 21
14、H; 21h取反,即21h=1 RETI EXIT1: CPL 22H; 22h=1 CPL 21H ;21h=0 RETI EXIT2: ; CPL 23H; CPL 22H ;22h=0 RETI ;EXIT3: ; CPL 23H; ; RETI ; Main programMAIN: TOINIT: CLR EA MOV TMOD,#01H ;定義timer0的工作方式為1 MOV TH0,#swpH ;裝初始值 MOV TL0,#swpL SETB EA ;開(kāi)總中斷 SETB ET0;開(kāi)中斷允許 SETB TR0;開(kāi)定時(shí)器中斷;* ; 地址清零,騰出地址空間 MOV R2,#3 ;R
15、2里放循環(huán)次數(shù)為2次 MOV R0,#41H ; R0=42HOVER: MOV R0,#00H; 42H=00H INC R0; R0=43HDJNZ R2,OVER; 判斷2次循環(huán)是否結(jié)束 LOOP: LCALL DSWD ; SJMP LOOP ;*; Read a temperature from the DS18B20DSWD: LCALL RSTSNR ; Init of the DS18B20 JNB F0,KEND ; F0=0則轉(zhuǎn)移 MOV R0,#0CCH;R0=0cch LCALL SEND_BYTE ; Send a byte to the 1 wire line MO
16、V R0,#44H LCALL SEND_BYTE ; Send a Convert Command SETB EA ; MOV 48H,#1 ;SS2: MOV 49H,#255;SS1: MOV 4AH,#255;SS0: DJNZ 4AH,SS0; DJNZ 49H,SS1; DJNZ 48H,SS2 ; CLR EA ;進(jìn)入讀時(shí)序禁用任何中斷 LCALL RSTSNR ; JNB F0,KEND; MOV R0,#0CCH ; LCALL SEND_BYTE ; MOV R0,#0BEH ; 讀命令 LCALL SEND_BYTE ; Send Read Scratchpad comm
17、and LCALL READ_BYTE ; Read the low byte from scratchpad MOV WDLSB,A ; Save the temperature (low byte) LCALL READ_BYTE ; Read the high byte from scratchpad MOV WDMSB,A ; Save the temperature (high byte) LCALL TRANS12 ; 讀取溫度值的10進(jìn)制數(shù)KEND: SETB EA ; RET;*; 從1820讀取溫度并轉(zhuǎn)換為10進(jìn)制TRANS12: MOV A,30H ;30H存從1820取的
18、溫度值的低位 ANL A,#0F0H ;選取讀取溫度值低位中的高4位儲(chǔ)存溫度 MOV 3AH,A ;儲(chǔ)存至3AH MOV A,31H ; 31h存從1820讀取溫度的高位 ANL A,#0FH ; 保存溫度值高位中的低4位 ORL A,3AH ; A中為溫度值 SWAP A ;半字節(jié)交換 MOV B,#10 ;轉(zhuǎn)換為10進(jìn)制 DIV AB ;MOV 42H,A MOV 42H,B ; 除10 取余數(shù),42H即個(gè)位 MOV B,#10 DIV AB MOV 43H,B ;43H放十3位 MOV A,30H ANL A,#0FH ;1820中讀取的溫度值低位中的低4位,即小數(shù)位 MOV DPTR,
19、#tab1 ;查表小數(shù)位 MOVC A,A+DPTR MOV 41H,A ;41H中為小數(shù)位 RET ;*; Send a byte to the 1 wire lineSEND_BYTE: MOV A,R0 ;保存數(shù)值 A=0CCH MOV R5,#8;發(fā)送次數(shù)為8次SEN3: CLR C; 清零 RRC A; 循環(huán)右移送值 JC SEN1 ; 判斷寫(xiě)0還是寫(xiě)1 LCALL WRITE_0 SJMP SEN2 SEN1: LCALL WRITE_1 SEN2: DJNZ R5,SEN3 ; 判斷是否寫(xiě)完 RET;*; Read a byte from the 1 wire line 讀時(shí)序R
20、EAD_BYTE: MOV R5,#8 ;8次READ1: LCALL READ ;跳轉(zhuǎn)到讀時(shí)序 RRC A ;把讀的的值右循環(huán)給A DJNZ R5,READ1 ;判斷是否讀完 MOV R0,A RET;*; Reset 1 wire line時(shí)序初始化RSTSNR: SETB DQ ; P3.7=1 NOP;延時(shí) NOP CLR DQ ;P3.7=0發(fā)出復(fù)位脈沖 MOV R6,#250 DJNZ R6,$ ; 保持500us MOV R6,#50 DJNZ R6,$ ; 100us SETB DQ ; 釋放總線(xiàn) MOV R6,#15 DJNZ R6,$ ; 30us CALL CHCK ;判斷p3.7位是否被拉高,如已經(jīng)拉高,則low,否則,將其拉高 MOV R6,#60 DJNZ R6,$ ; 120us SETB DQ ; RET;*;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 加盟連鎖招商合同范本
- 國(guó)家旅游課題申報(bào)書(shū)
- 辦公購(gòu)置合同范本
- 單位套房出售合同范本
- 售賣(mài)義齒器械合同范本
- 建設(shè)知識(shí)產(chǎn)權(quán)保護(hù)高地的實(shí)施細(xì)則與規(guī)劃
- 員工欠款合同范本
- 黨務(wù)材料外包合同范本
- 品牌油漆采購(gòu)合同范本
- 合同范本書(shū)庫(kù)
- 2024年徐州生物工程職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及答案解析
- 重點(diǎn)關(guān)愛(ài)學(xué)生幫扶活動(dòng)記錄表
- 2024年部編版五年級(jí)下冊(cè)語(yǔ)文第一單元綜合檢測(cè)試卷及答案
- 5-6歲幼兒園小學(xué)美術(shù)PPT課件教案教程創(chuàng)意幼教手工《樹(shù)懶》
- 牛津譯林英語(yǔ)七年級(jí)上冊(cè)7AUnits1-4單元復(fù)習(xí)課件
- 《義務(wù)教育道德與法治課程標(biāo)準(zhǔn)(2022年版)》
- 2023北京高三一模語(yǔ)文匯編:非連續(xù)性文本閱讀
- 初中物理核心素養(yǎng)培養(yǎng)
- 保安公司招聘筆試題及答案
- 介紹錢(qián)三強(qiáng)的
- 農(nóng)業(yè)資源與環(huán)境經(jīng)濟(jì)學(xué)
評(píng)論
0/150
提交評(píng)論