




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于AT89C51的數(shù)字溫度計(jì)設(shè)計(jì)與仿真摘 要隨著科學(xué)技術(shù)的不斷發(fā)展,溫度的檢測、控制應(yīng)用于許多行業(yè),數(shù)字溫度計(jì)就是其中一例,它的反應(yīng)速度快、操作簡單,對(duì)環(huán)境要求不高,因此得到廣泛的應(yīng)用。傳統(tǒng)的溫度測量大多使用熱敏電阻,但熱敏電阻的可靠性差,測量溫度準(zhǔn)確率低,而且必須經(jīng)過專門的接口電路將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)才能由單片機(jī)進(jìn)行處理。本課題采用單片機(jī)作為主控芯片,利用DS18B20來實(shí)現(xiàn)測溫,用LCD液晶顯示器來實(shí)現(xiàn)溫度顯示。溫度測量范圍為0119,精確度0.1??梢允謩?dòng)設(shè)置溫度上下限報(bào)警值,當(dāng)溫度超出所設(shè)報(bào)警值時(shí)將發(fā)出報(bào)警鳴叫聲,并顯示溫度值,該溫度計(jì)適用于人們的日常生活和工、農(nóng)業(yè)生產(chǎn)領(lǐng)域。關(guān)鍵
2、詞:數(shù)字溫度計(jì);DS18B20;AT89C51;LCD1602Digital Thermometers Design and Simulation Based on AT89C51Deng Lian Wei(Zhangjiajie College of Jishou University,Zhangjiajie,Hunan 427000)AbstractWith the continuous development of science and technology, the temperature detection and control used in many industries,
3、the digital thermometer is a case in which the reaction speed, simple operation, less demanding on the environment, it is widely used.Most of the traditional use of thermistor temperature measurement, but poor reliability of thermistors to measure temperature, low accuracy, and must go through a spe
4、cial interface circuit converts the analog signal to digital signal processing by the microcontroller. The subject of using SCM as the main chip, the use of DS18B20 to achieve temperature, with the LCD liquid crystal display to achieve the temperature display.Temperature measurement range is 0 119 ,
5、 accuracy of 0.1 . You can manually set the alarm value upper and lower temperature, when the temperature exceeds the set alarm when the alarm calls, and display temperature, the thermometer for people's daily lives and industrial and agricultural production areas.Keywords: Digital Thermometer;
6、DS18B20; AT89C51; LCD1602目 錄第一章 緒 論11.1 前言11.2 課題的目的及意義11.3 該論文研究的內(nèi)容1第二章 設(shè)計(jì)方案22.1 方案1:使用電阻元件22.2 方案2:使用溫度傳感器22.3 方案2的總體設(shè)計(jì)框圖22.3.1 溫度傳感器22.3.2 1602LCD顯示模塊6第三章 硬件電路設(shè)計(jì)103.1 電路原理圖103.2 LCD1602顯示器與單片機(jī)的接口電路103.2.1 查看溫度報(bào)警值113.2.2 報(bào)警狀態(tài)顯示113.3 DS18B20溫度傳感器與單片機(jī)的接口電路113.3.1 檢測DS18B20狀態(tài)123.4 按鍵與單片機(jī)的接口電路123.4.1
7、設(shè)定溫度報(bào)警值13第四章 軟件設(shè)計(jì)144.1 讀出溫度子程序154.2 溫度轉(zhuǎn)換子程序154.3 計(jì)算溫度子程序164.4 顯示數(shù)據(jù)刷新子程序164.5 電路仿真174.6 結(jié)果分析20總 結(jié)21參考文獻(xiàn)22附 件23第一章 緒 論1.1 前言 隨著人們生活水平的不斷提高,單片機(jī)控制無疑是人們追求的目標(biāo)之一,它給人們帶來的方便也是不可否定的,其中數(shù)字溫度計(jì)就是一個(gè)典型的例子,但人們對(duì)它的要求也越來越高,要為現(xiàn)代人工作、科研、生活提供更好的更方便的設(shè)施就需要從單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作,科研等各個(gè)領(lǐng)域,已經(jīng)成為一種非常成熟的技術(shù)。1
8、.2 課題的目的及意義數(shù)字溫度計(jì)與傳統(tǒng)溫度計(jì)相比,具有結(jié)構(gòu)簡單、可靠性高、成本低、測量范圍廣、體積小、功耗低、顯示直觀等特點(diǎn)。該設(shè)計(jì)使用AT89C51,DS18B20以及通用液晶顯示屏1602LCD等。通過本次設(shè)計(jì)能夠更加了解數(shù)字溫度計(jì)工作原理和熟悉單片機(jī)的發(fā)展與應(yīng)用,鞏固所學(xué)的知識(shí),為以后工作與學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。數(shù)字溫度計(jì)主要運(yùn)用在工業(yè)生產(chǎn)和實(shí)驗(yàn)研究中,如電力、化工、機(jī)械制造、糧食存儲(chǔ)等領(lǐng)域。溫度是表征其對(duì)象和過程狀態(tài)的重要參數(shù)之一。比如:發(fā)電廠鍋爐溫度必須控制在一定的范圍之內(nèi),許多化學(xué)反應(yīng)必須在適當(dāng)?shù)臏囟认虏拍苓M(jìn)行。沒有合適的溫度環(huán)境,許多電子設(shè)備就不能正常工作。因此,溫度的測量和控制是
9、非常重要的。1.3 該論文研究的內(nèi)容通過對(duì)目前各種溫度傳感器的分析與研究,對(duì)溫度傳感器做出合理選擇,并根據(jù)實(shí)際需要選擇合適的主芯片和顯示器,達(dá)到優(yōu)化整體結(jié)構(gòu),提高溫度檢測精度,同時(shí)使系統(tǒng)具有測溫范圍廣、體積小、功耗低、精度高、顯示直觀等優(yōu)點(diǎn),并保證系統(tǒng)結(jié)構(gòu)簡潔。本課題的研究重點(diǎn)將放在元器件介紹、硬件電路和程序設(shè)計(jì)這三個(gè)方面。通過研究,將設(shè)計(jì)出一款簡潔實(shí)用、精確穩(wěn)定、使用直觀的便攜式數(shù)字溫度計(jì)。第二章 設(shè)計(jì)方案2.1 方案1:使用電阻元件由于本設(shè)計(jì)是測溫電路,可以使用熱敏電阻之類的器件,利用其感溫效應(yīng)將被測溫度變化的電壓或電流采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上
10、,可以將被測溫度顯示出來,這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較復(fù)雜,成本高。2.2 方案2:使用數(shù)字溫度傳感器在單片機(jī)電路設(shè)計(jì)中,大多使用數(shù)字溫度傳感器3,本課題中使用一只溫度傳感器DS18B20,此傳感器可以很容易直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。方案二電路比較實(shí)用,軟件設(shè)計(jì)也比較簡單,故采用了方案二。2.3 方案2的總體設(shè)計(jì)框圖溫度計(jì)電路設(shè)計(jì)總體方框圖如圖2.1所示,控制器采用單片機(jī)AT89C51,溫度傳感器采用DS18B20,用LCD液晶顯示屏以串口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示8。圖2.1 總體設(shè)計(jì)框圖2.3.1 溫度傳感器DS18B20溫度傳感器是美國DALLAS半導(dǎo)體
11、公司最新推出的一種改進(jìn)型智能溫度傳感器,是一線式數(shù)字式溫度計(jì)芯片,體積更小、適用電壓更寬、更經(jīng)濟(jì)。它具有結(jié)構(gòu)簡單,不需外接元件等特點(diǎn)。與傳統(tǒng)的熱敏電阻測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過簡單的編程獲得912位的數(shù)字值,使系統(tǒng)設(shè)計(jì)更靈活、方便。1. DS18B20的性能特點(diǎn)如下6l 獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;l 多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;l 無須外部器件;l 可通過數(shù)據(jù)線供電,電壓范圍為3.05.5V;l 零待機(jī)功耗;l 溫度用9或12位數(shù)字;l 用戶可定義報(bào)警設(shè)置;l 報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)
12、的器件;l 負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。2. DS18B20的外形和內(nèi)部結(jié)構(gòu)DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列如圖2.2所示。圖2.2 DS18B20外形圖引腳定義: (1) DQ為數(shù)字信號(hào)輸入/輸出端; (2) GND為電源地; (3) VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。其內(nèi)部結(jié)構(gòu)框圖如圖2.3所示:圖2.3 DS18B20內(nèi)部
13、結(jié)構(gòu)64位ROM的結(jié)構(gòu)開始8位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后8位是前面56位的CRC檢驗(yàn)碼11,這也是多個(gè)DS18B20可以采用一線進(jìn)行通信的原因。溫度報(bào)警觸發(fā)器TH和TL,可通過軟件寫入用戶報(bào)警上下限。DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EEROM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖2.4所示。頭2個(gè)字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第5個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精
14、度的溫度數(shù)值。該字節(jié)各位的定義如圖2.4所示。低5位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測試模式,DS18B20出廠時(shí)該位被設(shè)置為0,用戶要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率。溫度 LSB溫度 MSBTH用戶字節(jié)1TL用戶字節(jié)2配置寄存器保留保留保留CRC 圖2.4 DS18B20字節(jié)定義DS18B20溫度轉(zhuǎn)換的時(shí)間比較長,而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。高速暫存RAM的第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1。第9字節(jié)讀出前面所有8字節(jié)的CRC碼,可用來檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的
15、正確性。當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第1、2字節(jié)。單片機(jī)可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以0.0625LSB形式表示5。當(dāng)符號(hào)位S0時(shí),表示測得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位S1時(shí),表示測得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。表2.1是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。DS18B20完成溫度轉(zhuǎn)換后,就把測得的溫度值與RAM中的TH、TL字節(jié)內(nèi)容作比較。若TTH或TTL,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并對(duì)主機(jī)發(fā)出的報(bào)警搜索
16、命令作出響應(yīng)。因此,可用多只DS18B20同時(shí)測量溫度并進(jìn)行報(bào)警搜索。在64位ROM的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余檢驗(yàn)碼(CRC)。主機(jī)ROM的前56位來計(jì)算CRC值,并和存入DS18B20的CRC值作比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。DS18B20的測溫原理是這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入。器件中還有一個(gè)計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測量。減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的
17、脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器計(jì)數(shù)到0時(shí),停止溫度寄存器的累加,此時(shí)溫度寄存器中的數(shù)值就是所測溫度值。其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器值達(dá)到被測溫度值。另外,由于DS18B20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)發(fā)ROM功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)表2.1 一部分溫
18、度對(duì)應(yīng)值表溫度/二進(jìn)制表示十六進(jìn)制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H 2.3.2 1602LCD模塊顯示特性4單5V電源電壓,低功耗、長壽命、高可靠性內(nèi)置192種字符(160個(gè)5×7點(diǎn)陣字符和32個(gè)5×10點(diǎn)陣字符)具有64個(gè)字節(jié)的自定義字符RAM,可定義8個(gè)5
19、15;8點(diǎn)陣字符或四個(gè)5×11點(diǎn)陣字符顯示方式:STN、半透、正顯驅(qū)動(dòng)方式:1/16DUTY,1/5BIAS視角方向:6點(diǎn)背光方式:底部LED通訊方式:4位或8位并口可選標(biāo)準(zhǔn)的接口特性,適配MC51和M6800系列MPU的操作時(shí)序1. 1602LCD模塊引腳定義圖2.5 1602LCD引腳外形圖1602LCD采用標(biāo)準(zhǔn)的14腳(無背光)接口,各引腳功能說明如表2.2所示。表2.2 1602LCD引腳定義表管腳定義符號(hào)功能1Vss電源地(GND)2Vdd電源電壓(5V)3VEELCD驅(qū)動(dòng)電壓(可調(diào))4RS寄存器選擇輸入端,輸入MPU選擇模塊內(nèi)部寄存器類型號(hào);RS=0,當(dāng)MPU行進(jìn)寫模塊操
20、作,指向指令寄存器;當(dāng)MPU進(jìn)行讀模塊操作,指向地址計(jì)數(shù)器;RS=1,無論MPU讀操作還是寫操作,均指向數(shù)據(jù)寄存器5R/W讀寫控制輸入端,輸入MPU選擇讀/寫模塊操作操作信號(hào):R/W0 讀操作;R/W1 寫操作6E使能信號(hào)輸入端,輸入MPU讀/寫模塊操作使能信號(hào):讀操作時(shí),高電平有效;寫操作時(shí),下降沿有效7DB0數(shù)據(jù)輸入/輸出口,MPU與模塊之間的數(shù)據(jù)傳送通道8DB1數(shù)據(jù)輸入/輸出口,MPU與模塊之間的數(shù)據(jù)傳送通道9DB2數(shù)據(jù)輸入/輸出口,MPU與模塊之間的數(shù)據(jù)傳送通道10DB3數(shù)據(jù)輸入/輸出口,MPU與模塊之間的數(shù)據(jù)傳送通道11DB4數(shù)據(jù)輸入/輸出口,MPU與模塊之間的數(shù)據(jù)傳送通道12DB5
21、數(shù)據(jù)輸入/輸出口,MPU與模塊之間的數(shù)據(jù)傳送通道13DB6數(shù)據(jù)輸入/輸出口,MPU與模塊之間的數(shù)據(jù)傳送通道14DB7數(shù)據(jù)輸入/輸出口,MPU與模塊之間的數(shù)據(jù)傳送通道2.1602LCD液晶顯示模塊的控制命令1602LCD液晶模塊內(nèi)部的控制器共有11條控制命令,如表2.3所示表2.3 控制命令表序號(hào)指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L*6置功能00001DLNF*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存
22、貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)到CGRAM或DDRAM)10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的(說明:1為高電平、0為低電平)。指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3: 光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。 指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:
23、控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。指令6:功能設(shè)置命令 DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線 N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9:讀忙信號(hào)和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。初始化程序:SET_LCD: ;對(duì)
24、LCD 做初始化設(shè)置及測試 CLR LCD_EN CALL INIT_LCD ;初始化 LCDINIT_LCD: ;8位I/O控制 LCD 接口初始化 MOV A,#38H ;雙列顯示,字形5*7點(diǎn)陣 CALL WCOM CALL DELAY1DELAY1: ;延時(shí)5ms MOV R6,#25DL2: MOV R7,#100 DJNZ R7,$ DJNZ R6,DL2 RETMOV A,#01H ;清除 LCD 顯示屏第三章 硬件電路設(shè)計(jì)3.1 電路原理圖本溫度計(jì)大體分三個(gè)工作過程。首先,由DS18B20溫度傳感器芯片測量當(dāng)前溫度,并將結(jié)果送入單片機(jī)。然后,通過AT89C51單片機(jī)芯片對(duì)送入的
25、測量溫度讀數(shù)進(jìn)行計(jì)算和轉(zhuǎn)換,并將此結(jié)果送入液晶顯示模塊。最后,LCD 1602模塊將送來的值顯示于顯示屏上。溫度計(jì)的整體電路設(shè)計(jì)原理圖如圖3.1。從圖中可以看到,本電路主要由DS18B20溫度傳感器芯片、通用LCD 1602 液晶顯示模塊和AT89C51單片機(jī)芯片組成。其中,DS18B20溫度傳感器芯片采用“一線制”與單片機(jī)相連9,它獨(dú)立地完成溫度測量并將結(jié)果送到單片機(jī)進(jìn)行處理。本系統(tǒng)測溫范圍為0119,精度達(dá)0.1 。當(dāng)溫度超出所設(shè)上下限溫度報(bào)警值時(shí),系統(tǒng)不但會(huì)顯示當(dāng)時(shí)溫度值,同時(shí)也會(huì)發(fā)出報(bào)警鳴叫聲告知用戶溫度異常,并且可以手動(dòng)設(shè)置上下限溫度報(bào)警值。圖3.1 電路原理圖3.2 LCD1602
26、顯示器與單片機(jī)的接口電路由于液晶顯示數(shù)字溫度使用方便、功耗低、顯示直觀、壽命長且便于實(shí)現(xiàn)小型化設(shè)計(jì),另外該模塊顯示字符數(shù)量比以前的七段數(shù)碼管LED(Light Emitting Diode)顯示器要多得多。因此選用通用1602LCD顯示模塊10。圖3.2 LCD1602與單片機(jī)接口電路3.2.1 查看溫度報(bào)警值查看所設(shè)置的上下報(bào)警值。LCD 1602 此時(shí)顯示:LOOK ALERT CODETH:060.0 TL:09.0 ;顯示上下報(bào)警值,其中TH:060.0 是高位報(bào)警值,TL:09.0 是低位報(bào)警值3.2.2 報(bào)警狀態(tài)顯示(1) 當(dāng)實(shí)際溫度大于 TH 的設(shè)定值時(shí),LCD1602 顯示:D
27、S18B20 OKTEMP: 70.0 > H關(guān)閉繼電器,蜂鳴器響,表示超溫。(2) 當(dāng)實(shí)際溫度小于 TL 的設(shè)定值時(shí),LCD1602 顯示: DS18B20 OKTEMP: 08.0 < L蜂鳴器響,表示低于所設(shè)報(bào)警下限溫度值。3.3 DS18B20溫度傳感器與單片機(jī)的接口電路本設(shè)計(jì)中DS18B20溫度傳感器與單片機(jī)接口電路采用外接電源供電方式,此時(shí)DS18B20的1腳接地,2腳作為信號(hào)線,3腳接電源。如圖3.3所示。單 片 機(jī)DS18B20VDD+5VGND4.7kI/O圖3.3 外接電源方式3.3.1 檢測DS18B20狀態(tài)(1) DS18B20正常時(shí)則顯示: DS18B20
28、 OK TEMP: 25.0 ;顯示實(shí)際溫度(2) DS18B20不正常時(shí)則顯示:DS18B20 ERROR TEMP: - ;顯示這時(shí)要檢查DS18B20是否連接好、接對(duì),否則要更換一個(gè)新的 DS18B20 芯片。3.4 按鍵與單片機(jī)的接口電路此設(shè)計(jì)通過四個(gè)按鍵來查看溫度計(jì)的溫度變化,此四個(gè)按鍵分別定為K1、K2、K3、K4。如圖3.4所示。圖3.4 按鍵接口電路3.4.1 設(shè)定溫度報(bào)警值K1 :進(jìn)入設(shè)定溫度報(bào)警值狀態(tài)。LCD 1602 顯示:RESET ALERT CODETH:060.0 TL:09.0K1 : 設(shè)定值加(UP)、減(DOWN)方式選擇鍵(默認(rèn)為減少)K2 : TH值設(shè)定
29、鍵K3 : TL值設(shè)定鍵K4 : 確定鍵 (退出設(shè)定狀態(tài))K2 或 K3 以減(DOWN)方式設(shè)定,當(dāng)設(shè)定數(shù)值減到“0”時(shí)自動(dòng)轉(zhuǎn)換為加(UP)方式。K2 或 K3 以加(UP)方式設(shè)定,當(dāng)設(shè)定數(shù)值 TH=120.0、TL=100.0 時(shí),設(shè)定數(shù)值均變?yōu)椤?”。K4:確定并退出設(shè)定溫度報(bào)警值狀態(tài)。將設(shè)定的溫度報(bào)警值自動(dòng)存入 DS18B20 的 EEROM 中,可永久保存,每次開機(jī)時(shí)自動(dòng)從 DS18B20 的 EEROM 讀出溫度報(bào)警值。第四章 軟件設(shè)計(jì)初始化 DS18B20存在? 顯示DS18B20 ERROR 發(fā)報(bào)警搜索命顯示溫度 數(shù)據(jù)處理 讀DS18B20 顯示DS18B20 OK DS18
30、B20 溫度超限? 鳴報(bào)警器有鍵按下嗎? 按鍵處理 N N Y Y Y N 圖4.1 主程序流程圖本設(shè)計(jì)使用單片機(jī)C語言編寫程序,使用Keil C51進(jìn)行編譯 12。主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、檢測鳴警信號(hào)和按鍵信號(hào),主程序流程圖如圖4.1所示。4.1 讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的字節(jié),其程序流程圖如圖4.2所示。圖4.2 讀溫度流程圖4.2 溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率時(shí)轉(zhuǎn)換時(shí)間約為750ms,在本程序設(shè)計(jì)中采用1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如圖4.3所示圖4.3 溫度轉(zhuǎn)換流程
31、圖4.3 計(jì)算溫度子程序計(jì)算溫度子程序從RAM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,其程序流程圖如圖4.4所示。圖4.4 計(jì)算溫度流程圖4.4 顯示數(shù)據(jù)刷新子程序顯示數(shù)據(jù)刷新子程序主要是對(duì)顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為0時(shí)將符號(hào)顯示位移入下一位。程序流程圖如圖4.5所示。圖4.5 顯示數(shù)據(jù)刷新流程圖4.5 電路仿真本課題電路運(yùn)用Proteus進(jìn)行仿真2,畫好電路圖,單擊Play按鈕,進(jìn)入仿真狀態(tài),通過調(diào)節(jié)K2、K3按鈕,出現(xiàn)如圖4.6所示仿真圖。圖4.6 設(shè)定上下限溫度值圖4.7 顯示溫度在正常范圍內(nèi)圖4.8 顯示外界溫度小于最低溫度值圖4.9 顯示外界溫度大于最高溫度值4.6
32、結(jié)果分析對(duì)于圖4.6,通過調(diào)節(jié)K2,K3按鈕,可以調(diào)節(jié)控制溫度范圍的上下限,上限溫度TH可調(diào)范圍為0.0119.0,下限溫度TL可調(diào)范圍為0.099.0。在此圖中,上限溫度調(diào)為60.0,下限溫度調(diào)為9.0。對(duì)于圖4.7,所測溫度在控制范圍內(nèi),即9.0<59.0<60.0時(shí),顯示為59.0,蜂鳴器不發(fā)出報(bào)警聲。對(duì)于圖4.8,當(dāng)傳感器采集外界溫度低于所設(shè)定溫度的下限時(shí),即6.0<9.0時(shí),顯示為6.0<L,則蜂鳴器發(fā)出報(bào)警聲。對(duì)于圖4.9,當(dāng)傳感器采集外界溫度高于所設(shè)定溫度的上限時(shí),即70.0>60.0時(shí),顯示為70.0>H,則蜂鳴器發(fā)出報(bào)警聲??傊?,仿真結(jié)果基
33、本能夠符合設(shè)計(jì)要求。總 結(jié)該論文主要介紹了數(shù)字溫度計(jì)的設(shè)計(jì)過程,主要從元器件開始談起,介紹了兩個(gè)主要器件溫度傳感器DS18B20以及LCD1602顯示屏,這兩個(gè)元器件在生活和工業(yè)生產(chǎn)中得到了廣泛的應(yīng)用。然后從硬件和軟件兩個(gè)方面來介紹,硬件電路主要介紹DS18B20與單片機(jī)的接口電路,按鍵接口電路,顯示屏LCD1602與單片機(jī)的接口電路。軟件方面,主要闡述了程序流程圖,溫度子程序流程圖,溫度轉(zhuǎn)換命令流程,溫度計(jì)算子程序流程以及數(shù)據(jù)刷新子程序流程圖。設(shè)計(jì)的具體功能也在仿真結(jié)果中得到現(xiàn)實(shí)的體現(xiàn)。通過這次畢業(yè)設(shè)計(jì)也使我對(duì)單片機(jī)技術(shù)有了更進(jìn)一步的了解,實(shí)際操作和課本上的知識(shí)有很大的聯(lián)系,一個(gè)看似很簡單的
34、電路,要?jiǎng)邮肿龀鰜砭捅容^困難了,因?yàn)槭窃O(shè)計(jì)讓我們在以后的學(xué)習(xí)中要注意這點(diǎn),要把課本上所學(xué)的知識(shí)跟實(shí)際聯(lián)系起來。有好多的東西,只有我們?nèi)ピ囍隽?,才能真正的掌握,只學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握,同時(shí)本次電路的設(shè)計(jì)鞏固了所學(xué)知識(shí),增強(qiáng)了學(xué)習(xí)的興趣,考驗(yàn)了我們借助圖書館、互聯(lián)網(wǎng)搜索、查閱相關(guān)資料,以及綜合能力。從這次的畢業(yè)設(shè)計(jì)中,我真正地意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,學(xué)習(xí)更是如此,這就是我在這次畢業(yè)設(shè)計(jì)中的最大收獲,為以后從事電子電路設(shè)計(jì)、研制電子產(chǎn)品方面的工作奠定了一定的基礎(chǔ)。在設(shè)計(jì)過程中,得到了相關(guān)老師的大力幫助,尤其得到了向繼文老師的精
35、心指導(dǎo),給予了我無微不至的幫助。學(xué)院各位老師的那種誨人不倦,治學(xué)嚴(yán)謹(jǐn)?shù)淖黠L(fēng)給我留下了深刻的印象,在此,對(duì)全體老師表示衷心的感謝!向各位老師致以最崇高的敬意!參考文獻(xiàn)1 張培仁基于C語言編程MCS-51單片機(jī)原理與應(yīng)用M北京:清華大學(xué)出版社,20032 嚴(yán)天峰單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與仿真調(diào)試M北京:北京航空航天大學(xué)出版社,20053 明德剛DS18B20在單片機(jī)溫控系統(tǒng)中的應(yīng)用J貴州大學(xué)學(xué)報(bào),2006年(1):1061104 李建忠單片機(jī)原理及應(yīng)用M 陜西:西安電子科技大學(xué)出版社,2004.15 閻石數(shù)字電子技術(shù)基礎(chǔ)(第四版)M 北京:高等教育出版社,19976 沙占友智能化集成溫度傳感器
36、原理與應(yīng)用 M北京:機(jī)械工業(yè)出版社,20027 周航慈單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)M北京:北京航空航天大學(xué)出版社,20018 何立民MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)M北京:北京航空航天大學(xué)出版社,19959 謝自美電子線路綜合設(shè)計(jì)M 武漢:華中科技大學(xué)出版社, 200610 李朝青單片機(jī)原理及接口技術(shù)(簡明修訂版)M北京:北京航空航天大學(xué)出版社,199811 蔣根深,張明亮,解旭輝,李圣怡基于 DS18B20 的數(shù)字式溫度控制系統(tǒng)M 控制工程,200312 蔣延彪單片機(jī)原理及應(yīng)用M重慶:重慶大學(xué)出版社,2005附 件附件1:完整程序清單 TEMP_ZH DATA 24H ;實(shí)時(shí)溫度值存放單元 TE
37、MPL DATA 25H ; TEMPH DATA 26H ; TEMP_TH DATA 27H ;高溫報(bào)警值存放單元 TEMP_TL DATA 28H ;低溫報(bào)警值存放單元 TEMPHC DATA 29H ; TEMPLC DATA 2AH K1 EQU P1.4 K2 EQU P1.5 K3 EQU P1.6 K4 EQU P1.7 BEEP EQU P3.7 RELAY EQU P1.3 LCD_X EQU 2FH ;LCD 地址變量 LCD_RS EQU P2.0 LCD_RW EQU P2.1 LCD_EN EQU P2.2 flag1 equ 20H.0 ;DS18B20是否存在標(biāo)
38、記 KEY_UD EQU 20H.1 ;設(shè)定 KEY 的UP與DOWN 標(biāo)記 date_line equ p3.3;= ORG 0000H JMP MAINMAIN: MOV SP,#60H MOV A,#00H MOV R0,#20H ;將 20H-2FH 單元清零 MOV R1,#10HCLEAR: MOV R0,A INC R0 DJNZ R1,CLEAR CALL SET_LCD CALL RE_18B20start: CALL RESET ;18B20復(fù)位子程序 JNB FLAG1,START1 ;DS18B20不存在 CALL MENU_OK CALL READ_E2 CALL T
39、EMP_BJ ;顯示溫度標(biāo)記 JMP START2START1: CALL MENU_ERROR CALL TEMP_BJ ;顯示溫度標(biāo)記 JMP $START2: CALL RESET JNB FLAG1,START1 ;DS1820不存在 MOV A,#0CCH ; 跳過ROM匹配 CALL WRITE MOV A,#44H ; 發(fā)出溫度轉(zhuǎn)換命令 CALL WRITE CALL RESET MOV A,#0CCH ; 跳過ROM匹配 CALL WRITE MOV A,#0BEH ; 發(fā)出讀溫度命令 CALL WRITE CALL READ call CONVTEMP Call DISPBC
40、D CALL CONV CALL TEMP_COMP CALL PROC_KEY ; 鍵掃描 SJMPSTART2;-PROC_KEY: JB K1,PROC_K1 ; 按鍵K1處理 CALL BEEP_BL JNB K1,$ MOV DPTR,#M_ALAX1 MOV A,#1 CALL LCD_PRINT CALL LOOK_ALARM JB K3,$ CALL BEEP_BL JMP PROC_K2PROC_K1: ; 按鍵K2處理 JB K2,PROC_END CALL BEEP_BL JNB K2,$ MOV DPTR,#RESET_A1 MOV A,#1 CALL LCD_PRIN
41、T CALL SET_ALARM CALL RE_18B20 ;將設(shè)定的TH,TL值寫入DS18B20內(nèi) CALL WRITE_E2PROC_K2: CALL MENU_OK CALL TEMP_BJPROC_END: RET;=;設(shè)定報(bào)警值 TH、TL;=SET_ALARM: ;CALL RESET_ALARM CALL LOOK_ALARMAS0: JB K1,AS00 CALL BEEP_BL JNB K1,$ CPL 20H.1 ;UP/DOWN 標(biāo)記AS00: JB 20H.1,ASZ01 ;20H.1=1,UP JMP ASJ01 ;20H.1=0,DOWNASZ01: JB K2
42、,ASZ02 ;TH值調(diào)整(增加) CALL BEEP_BL INC TEMP_TH MOV A,TEMP_TH CJNE A,#120,ASZ011 MOV TEMP_TH,#0ASZ011: CALL LOOK_ALARM MOV R5,#10 CALL DELAY JMP ASZ01ASZ02: JB K3,ASZ03 ;TL值調(diào)整(增加) CALL BEEP_BL INC TEMP_TL MOV A,TEMP_TL CJNE A,#99,ASZ021 MOV TEMP_TL,#00HASZ021: CALL LOOK_ALARM ; MOV R5,#10 CALL DELAY JMP ASZ02ASZ03: JB K4,AS0 ;確定調(diào)整 OK CALL BEEP_BL JNB K4,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司珠寶營銷策劃方案
- 國際經(jīng)濟(jì)與貿(mào)易課程考試卷及答案2025年
- 法醫(yī)職稱考試的主要試題及答案
- 2025年薪酬與福利管理師考試試卷及答案
- 2025年醫(yī)師資格考試試題及答案
- 2025年醫(yī)療費(fèi)用控制人員職稱考試試卷及答案
- 2025年文化產(chǎn)業(yè)管理師考試卷及答案
- 2025年文化產(chǎn)業(yè)管理專業(yè)復(fù)習(xí)考試試卷及答案
- 2025年社會(huì)工作者職業(yè)資格考試試題及答案
- 2025年社會(huì)文化研究生入學(xué)考試試卷及答案
- 2025年蘇教版科學(xué)六年級(jí)下冊小升初期末檢測題附答案
- 電力安全事故隱患排查
- 【MOOC】人工智能基礎(chǔ)-科技大學(xué) 中國大學(xué)慕課MOOC答案
- 滁州康華電子材料有限公司(5G 基站)集成線路板相關(guān)材料項(xiàng)目環(huán)境影響報(bào)告書
- 實(shí)驗(yàn)2:基本數(shù)據(jù)類型、運(yùn)算符與表達(dá)式
- 常州建筑水電安裝施工專項(xiàng)方案
- 增強(qiáng)教師職業(yè)認(rèn)同感、榮譽(yù)感、幸福感-課件
- Q∕GDW 12130-2021 敏感用戶接入電網(wǎng)電能質(zhì)量技術(shù)規(guī)范
- 幼兒園大班繪本:《沒有牙齒的大老虎》 PPT課件
- 黑龍江省龍東地區(qū)中考地理真題試題含答案
- 國家開放大學(xué)《管理英語4》章節(jié)測試參考答案
評(píng)論
0/150
提交評(píng)論