溫度測控器課程設(shè)計報告書_第1頁
溫度測控器課程設(shè)計報告書_第2頁
溫度測控器課程設(shè)計報告書_第3頁
溫度測控器課程設(shè)計報告書_第4頁
溫度測控器課程設(shè)計報告書_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

吉林工商學(xué)院溫度測控器課程設(shè)計設(shè)計名稱: 溫度測控器班 級:電子信息10403班2023年12月14日一、溫度測控器的原理及功能如圖1-1DS18B20擇開關(guān)電路,掌握器單片機(jī)AT89S52、掃描驅(qū)動電路、數(shù)碼管LED顯示器、報警及電源電路等。LEDLED顯示器預(yù)設(shè)溫度實(shí)際溫度單片機(jī)DS18B20掃描驅(qū)動AT89S52電源溫度掌握電路1-1溫度傳感器從測試點(diǎn)采集溫度,然后把溫度轉(zhuǎn)換成電壓〔或電流,溫度傳感器輸出電壓的大小隨溫度的凹凸變化而變化,電壓值的變化范圍從幾個微伏到幾個毫伏,不同的溫度傳感器,AT89S52字溫度電壓值,經(jīng)過計算處理,得到相應(yīng)的溫度值,經(jīng)掃描驅(qū)動送到LED顯示器以數(shù)字形式顯示測量的溫度。LED二、系統(tǒng)硬件電路的設(shè)計溫度測量電路多點(diǎn)溫度測量電路由主控器單片機(jī)AT89S52作為多點(diǎn)溫度測量電路的核心,溫度傳感器DS18B20負(fù)責(zé)從測量點(diǎn)采集溫度,七位共陽LEDDS18B20單線智能溫度傳感器的工作原理DS18B20DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最近推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可依據(jù)實(shí)際要求通過簡潔的編9-12DS18B20獨(dú)特的單線接口僅需要一個端口引腳進(jìn)展通信;多個DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;無須外接部件;可通過數(shù)據(jù)供電,電壓范圍為3.0—5.5V;零待機(jī)功耗;912位數(shù)字量讀出;用戶可定義的非易失性溫度報警設(shè)置;報警搜尋命令識別并標(biāo)志超過程序限定溫度〔溫度報警條件〕的器件;負(fù)電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒壞,但不能正常工作.DS18B202—13腳PR—358腳SOIC2-2DS18B2064位ROM2—3所示。開頭8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48位,最終8位是前面56位的CRC檢驗碼,這也是多個DS18B20可以承受一線進(jìn)展通信的緣由。非易失性溫度報警觸發(fā)器TH和TL,可通過軟件寫入戶報警上下限。DS18B20溫度傳感器的內(nèi)部存儲器還包括一個高速暫存RAM和一個非易失性的可存儲器與掌握器I/O溫度傳感器64 位CVDD電擦除的EEPRAM存儲器與掌握器I/O溫度傳感器64 位CVDDROM高溫觸發(fā)器TH和單線接高速低溫觸發(fā)器TL口緩存配置存放器8CRC發(fā)生器2-1DS18B202-2DS18B20頭23和第4字節(jié)是TH和TL電復(fù)位時被刷。第5個字節(jié)為配置存放器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換區(qū)分率。DS18B202-5所示。低5位始終為1,TM是測試模式位,用于設(shè)置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設(shè)置為0,用戶不要改動,R1和R0打算溫度轉(zhuǎn)換的精度位數(shù),即用來設(shè)置區(qū)分率,方法見表2—4。88位檢驗CRC48位序列號8位工廠代碼〔10H〕MSB LSBMSB LSB MSB LSB圖2—3 位64位ROM構(gòu)造圖由表3—3可見,DS18B20據(jù)轉(zhuǎn)換時間就越長。因此,在實(shí)際應(yīng)用中要將區(qū)分率和轉(zhuǎn)換時間權(quán)衡考慮。高速暫存RAM的第6、7、8字節(jié)保存未用,表現(xiàn)為全規(guī)律1。第9字節(jié)讀出前面全部8字節(jié)的CRC表2—4 DS18B20區(qū)分率的定義規(guī)定1RR0區(qū)分率/位/ms00993.750110187.510113751112750字節(jié)字節(jié)配置存放器

字節(jié)溫度LSB溫度溫度LSB溫度MSBTH1TL2配置存放器保存保存CRCTH1字節(jié)字節(jié)TLTL2字節(jié)字節(jié) EEPROM圖2—6 高速暫存RAM構(gòu)造圖TTRR11111M10當(dāng)DS18B2016位帶符號擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲在高速暫存存儲器的第1、2字節(jié)。單片機(jī)可以通過單總線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時低位在先,高位在后,數(shù)據(jù)格式以0.0625℃/LSB形式表示。溫度值格式2—8所示。當(dāng)符號位S=0時,表示測得的溫度值為正值,可以直接將二進(jìn)制轉(zhuǎn)換為十進(jìn)制;當(dāng)符號位S=1時,表示測得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計算十進(jìn)制值。表2—4是一局部溫度值對應(yīng)的二進(jìn)制溫度數(shù)據(jù)。222222222223210-1-2-3-4SSSSSSSSMS 字 節(jié)2—7溫度數(shù)據(jù)值格式在64位ROM的最高有效字節(jié)中存儲器循環(huán)冗余檢驗碼(CRC)。主機(jī)依據(jù)ROM的前56位來計算CRC值,并和存入DS18B20的CRC值做比較,以推斷主機(jī)收到的ROM數(shù)據(jù)是否正確。DS18B20的測溫原理如圖2—9所示.圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用它產(chǎn)生的信號作為減法計數(shù)器1的脈沖輸入;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯變化,所以產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入。圖中還隱含著計數(shù)門,當(dāng)計數(shù)門翻開時,DS18B20間由高溫度系數(shù)振蕩器打算,每次測量前,首先將—55℃所對應(yīng)的一個基數(shù)分別置入減法計數(shù)器1和溫度存放器中,減法計數(shù)器1和溫度存放器被預(yù)置在—55℃所對應(yīng)的一個基數(shù)值。減法計數(shù)器11的預(yù)置值減到0時,溫度存放器的值將加1,減法計數(shù)器11重開頭對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)展計數(shù),如此循環(huán)直到減法計數(shù)器2計數(shù)到0時,停頓2—9中的斜率累加器用未關(guān)閉就重復(fù)上述過程,直到溫度存放器值到達(dá)被測溫度值。另外,由于DS18B20單線通信功能是分時完成的,它有嚴(yán)格的時隙概念,因此讀寫時很重要。系統(tǒng)對DS18B20的各種操作必需按協(xié)議進(jìn)展。操作協(xié)議為:初始化DS18B20〔發(fā)復(fù)位脈沖〕ROM功能命令發(fā)存儲器操作命令處理數(shù)據(jù)。DS18B20DS18B20可以承受兩種方式供電,一種是承受電源供電方式,此時DS18B20的1腳接地,2腳作為信號線,3腳接電源。另一種是寄生電源方式,如圖2—10所示。單片機(jī)端口接DS18B20MOSFET管來完成對總線的上拉。當(dāng)DS18B20處于寫存儲器操作和溫度A/D轉(zhuǎn)換操作時,總線上必需有強(qiáng)的上拉,上拉開頭10μs。承受寄生電源供電方式時VDD和GND線,因此發(fā)送接口必需是三態(tài)的。2—8DS18B20溫度/℃二進(jìn)制十六進(jìn)制表示+125000001111101000007D0H+8500000101010100000550H+25.062500000001100100010191H+10.125000000001010001000A2H+0.500000000000010000008H000000000000000000000H—0.51111111111111000FFF8H—10.1251111111101011110FF5EH—25.06251111111001101111FE6FH—551111110010010000FC90H圖2—9 DS18B20測溫原理圖VCCVCC8051DS18 B20DS18 B20DS18 B204.7kVCC

2—10DS18B2074ls24574LS24574LS245是我們常用的芯片,用來驅(qū)動led或者其他的設(shè)備,用法很簡潔如上圖,這里簡單的給出一些資料,他是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。當(dāng)8051單片機(jī)的單的給出一些資料,他是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。當(dāng)8051單片機(jī)的P0口總線負(fù)載到達(dá)或超過P074LS245等總線驅(qū)動器。/CE低電平有效時,DIR=“0”,信號由B向A〔接收〕*DIR=“1”,信號由A向B〔發(fā)送〕/CEA、B均為高阻態(tài)。2.32.3顯示電路LED數(shù)碼管顯示原理常用的LED8〔7〕分別記作a、b、c、d、e、f、g、dp、其中dp為小數(shù)點(diǎn),每一只發(fā)光二極管都有一根電極引到外部引腳上,而另外一只引腳就連接在一起同樣也引到外部引腳上,記作公共端(COM),如上圖所示。LED數(shù)碼管有兩種,分為共陽極與共陰極.共陽極:當(dāng)數(shù)碼管里面的發(fā)光二極管的陽極接在一起作為公共引腳,在正常使用時此引腳接電源正極.當(dāng)發(fā)光二極管的陰極接低電尋常,發(fā)光里面的發(fā)光二極管的陰極接在一起作為公共引腳,在正常使用時此引腳接電源負(fù)極.當(dāng)發(fā)光二極管的陽極接高電尋常,發(fā)光二極管被點(diǎn)亮,從而相應(yīng)的數(shù)碼段顯示,而輸入低電平的段則不能點(diǎn)亮。為了使LED顯示器顯示不同的符號或數(shù)字,要把某些段的發(fā)光二極管點(diǎn)亮,這樣就要為LED顯示器供給代碼,由于這些代碼可使LED也成為段碼〔或稱字型碼〕。八段LED數(shù)碼管段代碼編碼表八段LED數(shù)碼管段代碼編碼表代碼位D7D6D5D4D3D2D1D0顯示段dpgfedcba字形0123456789共陽C0HF9HA4HB0H99H92H82HF8H80H90H3F共陰3F共陰06H 5BH 4FH66H6DH7DH07H7FH6FHHDS18B20復(fù)位初始化子程序,讀出轉(zhuǎn)換后的溫度值,生成顯示碼子程序及顯示子程序主程序主程序的主要功能是負(fù)責(zé)溫度的實(shí)際顯示、讀數(shù)并處理DS18B20的測量溫度值,溫度測1sDS18B20讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需進(jìn)展CRC檢驗,校驗有錯時不進(jìn)展溫度數(shù)據(jù)的改寫。讀出轉(zhuǎn)換后的溫度值溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開頭命令,當(dāng)承受 12位區(qū)分率知轉(zhuǎn)換時間約750ms,在本程序設(shè)計中承受1s顯示程序延時法等待轉(zhuǎn)換的完成。生成顯示碼子程序及顯示子程序計算溫度子程序?qū)AM中讀取值進(jìn)展BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)展溫度值正負(fù)的判定,顯示數(shù)據(jù)刷子程序主要是對顯示緩沖器中的顯示數(shù)據(jù)進(jìn)展刷操作,當(dāng)最高顯示位為0將符號顯示位移入下一位四、程序設(shè)計流程程序流程圖如圖主程序 DS18B20復(fù)位子程序開頭初始化、設(shè)置常量開頭初始化、設(shè)置常量DS18B20初始化子程序讀取轉(zhuǎn)換溫度值調(diào)數(shù)據(jù)處理子程序生成顯示碼顯示溫度值DQ1DQ0573微秒DQ1短延時,等待DS18B20回應(yīng)NDQ=0?YFLAG1置1FLAG1置0延時DQ1返回讀溫度值子程序 寫DS18B20命令子程序DQDQ1DS18B20復(fù)位NFLAG1=1Y0CCHROM匹配44H750微秒以上DS18B20初始化跳過ROM匹配0BEH調(diào)用讀數(shù)據(jù)子程序返回R2=8進(jìn)位標(biāo)志位C清零DQ0短延時ACC1位C值寫入DQ短延時DQ1N8位YDQ1返回讀溫度值子程序 數(shù)據(jù)處理子程序進(jìn)位標(biāo)志位C0為DQ供給一個低脈沖將DQ值讀入CACC1位N8位Y將ACC中的值存入@R1R1=R1-1讀完2字節(jié)NY返回C清零符號位SIGN清零將轉(zhuǎn)換數(shù)據(jù)高字節(jié)最高位移入CC=1NYC清零將轉(zhuǎn)換數(shù)據(jù)低字節(jié)1轉(zhuǎn)換數(shù)據(jù)高字節(jié)加進(jìn)位C分別整數(shù)與小數(shù),整數(shù)存入INTEG,小數(shù)存入返回附錄一 程序DQBITP3.6FLAG1BIT00HSIGNBIT01HMSBEQU30H;轉(zhuǎn)換數(shù)據(jù)高位字節(jié)LSBEQU31H;轉(zhuǎn)換數(shù)據(jù)低位字節(jié)INTEGEQU32H;轉(zhuǎn)換數(shù)據(jù)整數(shù)局部DECIMEQU33H;轉(zhuǎn)換數(shù)據(jù)小數(shù)局部SEG_SEQU34HSEG_I3EQU35HSEG_I2EQU36HSEG_I1EQU37H;3SEG_D1EQU38H;1SEG_CEQU39HSEG_I6EQU40HSEG_I5EQU41HSEG_I4EQU42H;******************************************************;主程序;******************************************************ORG 0000HMAIN: LCALLINIT_1820LCALLGET_TEMPERLCALLDATA_PROCLCALLSEG_GENLCALLDISPLAYSJMPMAIN

;DS18B20;讀取轉(zhuǎn)換數(shù)據(jù);數(shù)據(jù)處理;生成顯示碼;數(shù)碼顯示;****************************************************************;DS18B20;****************************************************************INIT_1820: SETB DQNOPCLR DQ 秒的復(fù)位低脈沖MOV R1,#3TSR1:TSR2:TSR3:TSR4:TSR5:

MOV R0,#107DJNZ R0,$DJNZ SETB DQNOPNOPNOPMOV R0,#25HJNB DJNZ R0,TSR2LJMP TSR4SETB FLAG1LJMP TSR5CLR FLAG1LJMP TSR6MOV R0,#117DJNZ R0,$

;拉高數(shù)據(jù)線DS18B20;延時并檢測應(yīng)答信號DS1820DS1820;時序要求延時一段時間TSR6: SETB RET;*****************************************************************;讀出轉(zhuǎn)換后的溫度值;*****************************************************************GET_TEMPER: SETB DQLCALLJB

INIT_1820FLAG1,TSS2

DS18B20RETTSS2: MOV

DS1820ROMLCALL MOV A,#44H

;發(fā)出溫度轉(zhuǎn)換命令LCALLLCALL

WRITE_1820DELAY AD,12750LCALL

INIT_1820

MOV A,#0CCH ROMLCALL WRITE_1820MOV A,#0BEH ;發(fā)出讀溫度命令LCALLLCALLRET

WRITE_1820READ_18200 35H/36H;*****************************************************************DS18B20;*****************************************************************WRITE_1820:MOV CLR C

8WR1:

CLR DQMOV DJNZ R3,$RRC AMOV DQ,CMOV DJNZ R3,$SETB DQNOPDJNZ SETB DQRET;****************************************************************;讀DS18B20DS18B20;****************************************************************READ_18200:MOV R4,#2MOV R1,#31H

DS18B2031H,30HRE00:RE01:

MOV CLR C

8SETBDQSETBDQNOPNOPCLRDQNOPNOPNOPSETBDQMOVR3,#9DJNZR3,RE10MOVC,DQMOVR3,#23DJNZR3,$RRCADJNZR2,RE01MOV@R1,ADECR1DJNZR4,RE00RET;***********************************************************SIGN,0,1INTEG(32H)DECIM(33H)中;***********************************************************DATA_PROC:CLR CCLR MOV A,MSBRLC ANEG:PROC:

JC NEGLJMPPROCCLR CSETBSIGNMOV CPL AADD A,#1MOV LSB,AMOV CPL AADDCA,#0MOV MSB,AMOV A,LSBANL MOV DECIM,AMOV A,MSBSWAPAANL

;對負(fù)數(shù)取補(bǔ)碼;分別轉(zhuǎn)換值的整數(shù)和小數(shù)局部;存儲小數(shù)局部MOVINTEG,AMOVA,LSBSWAPAANLA,#0FHMOVR0,INTEGORLA,R0MOVINTEG,A ;存儲整數(shù)局部RET;***************************************************************;生成顯示碼子程序SEG_SSEG_I3SEG_I1SEG_D1SEG_D4;***************************************************************SEG_GEN: MOV DPTR,#TABLEJB SIGN,S_NEGS_NEG:

MOV SJMPS_INTMOV SEG_S,#40HS_INT: MOV A,INTEGMOV DIV ABMOVCA,@A+DPTRMOV SEG_I3,A ;百位數(shù)段碼SWITCH:

MOV A,BMOV B,#10DIV MOVCA,@A+DPTRMOV MOV A,BMOVCA,@A+DPTRORL A,#80HMOV SEG_I1,AMOV MOV A,DECIMMOV B,DECIMADD A,BJMP AJMPK0

;十位數(shù)段碼;加小數(shù)點(diǎn);個位數(shù)段碼;依據(jù)小數(shù)值查表,求段碼AJMPK1AJMPK2AJMPK3AJMPK4AJMPK5AJMPK6AJMPK7AJMPK8AJMPK9AJMPK10AJMPK11AJMPK12AJMPK13AJMPK14AJMPK15K0:MOVSEG_D1,#3FHAJMPRETURNK1:MOVSEG_D1,#06HAJMPRETURNK2:MOVSEG_D1,#06HAJMPRETURNK3:MOVSEG_D1,#5BHAJMPRETURNK4:MOVSEG_D1,#4FHAJMPRETURNK5:MOVSEG_D1,#4FHAJMPRETURNK6:MOVSEG_D1,#66HAJMPRETURNK7:MOVSEG_D1,#66HAJMPRETURNK8: MOV AJMPRETURNK9: MOV AJMPRETURNK10:

MOV AJMPRETURNK11: MOV AJMPRETURNK12:

MOV AJMPRETURNK13: MOV AJMPRETURNK14:

MOV AJMPRETURNK15: MOV SEG_D1,#6FHAJMPRETURNRETURN: MOV SEG_C,#39H ;符號“C“的段碼MOVDPTR,#TABLEMOV A,#25MOV DIV ABMOVCA,@A+DPTRMOV SEG_I6,A ;百位數(shù)段碼MOV A,BMOV B,#10DIV MOVCA,@A+DPTRMOV MOV A,BMOVCA,@A+DPTRMOV RET

;十位數(shù)段碼;******

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論