溫度計(jì)畢業(yè)設(shè)計(jì)論文_第1頁
溫度計(jì)畢業(yè)設(shè)計(jì)論文_第2頁
溫度計(jì)畢業(yè)設(shè)計(jì)論文_第3頁
溫度計(jì)畢業(yè)設(shè)計(jì)論文_第4頁
溫度計(jì)畢業(yè)設(shè)計(jì)論文_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

摘要20世紀(jì)末,隨著計(jì)算機(jī)科學(xué)的發(fā)展,計(jì)算機(jī)已深入地滲透到我們的生活中,要想學(xué)好溫度測(cè)控,只有扎扎實(shí)實(shí)的把單片機(jī)知識(shí)學(xué)好,因?yàn)闇囟葴y(cè)控是基于單片機(jī)知識(shí)的。今天,我們的生活環(huán)境和工作環(huán)境有越來越多稱之為單片機(jī)的小電腦在為我們服務(wù),單片機(jī)在工業(yè)控制,尖端武器,通信設(shè)備,信息處理,家用電器等各測(cè),控領(lǐng)域的應(yīng)用中獨(dú)占鰲頭。時(shí)下,家用電器和辦公設(shè)備的智能化,遙控化,模糊控制化已成為世界潮流,而這些高性能無一不是靠單片機(jī)來實(shí)現(xiàn)的,同時(shí)在使用單片機(jī)的前提下我們也還要用到A/D數(shù)模轉(zhuǎn)換。我們作為21世紀(jì)的大學(xué)生必須具備單片機(jī)知識(shí)?,F(xiàn)在隨著社會(huì)對(duì)人才素質(zhì)要求的不斷提高,我們也要不斷的充實(shí)自己,以適應(yīng)社會(huì)的發(fā)展。關(guān)鍵詞:?jiǎn)纹瑱C(jī)

DS18B20

傳感器Abstract20century'sends,along

with

thecomputersciencedevelopment,

the

computerthoroughly

seeped

to

inourslife,

mustwant

tolearn

the

temperature

observationandcontrol,

only

then

issolid

learns

the

monolithic

integratedcircuit

knowledge,

becausethe

temperature

observationandcontrolisbasedonhe

monolithic

integrated

circuitknowledge.

Today,ourliving

conditions

and

theworkingconditions

have

moreand

morecalled

it

in

serves

the第1頁共36頁2monolithic

integrated

circuit

smallcomputer

forus,

themonolithic

integrated

circuit

in

the

industrycontrol,

thestate-of-art

weapon,

thecommunicationfacility,

theinformation

processing,

thedomestic

electric

appliances

andsoonmeasured

respectively,

controls

thedomain

in

theapplication

to

lead

hefield.

Present,domestic

electricappliances

andoffice

equipment

intellectualization,

remotecontrol,

the

fuzzycontrolhasbecome

thetrends

in

theworld,

butthese

high

performancesdo

nothaveonearenotdependon,

atthesame

time

in

uses

themonolithicintegrated

circuit

which

the

monolithic

integrated

circuitrealizes

underthepremise

we

alsoto

have

to

usetoA/D

digital-analog

conversion.

Wetook21stcentury

theuniversity

studentmusthave

themonolithic

integrated

circuitknowledge.

Nowalong

with

thesociety

to

thetalentedpersonquality

request

unceasing

enhancement,

wealso

wantsunceasingly

to

enrich

oneself,

byadaptssociety'sdevelopment.Keyword:MCU

DS18B20

sensor第2頁共36頁3目錄前言............................................4功能說明.......................................5一總體設(shè)計(jì)方案..................................6二電路原理圖...................................7三MCS-51系列單片機(jī)簡(jiǎn)介..........................8四溫度傳感器DS1820簡(jiǎn)介.........................18五軟件編程......................................24致謝............................................34心得體會(huì).........................................35參考文獻(xiàn).........................................36第3頁共36頁4前言隨著人們生活水平的不斷提高,單片機(jī)控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的,。溫度測(cè)控技術(shù)也在各個(gè)領(lǐng)域應(yīng)用越來越廣泛,同時(shí)溫度測(cè)量也被人們所異常關(guān)注,一時(shí)間涌現(xiàn)出大量各式各樣的測(cè)試溫度儀器,這些儀器的原理到底是怎樣的呢?說到底也是屬于溫度測(cè)控的范疇,其中數(shù)字溫度計(jì)就是一個(gè)典型的例子,但人們對(duì)它的要求越來越高,要為現(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)室使用,測(cè)溫傳感器使用DS18B20,用3位共陽極LED數(shù)碼管以串口傳送數(shù)據(jù),實(shí)現(xiàn)溫度顯示,能準(zhǔn)確達(dá)到以上要求。第4頁共36頁5功能說明(1)將AD590作為室溫度傳感器,當(dāng)溫度變化時(shí),AD590會(huì)產(chǎn)生電流的變化,經(jīng)OPA1將電流轉(zhuǎn)換為電壓,由OPA2作為零為調(diào)整,最后由OPA3反相放大10倍。(2)ADCO804輸出最大轉(zhuǎn)換值=FFH(255)。OPA3為放大10倍時(shí)。則本電路最大測(cè)量溫度為;最大顯示溫度為5.1/10V=0.51V,即51°C(10為放大倍數(shù))。255X=51,知X=0.2,即先乘2再除10。FF→255→255ⅹ2→510,R4=0.5R3=10。即D4=0,D3=5,D2=1,D1=0,本電路顯示器只取D3、D2兩位數(shù)。(3)按下P2.1按鈕,放開后立即進(jìn)入溫度設(shè)定模式,顯示設(shè)定最高溫度為34°C(建立在TABLE內(nèi))每按一次設(shè)定溫度將減少1°C,直至最低溫度20°C,再按一次回到34°C。(4)當(dāng)室溫高于設(shè)定溫度,壓縮機(jī)(P3.0)運(yùn)轉(zhuǎn),使室溫降低,當(dāng)室溫低于設(shè)定值時(shí),壓縮機(jī)停止運(yùn)行。(5)當(dāng)進(jìn)入設(shè)定溫度模式,如末按下設(shè)定按鈕(P2.1)經(jīng)數(shù)秒后自動(dòng)解除設(shè)定模式,回到室溫顯示模式。(6)本程序以計(jì)時(shí)中斷,每50ms中斷一次,比較室溫一次,而令壓縮機(jī)運(yùn)轉(zhuǎn)和停止。第5頁共36頁6一總體設(shè)計(jì)方案1.1數(shù)字溫度計(jì)設(shè)計(jì)方案論證考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。1.2方案的總體設(shè)計(jì)框圖溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)方框圖如圖1所示,控制器采用單片機(jī)AT89S51,溫度傳感器采用DS18B20,用3位LED數(shù)碼管以串口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示。單片機(jī)復(fù)位主

顯示報(bào)警點(diǎn)按鍵調(diào)

控整

時(shí)鐘振蕩

制器

溫度傳感器圖1總體設(shè)計(jì)方框圖第6頁共36頁LEDLED7二電路原理圖第7頁共36頁8三

MCS-51系列單片機(jī)簡(jiǎn)介MCS-51系列單片機(jī)研制于1980年,由Intel公司所開發(fā),其結(jié)構(gòu)是8048的延伸,改進(jìn)了8048的缺點(diǎn),其ROM、RAM都可擴(kuò)充至64KB,也增添了如乘(MUL)、除(DIV)、減(SUBB)、比較(CJNE)、棧入(PUSH)、棧出(POP)、16位數(shù)據(jù)指針、布爾代數(shù)運(yùn)算等指令,以及串行通信能力和5個(gè)中斷源。8052有6個(gè)中斷源,MCS-51系列單片機(jī)存儲(chǔ)器容量如表(二-1)所示。MCS-51系列單片機(jī)特點(diǎn)如下:1、專為控制應(yīng)用所設(shè)計(jì)的八位CPU2、具有布爾代數(shù)的運(yùn)算能力3、32條雙項(xiàng)且可被獨(dú)立尋址的I/O口4、芯片內(nèi)有128字節(jié)可供存儲(chǔ)數(shù)據(jù)的RAM(8052:256字節(jié))5、內(nèi)部有兩組16位定時(shí)器(8052有3個(gè))6、具有全多工傳輸信號(hào)UART7、5個(gè)中斷源,且具有兩級(jí)(高/低)優(yōu)先權(quán)順序的中斷結(jié)構(gòu)8、芯片內(nèi)有4KB(8KB/8052)的程序存儲(chǔ)器(ROM)9、芯片內(nèi)有時(shí)鐘(CLOCK)振蕩器電路10、程序存儲(chǔ)器可擴(kuò)展至64KB(ROM)11、數(shù)據(jù)存儲(chǔ)器可擴(kuò)展至64KB(RAM)第8頁共36頁9表(二-1)MCS-51系列單片機(jī)ROM及RAM容量(字節(jié))型號(hào)ROMRAMEPROM

803101280

80514K1280

875101284K

803202560

80528K2560

875202568K12、8051/52:工廠燒寫型,內(nèi)含ROM13、P8751:一次燒寫型,內(nèi)含PROM14、8751/8751:可重復(fù)燒寫型,內(nèi)含EPROM15、87C51/87C52:省電型(低消耗功率)1、時(shí)鐘電路引腳MCS-51單片機(jī)的時(shí)鐘可以由內(nèi)部方式和外部方式產(chǎn)生,XTAL1(19腳)和XTAL2(18腳)即為單片機(jī)的兩個(gè)時(shí)鐘引腳。(1)內(nèi)時(shí)鐘引腳8051單片機(jī)片內(nèi)有振蕩電路,只需在XTAL1和XTAL2間外接石英晶體和電容組成的并聯(lián)振蕩電路(晶振器),晶體可以在固有頻率1.2~12MHz的晶振器之間任選晶體,電容可以在20~60pF的電容之間任選,通常選擇30pF的瓷片電容。在單片機(jī)控制的數(shù)字顯示溫度計(jì)電路設(shè)計(jì)的這個(gè)部第9頁共36頁10分,就是采用內(nèi)時(shí)鐘引腳,其中晶振器為6MHz,兩個(gè)電容均為30pF。(2)外時(shí)鐘方式,XTAL1接地,XTAL2接外部振蕩器。由于XTAL2端的電平不是TTL電平,故接一個(gè)上拉電阻。外部振蕩器的頻率應(yīng)低于12MHz。2、控制信號(hào)引腳(1)RST/Vpd(9腳):復(fù)位信號(hào)/備用電源引腳當(dāng)輸入的復(fù)位信號(hào)延續(xù)2個(gè)機(jī)器周期以上,高電平即為有效,用以完成單片機(jī)的復(fù)位操作。復(fù)位后影響片內(nèi)特殊功能寄存器的狀態(tài),但不影響片內(nèi)RAM狀態(tài)。同一引腳的Vpd是備用電源輸入端(Vpd接+5V備用電源)。在Vcc斷電時(shí),為保證RAM中的信息不丟失,可使此引腳完成掉電保護(hù)功能。(2)ALE/PROG非(30腳);地址鎖存允許信號(hào)/編程脈沖輸入端在系統(tǒng)擴(kuò)展時(shí),ALE用于控制把P0口輸出的低8位地址送入鎖存器鎖存起來,以實(shí)現(xiàn)低位地址和數(shù)據(jù)的分時(shí)傳送。此外由于ALE是以1/6晶振頻率的固定頻率輸出的正脈沖,因此可作為外邊時(shí)鐘或外部定時(shí)脈沖使用。對(duì)片內(nèi)帶有4kbyteEPROM的8751編寫固化程序時(shí),PROG非作為編程脈沖輸入端。(3)PSEN非(29引腳):外邊程序存儲(chǔ)器讀選通信號(hào)為低電平有效,8051在訪問片外程序存儲(chǔ)器時(shí),此引腳端輸?shù)?0頁共36頁11出負(fù)脈沖作為讀片外程序存儲(chǔ)器的選通信號(hào),以實(shí)現(xiàn)外部ROM單元的讀操作。要檢查8051上電平后CPU能否正常到程序存儲(chǔ)器中讀取指令碼,可以用示波器觀察引腳PSEN非有無脈沖輸出,若有說明正常。(4)EA非/Vpp(31腳):內(nèi)部和外部程序存儲(chǔ)器選擇信號(hào)當(dāng)引腳接高電平時(shí),CPU只訪問片內(nèi)4kbyte的EPROM/ROM,執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令,但在程序計(jì)數(shù)器計(jì)數(shù)超過0FFF時(shí)(即地址大于4kbyte時(shí)),將自動(dòng)轉(zhuǎn)向執(zhí)行片外大于4kbyte程序存儲(chǔ)器內(nèi)的程序。若EA非引腳接低電平時(shí),CPU只訪問外部程序存儲(chǔ)器,而不管片內(nèi)是否有程序存儲(chǔ)器。對(duì)于8031單片機(jī)(片內(nèi)無ROM)需外擴(kuò)EPROM,故必須將EA非引腳接地。在對(duì)EPROM編寫固化程序時(shí),需對(duì)此引腳施加21V的編程電壓。3、I/O(輸入/輸出)接口引腳(1)并行I/O接口的特點(diǎn)MCS-51有4個(gè)8位并行I/O接口P0~P3,他們都是雙向端口,可以進(jìn)行輸入或者輸出操作,每個(gè)口都有口鎖存器和口驅(qū)動(dòng)器兩部分組成。此外,它還有一個(gè)全雙工串行通信口。這4個(gè)端口為MCS-51與外圍器件或外圍設(shè)備進(jìn)行信息(數(shù)據(jù)、地址、控制信號(hào))交換提供了多功能的輸入/輸出通道,也為MCS-51擴(kuò)展外部功能、構(gòu)成應(yīng)用系統(tǒng)第11頁共36頁12提供了必要的條件。它們的特點(diǎn)如下:a、4個(gè)并行I/O接口都是雙向的。P0口為漏極開路,P1、P2、P3口均具有內(nèi)部上拉電阻,它們有時(shí)被稱為準(zhǔn)雙向口。b、4個(gè)并行口的32條I/O接口線都可以獨(dú)立地用于輸入或輸出操作。c、當(dāng)4個(gè)并行口的I/O接口線有作輸入操作時(shí),必須對(duì)該口的鎖存器進(jìn)行寫1操作,以保證從I/O接口線輸入數(shù)據(jù)的正確性,這也是4個(gè)并行接口有時(shí)被稱為“準(zhǔn)”雙向的含義。(2)I/O接口電路功能匯總MCS-51單片機(jī)內(nèi)部屬單總線結(jié)構(gòu),因此使系統(tǒng)在結(jié)構(gòu)上增加了靈活性。通過總線,用戶可根據(jù)應(yīng)用需要進(jìn)行多功能的系統(tǒng)擴(kuò)展,構(gòu)成用戶的實(shí)際應(yīng)用系統(tǒng)。MCS-51系列中的8031單片機(jī),因其內(nèi)部在結(jié)構(gòu)上無程序存儲(chǔ)器,所以它的應(yīng)用系統(tǒng)必定為一個(gè)擴(kuò)展的系統(tǒng)。因此,MCS-51的4個(gè)并行I/O接口中的P0、P2、P3口基本上都具備有這兩項(xiàng)功能。a、P0口:P0口的內(nèi)部一位結(jié)構(gòu)如圖(三—3)所示。P0口是一個(gè)多功能口除可以作為通用的輸入/輸出口外,還具備用于系統(tǒng)擴(kuò)展的第二功能。在MCS-51的進(jìn)行系統(tǒng)擴(kuò)展時(shí),它作為地址/數(shù)據(jù)總線口。通過外接地址鎖存器,MCS-51的內(nèi)部單總線可從P0口被擴(kuò)展成8位的數(shù)據(jù)總線和16位地址總線的低8位。在實(shí)際應(yīng)用中,P0口先送出外部存儲(chǔ)器16位地址中的低8位至地址鎖存器鎖存,然后再由P0口進(jìn)行8位數(shù)據(jù)的輸入或輸出。第12頁共36頁13b、P1口:P1口作為通用I/O接口,它的每一位都可以別編程為通用I/O接口線。c、P2口:P2口也是一個(gè)多功能口,與P0口相似,它除可被用作I/O接口外,在進(jìn)行系統(tǒng)擴(kuò)展時(shí),還可以輸16位地址總線中的高8位,和P0口共同構(gòu)成16位的地址總線。當(dāng)然,在P0口和P2口用作地址/數(shù)據(jù)總線時(shí),它們都不能再作為通用I/O接口。d、P3口:P3口也是一個(gè)多功能口,除可以作為通用I/O接口外,還具有多種控制功能,為通用I/O接口時(shí)和MCS-51其他具有控制功能的輸入/輸出引線在一起,共同形成MCS-51的控制總線。P3口在作為第二功能(控制功能)使用時(shí),它的每一位功能定義如表(三—2)所示Vcc地址/數(shù)據(jù)

控制端C讀鎖存器控制1內(nèi)部總線D鎖QCP存Q寫入脈沖Z2讀引腳控制圖(三—3)

&1P0口內(nèi)部一位結(jié)構(gòu)圖第13頁共36頁

T1T2

P0.i14一個(gè)信號(hào)引腳,既是第一功能又是第二功能,在使用時(shí)也不會(huì)引起混亂和造成錯(cuò)誤,理由如下:a、對(duì)于各種型號(hào)的芯片,其功能的第一功能信號(hào)是相同的,所不同的只在引腳的的第二功能信號(hào)上。b、對(duì)于9、30和31各引腳,由于第一功能信號(hào)與第二功能信號(hào)是單片機(jī)在不同工作方式下的信號(hào),因此不會(huì)發(fā)生使用上的矛盾。c、P3口線的情況卻有所不同,它的第二功能信號(hào)都是單片機(jī)的重要控制信號(hào)。因此在實(shí)際使用時(shí),總是先按需要優(yōu)先選用它的二功能,剩下不用的才作為口線使用。表(三—2)P3口線的第二功能口線P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7

第二功能RXDTXDINT0INT1T0T1WRRD

信號(hào)名稱串行數(shù)據(jù)接收串行數(shù)據(jù)發(fā)送外部中斷0申請(qǐng)外部中斷1申請(qǐng)定時(shí)器/計(jì)數(shù)器0計(jì)數(shù)輸入定時(shí)器/計(jì)數(shù)器1計(jì)數(shù)輸入外部RAM寫選通外部RAM讀選通d、引腳表現(xiàn)出的是單片機(jī)的外特性或硬件特性,在硬件方面用第14頁共36頁15戶只能使用引腳,即通過引腳組建系統(tǒng)。因此熟悉引腳是我們?cè)O(shè)計(jì)數(shù)字顯示溫度計(jì)的重要內(nèi)容。4、MCS-51單片機(jī)的復(fù)位方式和復(fù)位電路(1)復(fù)位操作復(fù)位是單片機(jī)的初始化操作,其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或者操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為擺脫困境,也需按復(fù)位鍵以重新啟動(dòng)。(1)復(fù)位操作還對(duì)單片機(jī)的個(gè)別引腳信號(hào)有影響,例如把ALE和PSEN非信號(hào)變?yōu)闊o效狀態(tài),即ALE=0,PSEN=1。(2)復(fù)位信號(hào)及其產(chǎn)生RST引腳是復(fù)位信號(hào)的輸入端,復(fù)位信號(hào)是高電平有效,其有效時(shí)間持續(xù)24個(gè)振蕩脈沖周期(即2個(gè)機(jī)器周期)以上,若使用頻率為6MHz的晶振,則復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)超過4us才能完成復(fù)位操作。產(chǎn)生復(fù)位信號(hào)的電路邏輯如圖(三—4)所示。RST/VPD

D2

施密特觸發(fā)器

復(fù)位電路D1Vcc片內(nèi)RAMVss第15頁共36頁16圖(三—4)

復(fù)位電路邏輯圖整個(gè)復(fù)位電路包括芯片內(nèi)外兩部分。外部電路產(chǎn)生的復(fù)位信號(hào)(RST)送施密特觸發(fā)器,再由片內(nèi)復(fù)位電路在每個(gè)機(jī)器周期的S5P2時(shí)刻對(duì)施密特觸發(fā)器的輸出進(jìn)行采樣。然后才得到內(nèi)部復(fù)位操作所需要的信號(hào)。(3)復(fù)位方式復(fù)位操作有上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位兩種方式。上電自動(dòng)復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的,在單片機(jī)控制的數(shù)字顯示溫度計(jì)電路設(shè)計(jì)中的單片機(jī)復(fù)位就是這種方式,其中電容C為22uF,電阻R為1k歐姆,其電路圖如圖(三—5a)所示。這樣,只要電源Vcc(+5V)的上升時(shí)間不超過1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位,即接通電源就完成了系統(tǒng)的復(fù)位初始化。按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。其中按鍵電平復(fù)位是通過使復(fù)位端經(jīng)電阻與Vcc電源接通而實(shí)現(xiàn)的,其電路圖如圖(三—5b)所示。而按鍵復(fù)位脈沖復(fù)位則是利用RC微分電路產(chǎn)生的正脈沖來實(shí)現(xiàn)的。上述電路圖中的電阻電容參數(shù)適宜于6MHz晶振,能保證復(fù)位信號(hào)高電平持續(xù)時(shí)間大于2個(gè)機(jī)器周期。第16頁共36頁17Vcc

80C51Vcc

RESET

Vcc

80C51VccR1C

+22μFRST/VPD

200Ω

C+22μF

RST/VPDR

1KΩ

R2

1KΩVss(a)上電復(fù)位

Vss(b)按鍵電平復(fù)位5顯示溫度值的LED顯示器接口介紹LED顯示器是單片機(jī)應(yīng)用系統(tǒng)中常用的廉價(jià)輸出設(shè)備。它是由若干個(gè)發(fā)光二極管組成的,當(dāng)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)一個(gè)筆畫劃發(fā)光,控制某段發(fā)光二極管導(dǎo)通,就能顯示出某個(gè)數(shù)碼或字符,常用八段LED顯示器有兩種結(jié)構(gòu),如圖(四—1)所示。圖(四—1)八段LED顯示器的結(jié)構(gòu)第17頁共36頁18在靜態(tài)顯示系統(tǒng)中,每位顯示器都應(yīng)有各自的鎖存器、譯碼器(若采用軟件譯碼,譯碼器可省去)與驅(qū)動(dòng)器,用以鎖存各自待顯示數(shù)字的BCD碼或字段碼。因此,靜態(tài)顯示系統(tǒng)在每一次顯示輸出后能夠保持顯示不變,僅在待顯示數(shù)字需要改變時(shí),才更新其數(shù)字顯示鎖存器中的內(nèi)容。這種顯示占用CPU的時(shí)間少,顯示穩(wěn)定可靠。缺點(diǎn)是,當(dāng)顯示的位數(shù)較多時(shí),占用的I/O口較多。在動(dòng)態(tài)顯示的系統(tǒng)中,CPU需定時(shí)地對(duì)每位LED顯示器進(jìn)行掃描,每位LED顯示器分時(shí)輪流工作,每次只能使一位LED顯示,但由于人的視覺暫留現(xiàn)象,仍感覺所有的LED顯示器都在同時(shí)顯示。這種顯示的優(yōu)點(diǎn)是使用硬件少,占用I/O口少。缺點(diǎn)是占用CPU時(shí)間長(zhǎng),只要不執(zhí)行顯示程序,就立刻停止顯示。但隨著大規(guī)模集成電路的發(fā)展,目前已有能自動(dòng)對(duì)顯示器進(jìn)行掃描的專用顯示芯片,使電路既簡(jiǎn)單又占用CPU時(shí)間。在我們所設(shè)計(jì)的溫度計(jì)中數(shù)碼管顯示就是利用的動(dòng)態(tài)顯示。四溫度傳感器DS1820介紹(一)DS1820芯片簡(jiǎn)介:在傳統(tǒng)的模擬信號(hào)遠(yuǎn)距離溫度測(cè)量系統(tǒng)中,需要很好的解決引線誤差補(bǔ)償問題、多點(diǎn)測(cè)量切換誤差問題和放大電路零點(diǎn)漂移誤差問題等技術(shù)問題,才能夠達(dá)到較高的測(cè)量精度。我們?cè)跒槟乘娬鹃_發(fā)水輪發(fā)電機(jī)組軸瓦溫度實(shí)時(shí)監(jiān)測(cè)系統(tǒng)時(shí),為了克服上面提到的三個(gè)問題,采用了新型數(shù)字溫度傳感器DS1820,在對(duì)其測(cè)溫原理進(jìn)第18頁共36頁19行詳細(xì)分析的基礎(chǔ)上,提出了提高DS1820測(cè)量精度的方法,使DS1820的測(cè)量精度由0.5℃提高到0.1℃以上,取得了良好的測(cè)溫效果。1.DS1820簡(jiǎn)介DS1820是美國(guó)DALLAS半導(dǎo)體公司生產(chǎn)的可組網(wǎng)數(shù)字式溫度傳感器,在其內(nèi)部使用了在板(ON-B0ARD)專利技術(shù)。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。與其它溫度傳感器相比,DS1820具有以下特性:(1)獨(dú)特的單線接口方式,DS1820在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS1820的雙向通訊。(2)DS1820支持多點(diǎn)組網(wǎng)功能,多個(gè)DS1820可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)多點(diǎn)測(cè)溫。(3)DS1820在使用中不需要任何外圍元件。(4)溫范圍-55℃~+125℃,固有測(cè)溫分辨率0.5℃。(5)測(cè)量結(jié)果以9位數(shù)字量方式串行傳送。第19頁共36頁202.DS1820內(nèi)部結(jié)構(gòu)框圖如圖1所示。DS1820測(cè)溫原理如圖2所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。計(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ù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。圖2中的斜率累加器用于補(bǔ)償和修正測(cè)溫過程中的非線性,其輸出用于修第20頁共36頁21正計(jì)數(shù)器1的預(yù)置值。在正常測(cè)溫情況下,DS1820的測(cè)溫分辯率為0.5℃以9位數(shù)據(jù)格式表示,其中最低有效位(LSB)由比較器進(jìn)行0.25℃比較,當(dāng)計(jì)數(shù)器1中的余值轉(zhuǎn)化成溫度后低于0.25℃時(shí),清除溫度寄存器的最低位(LSB),當(dāng)計(jì)數(shù)器1中的余值轉(zhuǎn)化成溫度后高于0.25℃,置位溫度寄存器的最低位(LSB),如-25.5℃對(duì)應(yīng)的9位數(shù)據(jù)格式如下:3.提高DS1820測(cè)溫精度的途徑(1)DS1820高精度測(cè)溫的理論依據(jù)DS1820正常使用時(shí)的測(cè)溫分辨率為0.5℃,這對(duì)于水輪發(fā)電機(jī)組軸瓦溫度監(jiān)測(cè)來講略顯不足,在對(duì)DS1820測(cè)溫原理詳細(xì)分析的基礎(chǔ)上,我們采取直接讀取DS1820內(nèi)部暫存寄存器的方法,將DS1820的測(cè)溫分辨率提高到0.1℃~0.01℃.第21頁共36頁22DS1820內(nèi)部暫存寄存器的分布如表1所示,其中第7字節(jié)存放的是當(dāng)溫度寄存器停止增值時(shí)計(jì)數(shù)器1的計(jì)數(shù)剩余值,第8字節(jié)存放的是每度所對(duì)應(yīng)的計(jì)數(shù)值,這樣,我們就可以通過下面的方法獲得高分辨率的溫度測(cè)量結(jié)果。首先用DS1820提供的讀暫存寄存器指令(BEH)讀出以0.5℃為分辨率的溫度測(cè)量結(jié)果,然后切去測(cè)量結(jié)果中的最低有效位(LSB),得到所測(cè)實(shí)際溫度整數(shù)部分T整數(shù),然后再用BEH指令讀取計(jì)數(shù)器1的計(jì)數(shù)剩余值M剩余和每度計(jì)數(shù)值M每度,考慮到DS1820測(cè)量溫度的整數(shù)部分以0.25℃、0.75℃為進(jìn)位界限的關(guān)系,實(shí)際溫度T實(shí)際可用下式計(jì)算得到:T實(shí)際=(T整數(shù)-0.25℃)+(M每度-M剩余)/M每度(2)測(cè)量數(shù)據(jù)比較表2為采用直接讀取測(cè)溫結(jié)果方法和采用計(jì)算方法得到的測(cè)溫?cái)?shù)據(jù)比較,通過比較可以看出,計(jì)算方法在DS1820測(cè)溫中不僅是可行的,也可以大大的提高DS1820的測(cè)溫分辨率。第22頁共36頁234.DS1820使用中注意事項(xiàng)DS1820雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問題:(1)較小的硬件開銷需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS1820與微處理器間采用串行數(shù)據(jù)傳送,因此,在對(duì)DS1820進(jìn)行讀寫編程時(shí),必須嚴(yán)格的保證讀寫時(shí)序,否則將無法讀取測(cè)溫結(jié)果。在使用PL/M、C等高級(jí)語言進(jìn)行系統(tǒng)程序設(shè)計(jì)時(shí),對(duì)DS1820操作部分最好采用匯編語言實(shí)現(xiàn)。(2)在DS1820的有關(guān)資料中均未提及單總線上所掛DS1820數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個(gè)DS1820,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線上所掛DS1820超過8個(gè)時(shí),就需要解決微處理器的總線驅(qū)動(dòng)問題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。(3)連接DS1820的總線電纜是有長(zhǎng)度限制的。試驗(yàn)中,當(dāng)采用普通信號(hào)電纜傳輸長(zhǎng)度超過50m時(shí),讀取的測(cè)溫?cái)?shù)據(jù)將發(fā)生錯(cuò)誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時(shí),正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時(shí),正常通訊距離進(jìn)一步加長(zhǎng)。這種情況主要是由總線分布電容使信號(hào)波形產(chǎn)生畸變?cè)斐傻?。因此,在用DS1820進(jìn)行長(zhǎng)距離測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要充分考慮總線分布電容和阻抗匹配問題。第23頁共36頁24(4)在DS1820測(cè)溫程序設(shè)計(jì)中,向DS1820發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS1820的返回信號(hào),一旦某個(gè)DS1820接觸不好或斷線,當(dāng)程序讀該DS1820時(shí),將沒有返回信號(hào),程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS1820硬件連接和軟件設(shè)計(jì)時(shí)也要給予一定的重視。五軟件編程1溫度控制流程圖開始N溫度零下?YN

溫度值取補(bǔ)碼置“—”標(biāo)志計(jì)算小數(shù)位溫度BCD值計(jì)算整數(shù)位溫度BCD值溫度數(shù)據(jù)移入顯示寄存器十位數(shù)0?Y百位數(shù)0?Y十位數(shù)顯示符號(hào)百位數(shù)不顯示

置“+”標(biāo)志N百位數(shù)顯示數(shù)據(jù)(不顯示符號(hào))結(jié)束第24頁共36頁252電路程序;6M晶體89c51temphead

equ

40hdisplay_data1_regdata30hdisplay_data2_regdata31hdisplay_data3_regdata32hdisplay_long_regdata33hled1_bitled2_bitled3_bittime1sok

bitbitbitbit

p3.0p3.1p3.201HTEMPONE0K

BIT

02Hwiredogcs;TIAOSHI_LONG;TIAOSHI_DATA

bitDATA21HDATA22H

p3.7templtemphtemphctemplc

data34hdata35hdata36hdata37htempdinORG

bit0000H

p2.0LJMPSTARTORG

000BHAJMPLEDORG

0030Hstart:

MOV

sp,#60Hmov

tmod,#21Hmovpcon,#00Hmovscon,#01010000bmovth1,#243movtl1,#243MOVMOV

TH0,#0FCHTL0,#18HSETBTR0setbtr1第25頁共36頁26SETBET0mov

display_long_reg,#00hSETBEAMAIN:

CLR

TEMPONE0KMAIN1:

JNBclr

LCALLDLY_1STEMPONE0K,MAIN2eaLCALLREADTEMP1setbeaLCALLCONVTEMPMAIN2:

clr

eaLCALLREADTEMPsetbeasetbTEMPONE0KAJMPMAIN1;****************************************************;

DS1820復(fù)位;****************************************************INITDS1820:NOPNOPCLRMOV

SETBTEMPDINTEMPDINR6,#0A0HDJNZR6,$MOV

R6,#0A0HDJNZR6,$SETBTEMPDINMOV

R6,#32HDJNZR6,$MOV

R6,#3CHLOOP1820:

MOV

C,TEMPDINJCINITDS1820OUTDJNZR6,LOOP1820MOV

R6,#64HDJNZR6,$SJMPINITDS1820RET第26頁共36頁27INITDS1820OUT:

SETBTEMPDINRET;****************************************************;

讀DS1820的數(shù)據(jù);入口條件:數(shù)據(jù)存放在ACC中;****************************************************READDS1820:

MOV

R7,#08HSETBTEMPDINNOPNOPREADDS1820LOOP:

CLR

TEMPDINNOPNOPNOPSETBTEMPDINMOV

R6,#07HDJNZR6,$MOVMOV

C,TEMPDINR6,#3CHDJNZR6,$RRC

ASETBTEMPDINDJNZR7,READDS1820LOOPMOV

R6,#3CHDJNZR6,$RET****************************************************;

寫DS1820的數(shù)據(jù);出口條件:數(shù)據(jù)存放在ACC中;****************************************************WRITEDS1820:

MOV

R7,#08HSETBTEMPDINNOPNOPWRITEDS1820LOP:

CLR

TEMPDINMOV

R6,#07HDJNZR6,$第27頁共36頁28RRCMOVMOV

ATEMPDIN,CR6,#34HDJNZR6,$SETBTEMPDINDJNZR7,WRITEDS1820LOPRET;***********************************************;

啟動(dòng)溫度轉(zhuǎn)換;***********************************************READTEMP:MOV

LCALLINITDS1820A,#0CCHLCALLWRITEDS1820MOV

R6,#34HDJNZR6,$MOV

A,#44HLCALLWRITEDS1820MOV

R6,#34HDJNZR6,$RET;***********************************************;

讀取轉(zhuǎn)換后的溫度值;***********************************************READTEMP1:MOV

LCALLINITDS1820A,#0CCHLCALLWRITEDS1820MOV

R6,#34HDJNZR6,$MOV

A,#0BEHLCALLWRITEDS1820MOV

R6,#34HDJNZR6,$MOVMOVMOVREADTEMP2:MOV

R5,#09HR0,#TEMPHEADB,#00HLCALLREADDS1820@R0,A第28頁共36頁29INCREADTEMP21:

R0LCALLCRC8CALDJNZR5,READTEMP2MOVJNZMOVMOVMOVINCMOVMOVREADTEMPOUT:

A,BREADTEMPOUTR1,#TEMPHEADA,@R1TEMPL,AR1A,@R1TEMPH,ARET;**********************************************************;

處理溫度BCD碼程序;**********************************************************CONVTEMP:

MOV

A,TEMPHANL

A,#80HJZTEMPC1

;判斷是否為負(fù)數(shù)CLRMOVCPLADDMOVMOVCPL

CA,TEMPLAA,#01HTEMPL,AA,TEMPHAADDCA,#00HMOVMOV

TEMPH,ATEMPHC,#0BHSJMPTEMPC11TEMPC1:

MOV

TEMPHC,#0AHTEMPC11:

MOVSWAPA

A,TEMPHCMOVMOVANLMOV

TEMPHC,AA,TEMPLA,#0FHDPTR,#TEMPDOTTABMOVCA,@A+DPTR第29頁共36頁30MOVMOVANL

TEMPLC,AA,TEMPLA,#0F0HSWAPAMOVMOVANL

TEMPL,AA,TEMPHA,#0FHSWAPAORL

A,TEMPLLCALLHEX2BCD1MOVANL

TEMPL,AA,#0F0HSWAPAORLMOVMOVANL

A,TEMPHCTEMPHC,AA,TEMPLA,#0FHSWAPAORLMOVMOV

A,TEMPLCTEMPLC,AA,R7JZTEMPC12ANL

A,#0FHSWAPAMOVMOVANLORLMOV

R7,AA,TEMPHCA,#0FHA,R7TEMPHC,ATEMPC12:TEMPDOTTAB:

RETDB00H,01H,01H,02H,03H,03H,04H,04H,05H,06HDB06H,07H,08H,08H,09H,09H;*********************************************;

CRC校驗(yàn)程序;*********************************************CRC8CAL:

PUSHACCMOV

R7,#08H

第30頁共36頁31CRC8LOOP1:

XRL

A,BRRCMOVJNCXRL

AA,BCRC8LOOP2A,#18HCRC8LOOP2:MOVPOP

RRCB,AACC

ARRAPUSHACCDJNZR7,CRC8LOOP1POP

ACCRET;*********************************************;

單字節(jié)16進(jìn)制轉(zhuǎn)換BCD;入口條件:數(shù)據(jù)存放在ACC中;出口條件:數(shù)據(jù)存放在ACC中;*********************************************HEX2BCD1:

MOV

B,#64HDIVMOVMOVXCHDIV

ABR7,AA,#0AHA,BABSWAPAORL

A,BRET;*********************************************;

1S延時(shí)程序;*********************************************DLY_1S:

PUSHPSWSETBRS0MOV

R7,#10DLY_1S_1:

MOV

R6,#200clr

wiredogcs

;喂狗setbwiredogcsDLY_1S_2:

MOV

R5,#250第31頁共36頁32DJNZR5,$DJNZR6,DLY_1S_2DJNZR7,DLY_1S_1POP

PSWRET;********************************************;

數(shù)碼管顯示程序;********************************************;**********************************************************;

LED;入口條件:輸入數(shù)據(jù)放入ACC;輸出:轉(zhuǎn)換后的數(shù)據(jù)保存顯示器緩沖區(qū)中中;影響數(shù)據(jù):ACC;**********************************************************LED:

pushaccpushdphpushdplmovmovmovmovincrlajmpled_tab_1:

th0,#0fchtl0,#66hdptr,#led_tab_1a,display_l

溫馨提示

  • 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)論