基于單片機的溫度傳感器的設(shè)計說明_第1頁
基于單片機的溫度傳感器的設(shè)計說明_第2頁
基于單片機的溫度傳感器的設(shè)計說明_第3頁
基于單片機的溫度傳感器的設(shè)計說明_第4頁
基于單片機的溫度傳感器的設(shè)計說明_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、PAGE21 / NUMPAGES21 基于單片機的溫度傳感器的設(shè)計目 錄 TOC o 1-3 h z u HYPERLINK l _Toc289195323 第一章緒論2 HYPERLINK l _Toc289195324 1.1 課題簡介2 HYPERLINK l _Toc289195325 1.2 設(shè)計目的3 HYPERLINK l _Toc289195326 1.3 設(shè)計任務(wù)3 HYPERLINK l _Toc289195328 第二章設(shè)計容與所用器件4 HYPERLINK l _Toc289195330 第三章硬件系統(tǒng)設(shè)計4 HYPERLINK l _Toc289195331 3.1

2、單片機的選擇4 HYPERLINK l _Toc289195332 3.2溫度傳感器介紹5 HYPERLINK l _Toc289195333 3.3溫度傳感器與單片機的連接8 HYPERLINK l _Toc289195334 3.4單片機與報警電路9 HYPERLINK l _Toc289195335 3.5電源電路10 HYPERLINK l _Toc289195336 3.6顯示電路10 HYPERLINK l _Toc289195336 3.7復(fù)位電路11 HYPERLINK l _Toc289195337 第四章軟件設(shè)計12 HYPERLINK l _Toc289195338 4.

3、1 讀取數(shù)據(jù)流程圖12 HYPERLINK l _Toc289195339 4.2 溫度數(shù)據(jù)處理程序的流程圖13 HYPERLINK l _Toc289195340 4.3程序源代碼14 HYPERLINK l _Toc289195345 總結(jié)21 附錄16第一章 緒論1.1 課題簡介單片機,更確切的應(yīng)稱作微控制器,是20世紀(jì)70年代中期發(fā)展起來的一種面向控制的大規(guī)模集成電路模塊,其特點是功能強大、體積小、可靠性高、價格低廉。它一面世便在工業(yè)控制、數(shù)據(jù)采集、智能化儀表、機電一體化、家用電器等領(lǐng)域得到廣泛應(yīng)用,極提高了這些領(lǐng)域的技術(shù)水平和自動化程度。因此,單片機的開發(fā)、應(yīng)用已成為高科技和工程領(lǐng)域

4、的一項重大課題。隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標(biāo)之一,它給人帶來的方便也是無可置疑的,其中數(shù)字溫度計就是一個典型的例子。隨著人們對它的要求越來越高,要為現(xiàn)代人工作和生活提供更好、更方便的設(shè)施就需要從數(shù)字單片機技術(shù)入手,一切向著數(shù)字化控制、智能化控制方向發(fā)展。溫度測量在物理實驗、醫(yī)療衛(wèi)生、食品生產(chǎn)等領(lǐng)域,尤其在熱學(xué)實驗(如:物體的比熱容、汽化熱、熱功當(dāng)量、壓強溫度系數(shù)等教學(xué)實驗)中,有特別重要的意義。目前溫度計的發(fā)展很快,從原始的玻璃管溫度計發(fā)展到了現(xiàn)在的熱電阻溫度計、熱電偶溫度計、數(shù)字溫度計、電子溫度計等等?,F(xiàn)在所使用的溫度計通常都是精度為1和0.1的水銀、煤油或酒精

5、溫度計,這些溫度計的刻度間隔通常都很密,不容易準(zhǔn)確分辨,讀數(shù)困難,而且他們的熱容量還比較大,達(dá)到熱平衡所需的時間較長,因此很難讀準(zhǔn),并且使用非常不方便。本文所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便、測溫圍廣、測溫準(zhǔn)確等優(yōu)點,其輸出溫度采用數(shù)字顯示,主要供測溫要求準(zhǔn)確的場所和科研實驗室使用。該設(shè)計控制器使用單片機AT89C51,溫度傳感器DS18B20,用4位共陽極LED數(shù)碼管以串口傳送數(shù)據(jù),實現(xiàn)溫度顯示,能準(zhǔn)確達(dá)到以上要求。1.2 設(shè)計目的熟悉單片機AT89C51和傳感器DS18B20的應(yīng)用,與單片機與外圍電路的接法,加深對單片機以與傳感器的認(rèn)識,了解單片機在日常生活中的應(yīng)用與其重要

6、性。同時,通過查找資料,設(shè)計電路,使本次設(shè)計的數(shù)字溫度計具有結(jié)構(gòu)簡單、成本低廉、精確度高、反應(yīng)速度快、數(shù)字化顯示和不易損壞等特點。在這次設(shè)計中,熟悉了制作一個產(chǎn)品的基本流程。通過選認(rèn)元件,連線,等過程,鍛煉自己的學(xué)習(xí)能力。1.3 設(shè)計任務(wù)1、以AT89C51單片機為核心器件,組成一個數(shù)字式溫度計。2、采用數(shù)字式溫度計傳感器為檢測器件,進行單點溫度檢測,檢測精度為0.5C。3、溫度顯示采用4位LED數(shù)碼管顯示,兩位整數(shù),一位小數(shù)。4、具有鍵盤輸入上、下限功能,超過上、下限溫度時,進行聲音報警。第二章 設(shè)計容與所用器件基本功能:利用89C51作為主控器組成一個數(shù)字溫度計??蛇x器件:AT89C51單

7、片機、DB18B20、7段LED數(shù)碼管等AT89C51單片機復(fù)位報警模塊DB18B20溫度數(shù)據(jù)采集LED顯示時鐘振蕩系統(tǒng)原理圖第三章硬件系統(tǒng)設(shè)計硬件系統(tǒng)是指構(gòu)成微機系統(tǒng)的實體和裝置,通常由運算器、控制器、存儲器、輸入接口電路和輸入設(shè)備、輸出接口電路和輸出設(shè)備等組成。單片機實質(zhì)上是一個硬件的芯片,在實際應(yīng)用中,通常很難直接和被控對象進行電氣連接,必須外加各種擴展接口電路、外部設(shè)備、被控對象等硬件和軟件,才能構(gòu)成一個單片機應(yīng)用系統(tǒng)。本設(shè)計選用以AT89C51單片機為主控單元,DB18B20為數(shù)據(jù)采集模塊,顯示部分采用7段LED動態(tài)顯示,警報部分采用蜂鳴器。3.1 單片機的選擇AT89C51AT89

8、C51單片機的主要特性:1、與MCS-51 兼容,4K字節(jié)可編程閃爍存儲器;2、靈活的在線系統(tǒng)編程,掉電標(biāo)識和快速編程特性;3、壽命為1000次寫/擦周期,數(shù)據(jù)保留時間可10年以上;4、全靜態(tài)工作模式:0Hz-33Hz;5、三級程序存儲器鎖定;6、128*8位部RAM,32可編程I/O線;7、兩個16位定時器/計數(shù)器,6個中斷源;8、全雙工串行UART通道,低功耗的閑置和掉電模式;9、片振蕩器和時鐘電路;芯片共有40個引腳,其中,電源引腳2根,外接晶體振蕩器引腳2根,控制引腳4根以與4組8位可編程I/O引腳32根。3.2 溫度傳感器介紹DS18B20可以程序設(shè)定9-12的分辨率,精度為0.5C

9、??蛇x更小的封裝方式,更寬的電壓適用圍。分辨率設(shè)定,與用戶設(shè)定的報警溫度存儲在EPROM中,掉電后依然保存。溫度傳感器DS18B20引腳如圖所示引腳功能說明: NC :空引腳,懸空不使用; VDD :可選電源腳,電源電壓圍35.5V。當(dāng)工作于寄生電源時,此引腳必須接地。 DQ :數(shù)據(jù)輸入/輸出腳。漏極開路,常態(tài)下高電平。 GND :為電源地DS18B20部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。64位ROM的結(jié)構(gòu)開始8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前面56位的CRC檢驗碼,這也是多個DS18B20

10、可以采用一線進行通信的原因。溫度報警觸發(fā)器TH和TL,可通過軟件寫入戶報警上下限。當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第1、2字節(jié)。單片機可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時低位在先,高位在后,數(shù)據(jù)格式以0.0625LSB形式表示。DS18B20完成溫度轉(zhuǎn)換后,就把測得的溫度值與RAM中的TH、TL字節(jié)容作比較。若TH或TTL,則將該器件的報警標(biāo)志位置位,并對主機發(fā)出的報警搜索命令作出響應(yīng)。因此,可用多只DS18B20同時測量溫度并進行報警搜索。DS18B20的測溫原理是這樣的,器件中低溫度系數(shù)晶振的振

11、蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入。器件中還有一個計數(shù)門,當(dāng)計數(shù)門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進行計數(shù)進而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將55所對應(yīng)的一個基數(shù)分別置入減法計數(shù)器、溫度寄存器中,計數(shù)器1和溫度寄存器被預(yù)置在55所對應(yīng)的一個基數(shù)值。減法計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當(dāng)減法計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,減法計數(shù)器1的預(yù)置將重新被裝入,減法計數(shù)器1重新開始對低溫度

12、系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到減法計數(shù)器計數(shù)到0時,停止溫度寄存器的累加,此時溫度寄存器中的數(shù)值就是所測溫度值。其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)器門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器值大致被測溫度值。另外,由于DS18B20單線通信功能是分時完成的,它有嚴(yán)格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作按協(xié)議進行。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)發(fā)ROM功能命令發(fā)存儲器操作命令處理數(shù)據(jù)。 源供電方式在外部電源供電方式下,DS18B20工作電源由VCC引腳接入,此時I/O線不需要強上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度,同時在總

13、線上理論可以掛接任意多個DS18B20傳感器,組成多點測溫系統(tǒng)。注意:在外部供電的方式下,DS18B20的GND引腳不能懸空,否則不能轉(zhuǎn)換溫度,讀取的溫度總是85。部電源供電方式是DS18B20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強,而且電路也比較簡單。本次數(shù)字溫度計的設(shè)計采用的就是外部電源供電方式。3.3 溫度傳感器與單片機的連接溫度傳感器的單總線(1-Wire)與單片機的P20連接,P20是單片機的高位地址線A8。P2端口是一個帶部上拉電阻的8位雙向IO,其輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對該端口寫“1”,可通過部上拉電阻將其端口拉至高電平,此時可作為輸入口使用

14、,這是因為部存在上拉電阻,某一引腳被外部信號拉低時會輸出一個電流。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器時。如執(zhí)行MOVX DPTR指令,則表示P2端口送出高8位的地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器時,可執(zhí)行MOVX RI指令,P2端口容即為特殊功能寄存器(SFR)區(qū)中R2寄存器容,整個訪問期間不改變。在Flash編程和程序校驗時,P2端口也接收高位地址和其他控制信號。下圖為DSl8B20部結(jié)構(gòu)。下圖為DSl8B20與單片機的接口電路。3.4 單片機與報警電路 系統(tǒng)中的報警電路是由發(fā)光二極管和限流電阻組成,并與單片機的P1.2端口連接。P1端口的作用和接法與P2端口一樣,不同的

15、是在Flash編程和程序校驗期間,P1接收低8位地址數(shù)據(jù)。3.5 電源電路由于該系統(tǒng)需要穩(wěn)定的5 V電源,因此設(shè)計時必須采用能滿足電壓、電流和穩(wěn)定性要求的電源。該電源采用三端集成穩(wěn)壓器LM7805。它僅有輸入端、輸出端與公共端3個引腳,其部設(shè)有過流保護、過熱保護與調(diào)整管安全保護電路由于所需外接元件少,使用方便、可靠,因此可作為穩(wěn)壓電源。下圖為電源電路連接圖。3.6 顯示電路采用技術(shù)成熟的74HCl64實現(xiàn)串并轉(zhuǎn)換。LED顯示分為靜態(tài)顯示和動態(tài)顯示。這里采用靜態(tài)顯示,系統(tǒng)通過單片機的串行口來實現(xiàn)靜態(tài)顯示。串行口為方式零狀態(tài),即工作在移位寄存器方式,波特率為振蕩頻率的1/12。當(dāng)器件執(zhí)行任何一條將

16、SBUF作為目的寄存器的命令時,數(shù)據(jù)便開始從RXD端發(fā)送。在寫信號有效時,相隔一個機器周期后發(fā)送控制端SEND有效,即允許RXD發(fā)送數(shù)據(jù),同時允許從TXD端輸出移位脈沖。下圖為顯示電路的連接圖。3.7復(fù)位電路單片機的P1.6端口是MAX813復(fù)位電路中復(fù)位信號的輸入端,即單片機每執(zhí)行一次程序就設(shè)置一次復(fù)位信號,清零復(fù)位器件。若程序出現(xiàn)異常,單片機引腳RST將出現(xiàn)兩個機器周期以上的高電平,使其復(fù)位。該復(fù)位信號高電平有效,其有效時間應(yīng)持續(xù)24個振蕩脈沖周期即兩個機器周期以上。若使用頻率為12 MHz的晶體振蕩器,則復(fù)位信號持續(xù)時間應(yīng)超過2s才完成復(fù)位操作。連接圖如下圖所示。第四章 軟件設(shè)計DSl8

17、820的主要數(shù)據(jù)元件有:64位激光Lasered ROM,溫度靈敏元件和非易失性溫度告警觸發(fā)器TH和TL。DSBl820可以從單總線獲取電源,當(dāng)信號線為高電平時,將能量貯存在部電容器中;當(dāng)單信號線為低電平時,將該電源斷開,直到信號線變?yōu)楦唠娖街匦陆由霞纳?電容)電源為止。此外,還可外接5 V電源,給DSl8820供電。DSl8820的供電方式靈活,利用外接電源還可增加系統(tǒng)的穩(wěn)定性和可靠性。讀取數(shù)據(jù)流程圖如下:讀出溫度數(shù)據(jù)后,LOW的低四位為溫度的小數(shù)部分,可以精確到0.0625,LOW的高四位和HIGH的低四位為溫度的整數(shù)部分,HIGH的高四位全部為1表示負(fù)數(shù),全為0表示正數(shù)。所以先將數(shù)據(jù)提取

18、出來,分為三個部分:小數(shù)部分、整數(shù)部分和符號部分。小數(shù)部分進行四舍五入處理:大于0.5的話,向個位進1;小于0.5的時候,舍去不要。當(dāng)數(shù)據(jù)是個負(fù)數(shù)的時候,顯示之前要進行數(shù)據(jù)轉(zhuǎn)換,將其整數(shù)部分取反加一。還因為DS18B20最低溫度只能為-55,所以可以將整數(shù)部分的最高位換成一個“-”,表示為負(fù)數(shù)。圖為溫度數(shù)據(jù)處理程序的流程圖如下所示:程序源代碼DATA_BUSBITP3.3FLAGBIT00H;標(biāo)志位TEMP_LEQU 30H;溫度值低字節(jié)TEMP_HEQU31H;溫度值高字節(jié)TEMP_DPEQU32H;溫度小數(shù)TEMP_INTEQU33H;溫度值整數(shù)TEMP_BAIEQU34H;溫度百位數(shù)TE

19、MP_SHIEQU35H;溫度十位數(shù)TEMP_GEEQU36H;溫度個位數(shù)DIS_BAIEQU37H;顯示百位數(shù)DIS_SHIEQU38H;顯示十位數(shù)DIS_GEEQU39H;顯示個位數(shù)DIS_DPEQU3AH;顯示小數(shù)位DIS_ADDEQU3BH;顯示地址ORG 0000H AJMPSTARTORG 0050H;初始化START:MOVSP,#40HMAIN:LCALLREAD_TEMP;調(diào)讀溫度程序LCALLPROCESS;調(diào)數(shù)據(jù)處理程序AJMPMAIN;讀溫度程序READ_TEMP:LCALLRESET_PULSE ;調(diào)用復(fù)位脈沖程序MOV A,#0CCH;跳過ROM命令LCALL WR

20、ITEMOVA,#44H;讀溫度LCALL WRITELCALLDISPLAY;顯示溫度LCALLRESET_PULSE;調(diào)用復(fù)位脈沖程序MOVA,#0CCH;跳過ROM命令LCALLWRITEMOVA,#0BEH;讀緩存命令LCALL WRITELCALLREADRET;復(fù)位脈沖程序RESET_PULSE:RESET:SETBDATA_BUSNOPNOPCLRDATA_BUSMOVR7,#255DJNZR7,$SETB DATA_BUSMOVR7,#30DJNZR7,$JNB DATA_BUS,SETB_FLAGCLRFLAGAJMPNEXTSETB_FLAG:SETB FLAGNEXT:M

21、OV R7,#120DJNZR7,$SETB DATA_BUSJNBFLAG,RESET RET;寫命令WRITE:SETBDATA_BUSMOVR6,#8CLRCWRITING:CLRDATA_BUSMOVR7,#5DJNZR7,$RRCAMOVDATA_BUS, CMOVR7,#30HDJNZR7,$SETBDATA_BUSNOPDJNZR6,WRITINGRET;循環(huán)顯示段位DISPLAY:MOV R4,#200DIS_LOOP:MOVA,DIS_DPMOVP2,#0FFHMOVP0,ACLRP2.7LCALLDELAY2MSMOVA,DIS_GEMOVP2,#0FFHMOVP0,ASE

22、TBP0.7CLRP2.6LCALLDELAY2MSMOVA,DIS_SHIMOVP2,#0FFHMOVP0,ACLRP2.5LCALLDELAY2MSMOVA,DIS_BAIMOVP2,#0FFHMOVP0,AMOVA,TEMP_BAICJNEA,#0,SKIPAJMPNEXTTSKIP:CLRP2.4LCALLDELAY2MSNEXTT:NOPDJNZR4,DIS_LOOPRET;讀命令READ:SETBDATA_BUSMOVR0,#TEMP_LMOV R6,#8MOVR5,#2CLRCREADING:CLRDATA_BUSNOPNOPSETBDATA_BUSNOPNOPNOPNOPMOV

23、C,DATA_BUSRRCAMOVR7,#30HDJNZR7,$SETBDATA_BUSDJNZR6,READINGMOVR0,AINC R0MOVR6,#8SETBDATA_BUSDJNZR5,READINGRET;數(shù)據(jù)處理PROCESS:MOV R7,TEMP_LMOVA,#0FHANLA,R7MOVTEMP_DP,AMOV R7,TEMP_LMOVA,#0F0HANLA,R7SWAPAMOVTEMP_L,AMOVR7,TEMP_HMOVA,#0FHANLA,R7SWAPAORLA,TEMP_LMOV B,#64HDIVABMOVTEMP_BAI,AMOVA,#0AHXCHA,BDIVABMOVTEMP_SHI,AMOVTEMP_GE,BMOVA,TEMP_DPMOV DPTR,#TABLE_DPMOVCA,A+DPTRMOVDPTR,#TABLE_INTERMOVC A

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論