數(shù)字溫度計(jì)的設(shè)計(jì)與仿真_第1頁
數(shù)字溫度計(jì)的設(shè)計(jì)與仿真_第2頁
數(shù)字溫度計(jì)的設(shè)計(jì)與仿真_第3頁
數(shù)字溫度計(jì)的設(shè)計(jì)與仿真_第4頁
數(shù)字溫度計(jì)的設(shè)計(jì)與仿真_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)原理與應(yīng)用設(shè)計(jì)課程綜述設(shè)計(jì)項(xiàng)目數(shù)字溫度計(jì)任課教師班級(jí)姓名學(xué)號(hào)日期基于AT89C51的數(shù)字溫度計(jì)設(shè)計(jì)與仿真摘 要:隨著科學(xué)技術(shù)的不斷發(fā)展,溫度的檢測(cè)、控制應(yīng)用于許多行業(yè),數(shù)字溫度計(jì)就是其中一例,它的反應(yīng)速度快、操作簡(jiǎn)單,對(duì)環(huán)境要求不高,因此得到廣泛的 應(yīng)用。傳統(tǒng)的溫度測(cè)量大多使用熱敏電阻,但熱敏電阻的可靠性差,測(cè)量溫度準(zhǔn)確率 低,而且必須經(jīng)過專門的接口電路將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)才能由單片機(jī)進(jìn)行處理。本課題采用單片機(jī)作為主控芯片,利用DS18B20來實(shí)現(xiàn)測(cè)溫,用LCD液晶顯示器來實(shí)現(xiàn)溫度顯示。溫度測(cè)量范圍為0119 C,精確度O.C??梢允謩?dòng)設(shè)置溫度上下限報(bào)警值,當(dāng)溫度超出所設(shè)報(bào)警值時(shí)將發(fā)

2、出報(bào)警鳴叫聲,并顯示溫度值,該溫度計(jì)適用于人們 的日常生活和工、農(nóng)業(yè)生產(chǎn)領(lǐng)域。關(guān)鍵詞: 數(shù)字溫度計(jì);DS18B20 ; AT89C51 ;LCD1602、緒論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ù),單片機(jī)已經(jīng)在測(cè)控領(lǐng)域中獲得了廣泛的應(yīng)用。1.2課題的目的及意義數(shù)字溫度計(jì)

3、與傳統(tǒng)溫度計(jì)相比,具有結(jié)構(gòu)簡(jiǎn)單、可靠性高、成本低、測(cè)量范圍廣、體積小、功耗低、顯示直觀等特點(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è)備就不能正常工作。因此,溫度的測(cè)量和控制是非 常重要的。1.3該論

4、文研究的內(nèi)容通過對(duì)目前各種溫度傳感器的分析與研究,對(duì)溫度傳感器做出合理選擇,并根 據(jù)實(shí)際需要選擇合適的主芯片和顯示器,達(dá)到優(yōu)化整體結(jié)構(gòu),提高溫度檢測(cè)精度, 同時(shí)使系統(tǒng)具有測(cè)溫范圍廣、體積小、功耗低、精度高、顯示直觀等優(yōu)點(diǎn),并保證 系統(tǒng)結(jié)構(gòu)簡(jiǎn)潔。本課題的研究重點(diǎn)將放在元器件介紹、硬件電路和程序設(shè)計(jì)這三個(gè)方面。總之,本課題研究出一套簡(jiǎn)潔實(shí)用、精確穩(wěn)定、使用直觀的便攜式數(shù)字溫度計(jì)。2.1方案1 :使用電阻元件由于本設(shè)計(jì)是測(cè)溫電路,可以使用熱敏電阻之類的器件,利用其感溫效應(yīng)將被測(cè)溫度變化的電壓或電流采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測(cè)溫度顯示出來,這種設(shè)

5、計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。2.2方案2 :使用數(shù)字溫度傳感器在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器3,所以這是非常容易想到的,所以 可以采用一只溫度傳感器 DS18B20,此傳感器可以很容易直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。方案二,電路比較實(shí)用,軟件設(shè)計(jì)也比較簡(jiǎn)單,故采用了方案二。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半

6、導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,是一線式數(shù)字式溫度計(jì)芯片,體積更小、適用電壓更寬、更經(jīng)濟(jì)。它 具有結(jié)構(gòu)簡(jiǎn)單,不需外接元件等特點(diǎn)。與傳統(tǒng)的熱敏電阻測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過簡(jiǎn)單的編程實(shí)現(xiàn)912位的數(shù)字值,使系統(tǒng)設(shè)計(jì)更靈活、方便。1. DS18B20的性能特點(diǎn)如下獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;無須外部器件;可通過數(shù)據(jù)線供電,電壓范圍為 3.05.5V ;零待機(jī)功耗;溫度用9或12位數(shù)字;用戶可定義報(bào)警設(shè)置;報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件;負(fù)電壓特性,電源

7、極性接反時(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所示。laazD17 3圖2.2DS18B20外形圖引腳定義:(1)DQ為數(shù)字信號(hào)輸入/輸出端;GND為電源地;(3)VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)其內(nèi)部結(jié)構(gòu)框圖如圖2.3所示:存儲(chǔ)器和控制腿ft溫庫傳感器£位POM 線接口高速薯高溫觸發(fā)器A圖2.3DS18B20內(nèi)部結(jié)構(gòu)64位ROM的結(jié)構(gòu)開始8位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一

8、的序號(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è)非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖2.3所 示。頭2個(gè)字節(jié)包含測(cè)得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的, 每次上電復(fù)位時(shí)被刷新。第 5個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖2.4所示。低5位一直為1

9、,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式,DS18B20出廠時(shí)該位被設(shè)置為0,用戶要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率。溫度 LSB溫度 MSBTH用戶字節(jié)TL用戶字節(jié)配置寄存器保留 保留Tm|ri|ro| 1 I 保留 I 1CRC圖2.4DS18B20字節(jié)定義DS18B20溫度轉(zhuǎn)換的時(shí)間比較長(zhǎng),而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長(zhǎng)。因此,在實(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ù)的正確性。當(dāng)DS18B20接收

10、到溫度轉(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.0625 °C/LSB形式表示5。當(dāng)符號(hào)位S = 0時(shí),表示測(cè)得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位S=1時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十 進(jìn)制數(shù)值。表2.1是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。DS18B20的測(cè)溫原理是這這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器 1 ;高溫度系數(shù)晶振隨溫度變

11、化其振蕩頻率明顯改變,所產(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)而完成溫度測(cè)量。減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(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ù)值就是所 測(cè)溫度值。其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器值大致被測(cè)溫度值。另外,由于DS18

12、B20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì) DS18B20的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初使化DS18B20 (發(fā)復(fù)位脈沖)-發(fā) ROM功能命令-發(fā)存儲(chǔ)器操作命令-處理數(shù)據(jù)溫度/C二進(jìn)制表示十六進(jìn)制表示+1250000 0111110107D0H0000+850000 010101010550H0000+25.06250000 000110010191H0000+ 10.1250000 0000101000A2H0001+0.50000 000000000008H001000000 000000000000H1000表2.1一部分溫度對(duì)應(yīng)值表2.3.2

13、1602LCD 模塊顯示特性4單5V電源電壓,低功耗、長(zhǎng)壽命、高可靠性內(nèi)置192種字符(160個(gè)5 X7點(diǎn)陣字符和32個(gè)5 X10點(diǎn)陣字符)具有64個(gè)字節(jié)的自定義字符RAM,可定義8個(gè)5 X8點(diǎn)陣字符或四個(gè)5X11點(diǎn)陣字符顯示方式:STN、半透、正顯驅(qū)動(dòng)方式:1/16DUTY , 1/5BIAS視角方向:背光方式:底部LED通訊方式:4位或8位并口可選標(biāo)準(zhǔn)的接口特性,適配 MC51和M6800系列MPU的操作時(shí)序1. 1602LCD模塊接口定義S 洼3- c-j n-i u-k ta r-_ 亠 dm QjQQlS 口 jl|e| yJ也卜Jew I2.2所示。圖2.5 1602LCD 引腳外

14、形圖1602LCD采用標(biāo)準(zhǔn)的14腳(無背光)接口,各引腳接口說明如表表2.21602LCD接口定義表管腳定義符號(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)寫模塊操作,指向指令寄存器; 當(dāng)MPU進(jìn)行讀模塊操作,指向地址計(jì)數(shù)器;RS=1,無論MPU讀操作還是寫操作,均指向數(shù)據(jù)寄 存器5R/W讀寫控制輸入端,輸入 MPU選擇讀/寫模塊操作操作信號(hào):R/W = 0 讀操作;R/W = 1 寫操作6E使能信號(hào)輸入端,輸入MPU讀/寫模塊操作使能信號(hào):讀操作時(shí),高電平有效;寫操

15、作時(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數(shù)據(jù)輸入/輸出口,MPU與模塊之間的數(shù)據(jù)傳送通道13DB6數(shù)據(jù)輸入/輸出口,MPU與模塊之間的數(shù)據(jù)傳送通道14DB7數(shù)據(jù)輸入/輸出口,MPU與模塊之間的數(shù)據(jù)傳送通道2.1602LCD液晶模塊內(nèi)部的控制器共有11條控制指令,如表2.3所示。表2.3控制命令表序指令F)FDDDDDDDD號(hào)S/

16、W765432101清顯示0000000002光標(biāo)返回000000001*3置輸入模式00000001/DS4顯示開/關(guān)控制0000001DC B5光標(biāo)或字符移位000001/CS/LR*6置功能00001LDNF*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址0FB計(jì)數(shù)器地址10寫數(shù)到CGRAM或DDRAM )*要寫的數(shù)據(jù)內(nèi)容011從CGRAM或01讀出的數(shù)據(jù)內(nèi)容DDRAM讀數(shù)1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說明:1為高電平、0為低電平)、硬件電路設(shè)計(jì)3.1電路原理圖本溫度計(jì)大體分三個(gè)工作過程

17、。首先,由DS18B20溫度傳感器芯片測(cè)量當(dāng)前溫 度,并將結(jié)果送入單片機(jī)。然后,通過 AT89C51單片機(jī)芯片對(duì)送入的測(cè)量溫度讀數(shù)進(jìn)行計(jì)算和轉(zhuǎn)換,并將此結(jié)果送入液晶顯示模塊。 最后,LCD 1602模塊將送來的值顯示于顯示屏上。從圖中可以看到,本電路主要由DS18B20溫度傳感器芯片、通用LCD 1602液晶顯示模塊和AT89C51單片機(jī)芯片組成。其中,DS18B20溫度傳感器芯片采用“本系線制”與單片機(jī)相連9,它獨(dú)立地完成溫度測(cè)量并將結(jié)果送到單片機(jī)進(jìn)行處理。統(tǒng)測(cè)溫范圍為0119 C,精度達(dá)0.1 Eo3.2 LCD1602顯示器與單片機(jī)的接口電路由于液晶顯示數(shù)字溫度使用方便、功耗低、顯示直觀

18、、壽命長(zhǎng)且便于實(shí)現(xiàn)小型化設(shè)計(jì),另外該模塊顯示字符數(shù)量比以前的七段數(shù)碼管LED( Light Emitting Diode ) 顯示器要多得多。因此選用通用 1602LCD顯示模塊10 oPDQADD PDTXD1 卩3X8 PE NA 舊PD.;AD4 PDSADS P 口日H旳PC他皿壬 Its:B df T py Is-3;rrT FTPE陽P3A1DP3iA11Z1sn n * W W r-LCD1 HI店 1/NnVi.1J !二 卜g nr mQ 倶?biāo)?二 二 血 二F 9尸- 54 L -4圖3.2LCD1602與單片機(jī)接口電路3.3 DS18B20溫度傳感器與單片機(jī)的接口電路本設(shè)

19、計(jì)中DS18B20溫度傳感器與單片機(jī)接口電路采用外接電源供電方式,此時(shí)DS18B20的1腳接地,2腳作為信號(hào)線,3腳接電源。如圖3.3所示。四、軟件設(shè)計(jì)圖4.1 主程序流程圖本設(shè)計(jì)使用硬件描述語言Keil C51進(jìn)行設(shè)計(jì)開發(fā),采用uVision2的綜合軟件設(shè)計(jì)程序12。主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示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) 換

20、命令子程序流程圖如圖4.3所示4.3計(jì)算溫度子程序計(jì)算溫度子程序從RAM4.4所示。圖4.3溫度轉(zhuǎn)換流程圖中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,其程序流程圖如圖結(jié)束圖4.4計(jì)算溫度流程圖4.4顯示數(shù)據(jù)刷新子程序顯示數(shù)據(jù)刷新子程序主要是對(duì)顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高4.5所示。顯示位為0時(shí)將符號(hào)顯示位移入下一位。程序流程圖如圖Y0?溫馬輸掃移入顯示禹商asY百位?VO帚示十何折H尋示百忖猜11曰晁示于宦輸a病喬小費(fèi)付iE11規(guī)士結(jié)束圖4.5顯示數(shù)據(jù)刷新流程圖4.5電路仿真MALIF5Tir2EXrcrFS£h mJ:監(jiān)I期 P泅Q pr.iiAM Pus PliJAlS 陀加q

21、 p rm詁FTiCfiCj PZlilMiKT fl 畫2R即TFADD f5nt1 FUflA115 垂117E uiIk尊 %; L. 3F試H底.1fPIkf J蘭嚨晉-"-竺円H円訊n円!£訊jhuziwe-ndu: i3&.0j1 U 山-勺匚 Wm <AkWCr a弔 4>55s Cu.4440®品 0B * » I t toll «|SE代沁 rvi :仙門 pr審斗M PC WK11. (/*. PQ WE>ThCCPP1心E 2 FD1j6»rm:PBEfACh-e0 5人鄧唧MU QTI

22、NiiiNn TTN即P珀F:屮口滬逼總園 L _ X自鱉曲亦圈f話:B防廬P本課題電路運(yùn)用Proteus進(jìn)行仿真,畫好電路圖,單擊 Play按鈕,進(jìn)入仿真狀態(tài),出現(xiàn)如圖所示仿真圖。五、總結(jié)在設(shè)計(jì)過程中,主要介紹了數(shù)字溫度計(jì)的設(shè)計(jì)過程,主要從元器件開始談起,介紹了兩個(gè)主要器件溫度傳感器 DS18B20以及LCD1602顯示屏,這兩個(gè)元器件在生活和工業(yè)生產(chǎn)中得到了廣泛的應(yīng)用。然后從硬件和軟件兩個(gè)方面來介紹,硬件電路主要介紹DS18B20與單片機(jī)的接口電路,顯示屏LCD1602與單片機(jī)的接口電路。軟件方面,主要闡述了程序流程圖,溫度子程序流程圖,溫度轉(zhuǎn)換命令流程,溫度計(jì)算子程序流程以及數(shù)據(jù)刷新子程

23、序流程圖。設(shè)計(jì)的具體功能也在仿真結(jié)果中得到現(xiàn)實(shí)的體現(xiàn)。通過這次畢業(yè)設(shè)計(jì)也使我對(duì)單片機(jī)技術(shù)有了更進(jìn)一步的了解,實(shí)際操作和課本上的知識(shí)有很大的聯(lián)系,一個(gè)看似很簡(jiǎn)單的電路,要?jiǎng)邮肿龀鰜砭捅容^困難了,因?yàn)槭窃O(shè)計(jì)讓我們?cè)谝院蟮膶W(xué)習(xí)中要注意這點(diǎn),要把課本上所學(xué)的知識(shí)跟實(shí)際聯(lián)系起來。有好多的東西,只有我們?nèi)ピ囍隽?,才能真正的掌握,只學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握,同時(shí)本次電路的設(shè)計(jì)鞏固了所學(xué)知識(shí),增強(qiáng)了學(xué)習(xí)的興趣,為以后從事電子電路設(shè)計(jì)、研制電子產(chǎn)品方面的工作奠定了一定的基礎(chǔ)六、程序#in elude "18B20.h"void delayms( un sig ned in

24、t m)un sig ned int x,y;for(x=m;x>0;x-)for(y=110;y>0;y-);void ds_reset() /18B20 復(fù)位un sig ned int i=100;ds=0;while(i>0) i-;ds=1;i=4;while(i>0) i-;bit temp _read_bit()/讀1位數(shù)據(jù)un sig ned int i;bit dat;ds=0,i+;ds=1,i+,i+;dat=ds;i=8;while(i>0)i-;/讀1字節(jié)數(shù)據(jù)return dat;un sig ned char temp _read()u

25、n sig ned char i,j,dat;dat=0;for(i=1;i<=8;i+)j=temp_read_bit();dat=(j<<7)|(dat>>1);/寫1字節(jié)數(shù)據(jù)return dat;void temp_wnte_byte( un sig ned char dat)un sig ned int i;un sig ned char j;bit b;for(j=1;jv=8;j+)b=dat&0x01;dat=dat>>1;if(b)ds=0;i+,i+;ds=1;i=8;while(i>0)i-;elseds=0;i=8;

26、while(i>0)i-;ds=1;i+,i+;un sig ned int get_te mp()un sig ned char a,b;un sig ned int temp;float ftemp;ds_reset();delayms(1);temp_write_byte(Oxcc);temp_write_byte(0x44);II溫度轉(zhuǎn)換命令ds_reset();delayms(1);temp_write_byte(Oxcc);temp_write_byte(Oxbe);II讀RAM中的溫度數(shù)據(jù)a=temp_read();b=temp_read();temp=b;temp=tem

27、pvv8;temp=tem p|a;ftemp=te mp *0.0625;tem p=ftemp *100+0.5;return temp;#in elude "18B20.h" #defi ne uchar un sig ned char#defi ne uintun sig ned int/這三個(gè)引腳參考資料 uint wen du=0;sbit E=P 3八2;/1602使能引腳sbit RW=P 3八1;/1602讀寫引腳sbit RS=P3A0;/1602數(shù)據(jù)/命令選擇引腳/* * 名稱:DelayO*功能:延時(shí),延時(shí)時(shí)間為10ms * del。這是通過軟件延時(shí)

28、,有一定誤差。*輸入:del *輸出:無*void Delay( uint del)uint i,j;for(i=0; i<del; i+)for(j=0; jv1827; j+)/這個(gè)是通過軟件仿真得出的數(shù)*名稱:delay()功能:延時(shí),延時(shí)時(shí)間大概為140US 。輸入:無輸出:無*void delay()int i,j;for(i=0; i<=100; i+)for(j=0; j<=20; j+)/* 名稱:enable(uchar del) *功能:1602命令函數(shù) *輸入:輸入的命令值 *輸出:無 */ void en able(uchar del)P0 = del

29、;RS = 0;RW = 0;E = 0;delayO;E = 1;delayO;/* * 名稱:write(uchar del) *功能:1602寫數(shù)據(jù)函數(shù) *輸入:需要寫入1602的數(shù)據(jù) *輸出:無 */void write(uchar del)PO = del;RS = 1;RW = 0;E = 0;delayO;E = 1;delayO;/* * 名稱:L1602_init()*功能:1602初始化,請(qǐng)參考1602的資料 *輸入:無 *輸出:無 */ void L1602_i ni t(void)en able(0x01);en able(0x38);en able(0x0c);en able(0x

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論