溫傳感器課程設(shè)計(jì)_第1頁
溫傳感器課程設(shè)計(jì)_第2頁
溫傳感器課程設(shè)計(jì)_第3頁
溫傳感器課程設(shè)計(jì)_第4頁
溫傳感器課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、溫度傳感器課程設(shè)計(jì)報(bào)告專 業(yè): 電氣化 年 級(jí): 13-2 學(xué) 院: 機(jī)電院 姓名: 崔海艷 學(xué)號(hào):8021209235-目錄1 引言.32 設(shè)計(jì)要求.33 工作原理.34 方案設(shè)計(jì).45 單元電路的設(shè)計(jì)和元器件的選擇.65.1微控制器模塊.65.2溫度采集模塊.75.3報(bào)警模塊.95.4溫度顯示模塊.95.5其它外圍電路.106 電源模塊127 程序設(shè)計(jì)137.1流程圖.137.2程序分析.168. 實(shí)例測試18總結(jié).18參考文獻(xiàn).191 引言傳感器是一種有趣的且值得研究的裝置,它能通過測量外界的物理量,化學(xué)量或生物量來捕捉知識(shí)和信息,并能將被測量的非電學(xué)量轉(zhuǎn)換成電學(xué)量。在生活中它為我們提供

2、了很多方便,在傳感器產(chǎn)品中,溫度傳感器是最主要的需求產(chǎn)品,它被應(yīng)用在多個(gè)方面??偠灾?,傳感器的出現(xiàn)改變了我們的生活,生活因使用傳感器也變得多姿多彩。 溫度控制系統(tǒng)廣泛應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域 ,如家電、汽車、材料、電力電子等,常用的控制電路根據(jù)應(yīng)用場合和所要求的性能指標(biāo)有所不同,在工業(yè)企業(yè)中,如何提高溫度控制對(duì)象的運(yùn)行性能一直以來都是控制人員和現(xiàn)場技術(shù)人員努力解決的問題。這類控制對(duì)象慣性大,滯后現(xiàn)象嚴(yán)重,存在很多不確定的因素,難以建立精確的數(shù)學(xué)模型,從而導(dǎo)致控制系統(tǒng)性能不佳,甚至出現(xiàn)控制不穩(wěn)定、失控現(xiàn)象。傳統(tǒng)的繼電器調(diào)溫電路簡單實(shí)用 ,但由于繼電器動(dòng)作頻繁,可能會(huì)因觸點(diǎn)不良而影響正常工作???/p>

3、制領(lǐng)域還大量采用傳統(tǒng)的PID控制方式,但PID控制對(duì)象的模型難以建立,并且當(dāng)擾動(dòng)因素不明確時(shí),參數(shù)調(diào)整不便仍是普遍存在的問題。而采用數(shù)字溫度傳感器DS18B20,因其內(nèi)部集成了A/D轉(zhuǎn)換器,使得電路結(jié)構(gòu)更加簡單,而且減少了溫度測量轉(zhuǎn)換時(shí)的精度損失,使得測量溫度更加精確。數(shù)字溫度傳感器DS18B20只用一個(gè)引腳即可與單片機(jī)進(jìn)行通信,大大減少了接線的麻煩,使得單片機(jī)更加具有擴(kuò)展性。由于DS18B20芯片的小型化,更加可以通過單跳數(shù)據(jù)線就可以和主電路連接,故可以把數(shù)字溫度傳感器DS18B20做成探頭,探入到狹小的地方,增加了實(shí)用性。更能串接多個(gè)數(shù)字溫度傳感器DS18B20進(jìn)行范圍的溫度檢測2 設(shè)計(jì)要

4、求本設(shè)計(jì)主要是介紹了單片機(jī)控制下的溫度檢測系統(tǒng),詳細(xì)介紹了其硬件和軟件設(shè)計(jì),并對(duì)其各功能模塊做了詳細(xì)介紹,其主要功能和指標(biāo)如下:利用溫度傳感器(DS18B20)測量某一點(diǎn)環(huán)境溫度測量范圍為-5599,精度為±0.5用液晶進(jìn)行實(shí)際溫度值顯示能夠根據(jù)需要方便設(shè)定上下限報(bào)警溫度3 工作原理溫度傳感器 DS18B20 從設(shè)備環(huán)境的不同位置采集溫度,單片機(jī) AT89S51 獲取采集的溫度值,經(jīng)處理后得到當(dāng)前環(huán)境中一個(gè)比較穩(wěn)定的溫度值,再根據(jù)當(dāng)前設(shè)定的溫度上下限值,通過加熱和降溫對(duì)當(dāng)前溫度進(jìn)行調(diào)整。當(dāng)采集的溫度經(jīng)處理后超過設(shè)定溫度的上限時(shí),單片機(jī)通過三極管驅(qū)動(dòng)繼電器開啟降溫設(shè)備 (壓縮制冷器)

5、,當(dāng)采集的溫度經(jīng)處理后低于設(shè)定溫度的下時(shí) , 單片機(jī)通過三極管驅(qū)動(dòng)繼電器開啟升溫設(shè)備 (加熱器) 。 當(dāng)由于環(huán)境溫度變化太劇烈或由于加熱或降溫設(shè)備出現(xiàn)故障,或者溫度傳感頭出現(xiàn)故障導(dǎo)致在一段時(shí)間內(nèi)不能將環(huán)境溫度調(diào)整到規(guī)定的溫度限內(nèi)的時(shí)候,單片機(jī)通過三極管驅(qū)動(dòng)揚(yáng)聲器發(fā)出警笛聲。 系統(tǒng)中將通過串口通訊連接PC機(jī)存儲(chǔ)溫度變化時(shí)的歷史數(shù)據(jù),以便觀察整個(gè)溫度的控制過程及監(jiān)控溫度的變化全過程。4 方案設(shè)計(jì)采用數(shù)字溫度芯片DS18B20 測量溫度,輸出信號(hào)全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線形較好。在0100攝氏度時(shí),最大

6、線形偏差小于1 攝氏度。DS18B20 的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS18B20和微控制器AT89S51構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號(hào),可直接與計(jì)算機(jī)連接。這樣,測溫系統(tǒng)的結(jié)構(gòu)就比較簡單,體積也不大。采用51單片機(jī)控制,軟件編程的自由度大,可通過編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制,而且體積小,硬件實(shí)現(xiàn)簡單,安裝方便。既可以單獨(dú)對(duì)多DS18B20控制工作,還可以與PC 機(jī)通信上傳數(shù)據(jù),另外AT89S51 在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟。該系統(tǒng)利用AT89S51芯片控制溫度傳感器DS18B20進(jìn)行實(shí)時(shí)溫度檢測并顯示,能

7、夠?qū)崿F(xiàn)快速測量環(huán)境溫度,并可以根據(jù)需要設(shè)定上下限報(bào)警溫度。該系統(tǒng)擴(kuò)展性非常強(qiáng),它可以在設(shè)計(jì)中加入時(shí)鐘芯片DS1302以獲取時(shí)間數(shù)據(jù),在數(shù)據(jù)處理同時(shí)顯示時(shí)間,并可以利用AT24C16芯片作為存儲(chǔ)器件,以此來對(duì)某些時(shí)間點(diǎn)的溫度數(shù)據(jù)進(jìn)行存儲(chǔ),利用鍵盤來進(jìn)行調(diào)時(shí)和溫度查詢,獲得的數(shù)據(jù)可以通過MAX232芯片與計(jì)算機(jī)的RS232接口進(jìn)行串口通信,方便的采集和整理時(shí)間溫度數(shù)據(jù)。系統(tǒng)框圖如圖4-3所示圖4-3 DS18B20溫度測溫系統(tǒng)框圖5 單元電路的設(shè)計(jì)和元器件的選擇5.1微控制器模塊AT89S51 是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含8k Bytes ISP(In-system progr

8、ammable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。AT89S51具有如下特點(diǎn):40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘

9、振蕩器。此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。由于系統(tǒng)控制方案簡單 ,數(shù)據(jù)量也不大 ,考慮到電路的簡單和成本等因素 ,因此在本設(shè)計(jì)中選用 A TMEL 公司的 A T89S51單片機(jī)作為主控芯片。主控模塊采用單片機(jī)最小系統(tǒng)是由于 A T89S51芯片內(nèi)含有4 kB的 E2PROM ,無需外擴(kuò)存儲(chǔ)器 ,電路簡單可靠 ,其時(shí)

10、鐘頻率為 024 MHz ,并且價(jià)格低廉 ,批量價(jià)在 10元以內(nèi)。主要特性如下與MCS-51 兼容4K字節(jié)可編程閃爍存儲(chǔ)器壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時(shí)間:10年全靜態(tài)工作:0Hz-24Hz三級(jí)程序存儲(chǔ)器鎖定128*8位內(nèi)部RAM32可編程I/O線兩個(gè)16位定時(shí)器/計(jì)數(shù)器5個(gè)中斷源可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路 AT89S51單片機(jī)引腳圖 5.2溫度采集模塊DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,它具有微型化、低功耗、高性能抗干擾能力、強(qiáng)易配處理器等優(yōu)點(diǎn),特別適合用于構(gòu)成多點(diǎn)溫度測控系統(tǒng),可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(hào)(按9位二進(jìn)制數(shù)字)給單片

11、機(jī)處理,且在同一總線上可以掛接多個(gè)傳感器芯片,它具有三引腳TO-92小體積封裝形式,溫度測量范圍55125,可編程為912位A/D轉(zhuǎn)換精度,測溫分辨率可達(dá)0.0625,被測溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出,其工作電源既可在遠(yuǎn)端引入,業(yè)可采用寄生電源方式產(chǎn)生,多個(gè)DS18B20可以并聯(lián)到三根或者兩根線上,CPU只需一根端口線就能與多個(gè)DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。從而可以看出DS18B20可以非常方便的被用于遠(yuǎn)距離多點(diǎn)溫度檢測系統(tǒng)。綜上,在本系統(tǒng)中我采用溫度芯片DS18B20測量溫度。該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,且此元件線形較

12、好。在0100攝氏度時(shí),最大線形偏差小于1攝氏度。該芯片直接向單片機(jī)傳輸數(shù)字信號(hào),便于單片機(jī)處理及控制。圖5-2溫度芯片DS18B20DS18B20 最大的特點(diǎn)是單總線數(shù)據(jù)傳輸方式,DS18B20 的數(shù)據(jù)I/O 均由同一條線來完成。DS18B20 的電源供電方式有2 種: 外部供電方式和寄生電源方式。工作于寄生電源方式時(shí), VDD 和GND 均接地, 他在需要遠(yuǎn)程溫度探測和空間受限的場合特別有用, 原理是當(dāng)1 W ire 總線的信號(hào)線DQ 為高電平時(shí), 竊取信號(hào)能量給DS18B20 供電, 同時(shí)一部分能量給內(nèi)部電容充電, 當(dāng)DQ為低電平時(shí)釋放能量為DS18B20 供電。但寄生電源方式需要強(qiáng)上拉

13、電路, 軟件控制變得復(fù)雜(特別是在完成溫度轉(zhuǎn)換和拷貝數(shù)據(jù)到E2PROM 時(shí)) , 同時(shí)芯片的性能也有所降低。外部電源供電方式是DS18B20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強(qiáng),而且電路也比較簡單,可以開發(fā)出穩(wěn)定可靠的多點(diǎn)溫度監(jiān)控系統(tǒng)。因此本設(shè)計(jì)采用外部供電方式。如下圖所示:DS18B204.7K溫度傳感器DS18B20的測量范圍為-55+125,在-10+85時(shí)精度為±0.5。因?yàn)楸驹O(shè)計(jì)只用于測量環(huán)境溫度,所以只顯示0+85。5.3報(bào)警模塊本設(shè)計(jì)采軟件處理報(bào)警,利用有源蜂鳴器進(jìn)行報(bào)警輸出,采用直流供電。當(dāng)所測溫度超過獲低于所預(yù)設(shè)的溫度時(shí),數(shù)據(jù)口相應(yīng)拉高電平,報(bào)警輸出。(也可采

14、用發(fā)光二級(jí)管報(bào)警電路,如過需要報(bào)警,則只需將相應(yīng)位置1,當(dāng)參數(shù)判斷完畢后,再看報(bào)警模型單元ALARM 的內(nèi)容是否與預(yù)設(shè)一樣,如不一樣,則發(fā)光報(bào)警)報(bào)警電路硬件連接見圖5-3圖5-3蜂鳴器電路連接圖5.4溫度顯示模塊本設(shè)計(jì)顯示電路采用兩位共陽極LED數(shù)碼管來顯示測量得到的溫度值。LED數(shù)碼管能在低電壓下工作,而且體積小、重量輕、使用壽命長,因次本設(shè)計(jì)選用此數(shù)碼管作為顯示器件。 一個(gè)LED數(shù)碼管只能顯示一位的字符,如果字符位數(shù)不止一位,可以用幾個(gè)數(shù)碼管組成,但要控制多位的顯示電路需要有字段控制和字位控制,字段控制是指控制所要顯示的字符是什么,控制電路應(yīng)將字符的七段碼通過輸出口連接到LED的ag引腳

15、,是某些段點(diǎn)亮,某些段處于熄滅狀態(tài)。字位控制是指控制在多位顯示器中,哪幾位發(fā)光或那幾位不發(fā)光,字位控制則需要通過字位碼作用于LED數(shù)碼管的公共引腳,是某一位或某幾位的數(shù)碼管可以發(fā)光。數(shù)碼管顯示電路分為動(dòng)態(tài)顯示和靜態(tài)顯示。 靜態(tài)顯示方式是指每一個(gè)數(shù)碼管的字段控制是獨(dú)立的,每一個(gè)數(shù)碼管都需要配置一個(gè)8位輸出口來輸出該字位的七段碼。因此需要顯示多位時(shí)需要多個(gè)輸出口,通常片內(nèi)并口不夠用,需要在片外擴(kuò)展。 動(dòng)態(tài)顯示又稱為掃描顯示方式,也就是在某一時(shí)刻只能讓一個(gè)字位處于選通狀態(tài),其他字位一律斷開,同時(shí)在字段線上發(fā)出該位要顯示的字段碼,這樣在某一時(shí)刻某一位數(shù)碼管就會(huì)被點(diǎn)亮,并顯示出相應(yīng)的字符。下一時(shí)刻改變所

16、顯示的字位和字段碼,點(diǎn)亮另一個(gè)數(shù)碼管,顯示另一個(gè)字符。繞后一次掃描輪流點(diǎn)亮其他數(shù)碼管,只要掃描速度快,利用人眼的視覺殘留效應(yīng),會(huì)使人感覺到幾位數(shù)碼管都在穩(wěn)定的顯示。本設(shè)計(jì)采用數(shù)碼管動(dòng)態(tài)顯示,電路如下圖所示:顯示部分電路圖中由單片機(jī)P1口串接74HC245驅(qū)動(dòng)兩位共陽極數(shù)碼管,上拉電阻排為10K。由P2.0和P2.1通過PNP型三極管Q1,Q2驅(qū)動(dòng)其字位。三極管發(fā)射極接高電平,當(dāng)P2.0或P2.1為低電平時(shí)使三極管導(dǎo)通選通數(shù)碼管的某一位。5.5其它外圍電路復(fù)位電路:在單片機(jī)的RST引腳引入高電平并保持2個(gè)機(jī)器周期時(shí),單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作。實(shí)際應(yīng)用中,復(fù)位操作有兩種形式:一種是上電復(fù)位,另一種

17、是上電與按鍵均有效的復(fù)位。如下圖所示上電復(fù)位要求接通電源后,單片機(jī)自動(dòng)實(shí)現(xiàn)復(fù)位操作。上電瞬間RST引腳獲得高電平,隨著電容的充電,RST引腳的高電平逐漸下降。只要RST引腳保持兩個(gè)機(jī)器周期的高電平單片機(jī)就可以進(jìn)行復(fù)位操作。該電路參數(shù)為:晶振為12MHz時(shí),電容為10F,電阻為8.2K;晶振為6MHz時(shí),電容為22F,電阻為1 K。本設(shè)計(jì)采用上電復(fù)位電路,電路參數(shù)為電容10F,電阻8.2K.。晶振電路:單片機(jī)的時(shí)鐘信號(hào)通常有兩種方式產(chǎn)生:一是內(nèi)部時(shí)鐘方式,二是外部時(shí)鐘方式。本設(shè)計(jì)采用內(nèi)部時(shí)鐘方式,在單片機(jī)內(nèi)部有一震蕩電路,只要在單片機(jī)的XTAL1和XTAL2腳外接石英晶體(簡稱晶振),就構(gòu)成了自

18、己震蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào)。 C1 C22圖中電容器的作用是穩(wěn)定頻率和快速起振,電容值在530pF,典型值為30pF。晶振CYS的震蕩頻率范圍在1.212MHz間選擇,典型值為12MHz和6MHz。本設(shè)計(jì)采用12MHz晶振,電容值為20 pF。 在電路總體設(shè)計(jì)中,EAVpp腳用于是從外部程序存儲(chǔ)器取指還是從內(nèi)部程序存儲(chǔ)器取指的選擇信號(hào)。當(dāng)EAVpp接高電平時(shí),先從片內(nèi)程序存儲(chǔ)器讀取指令,讀完4KB后,自動(dòng)改為片外取指。若EAVpp接低電平,則所有指令均從片外程序存儲(chǔ)器讀取。ALE腳用于輸出允許地址所存信號(hào)。PSEN腳用于外部程序存儲(chǔ)器選通信號(hào),在對(duì)外部程序存儲(chǔ)器取指操作時(shí)此引腳置低

19、電平有效。在執(zhí)行片內(nèi)程序存儲(chǔ)器取指時(shí)PESN腳無效。本設(shè)計(jì)無片外程序存儲(chǔ)器擴(kuò)展,所以將EAV pp腳接高電平,ALE及PSEN腳懸空。 6 電源模塊控制系統(tǒng)主控制部分電源需要用5V直流電源供電,其電路如圖6所示,把頻率為50Hz、有效值為220V的單相交流電壓轉(zhuǎn)換為幅值穩(wěn)定的5V直流電壓。其主要原理是把單相交流電經(jīng) 過電源變壓器、整流電路、濾波電路、穩(wěn)壓電路轉(zhuǎn)換成穩(wěn)定的直流電壓。 由于輸入電壓為電網(wǎng)電壓,一般情況下所需直流電壓的數(shù)值和電網(wǎng)電壓的有效值相差較大,因而電源變壓器的作用顯現(xiàn)出來起到降壓作用。降壓后還是交流電壓,所以需要整流電路把交流電壓轉(zhuǎn)換成直流電壓。由于經(jīng)整流電路整流后的電壓含有較

20、大的交流分量,會(huì)影響到負(fù)載電路的正常工作。需通過低通濾波電路濾波,使輸出電壓平滑。穩(wěn)壓電路的功能是使輸出直流電壓基本不受電網(wǎng)電壓波動(dòng)和負(fù)載電阻變化的影響,從而獲得穩(wěn)定性足夠高的直流電壓。本電路使用集成穩(wěn)壓芯片7805解決了電源穩(wěn)壓問題。圖6電源部分連線圖7 程序設(shè)計(jì)用匯編語言完成對(duì)設(shè)計(jì)的軟件編程,程序開始首先對(duì)溫度傳感器DS18B20進(jìn)行復(fù)位,檢測是否正常工作;接著讀取溫度數(shù)據(jù),主機(jī)發(fā)出CCH指令與在線的DS18B20聯(lián)系,接著向DS18B20發(fā)出溫度A/D轉(zhuǎn)換44H指令,再發(fā)出溫度寄存器的溫度值BEH指令,并反復(fù)調(diào)用復(fù)位,寫入及讀取數(shù)據(jù)子程序,之后再經(jīng)過數(shù)據(jù)轉(zhuǎn)換,由數(shù)碼管顯示出來,不斷循環(huán)。

21、7.1 流程圖 對(duì)溫度傳感器進(jìn)行設(shè)置,讀取溫度數(shù)據(jù)轉(zhuǎn)化顯示溫度開始結(jié)束7.2 程序分析對(duì)DS18B20進(jìn)行復(fù)位,寫入和讀取溫度數(shù)據(jù)(在溫度傳感器DS18B20內(nèi)部完成,并實(shí)現(xiàn)對(duì)溫度信息的采集);讀取溫度流程如下:復(fù)位發(fā)CCH命令(跳過ROM)發(fā)44H命令延時(shí)1s復(fù)位發(fā)CCH命令(跳過ROM)發(fā)BEH命令(讀內(nèi)部RAM中9字節(jié)內(nèi)容)連接從總線上讀出2個(gè)字節(jié)的數(shù)據(jù)(溫度數(shù)據(jù)的低8位和高8位)結(jié)束部分程序代碼:(1)DS18B20的復(fù)位子程序部分:RESET_1820:SETB DQ;NOPNOPCLR DQ;主機(jī)發(fā)出復(fù)位低脈沖MOV R1,#3;DLY: MOV R0,#107;DJNZ R0,$

22、;DJNZ R1,DLY;;拉高數(shù)據(jù)線SETB DQNOPNOPNOP;等待DS18B20的回應(yīng)MOV R0,#25H;T2:JNB DQ,T3;DJNZ R0,T2;JMP T4;;標(biāo)志位flag=1,表示DS18B20存在T3:SETB FLAGJMP T5;;標(biāo)志位flag=0,表示DS18B20不存在T5:MOV R0,#117;T4:RET注:根據(jù)DS18B20的通信協(xié)議,每一次讀寫數(shù)據(jù)之前都要對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位要求主機(jī)先發(fā)出復(fù)位低脈沖(大于48us);然后釋放,DS18B20收到信號(hào)后等待1660us,然后發(fā)出60240us的存在低脈沖,主機(jī)收到此信號(hào)表示復(fù)位成功。初始

23、化時(shí)序(2)DS18B20的寫入子程序部分:WRITE_1820:MOV R2,#8 ;一位共8位數(shù)據(jù)CLR C ;C=0WR1:CLR DQ ;總線低位,開始寫入MOV R3,#7;DJNZ R3,$ ;保持16us以上RRC A ;把字節(jié)DATA分成8個(gè)位,循環(huán)給CMOV DQ,C ;寫入一個(gè)位;MOV R3,#23;DJNE R3,$ ;等待SETB DQ ;重新釋放總線;NOPDJNZ R2,WR1 ;寫入下一個(gè)位;SETB DQRET注:當(dāng)主機(jī)把數(shù)據(jù)從邏輯高電平拉到邏輯低電平的時(shí)候,寫時(shí)間隙開始。有兩種寫時(shí)間隙,寫1 時(shí)間隙和寫0 時(shí)間隙。所有寫時(shí)間隙必須最少持續(xù)60s,包括兩個(gè)寫周

24、期至少1s 的恢復(fù)時(shí)間。I/O線電平變低后,DS18B20 在一個(gè)15s 到60s 的窗口內(nèi)對(duì)I/O 線采樣。如果線上事高電平,就是寫1,如果是低電平,就是寫0。主機(jī)要生成一個(gè)寫時(shí)間隙,必須把數(shù)據(jù)線拉到低電平然后釋放,在寫時(shí)間隙開始后的15s 內(nèi)允許數(shù)據(jù)線拉到高電平。主機(jī)要生成一個(gè)寫0 時(shí)間隙,必須把數(shù)據(jù)線拉到低電平并保存60s。每個(gè)讀時(shí)隙都由主機(jī)發(fā)起,至少拉低總線1us,在主機(jī)發(fā)起讀時(shí)序之后,單總線器件才開始在總線上發(fā)送0 或1。所有讀時(shí)序至少需要60us。寫時(shí)序(3)DS18B20的讀取子程序READ_1820:MOV R4 ,#2 ;讀取兩個(gè)字節(jié)的數(shù)字MOV R1,#29H ;低位存入2

25、9H,高位存入28HRE0:MOV R2,#8 ;數(shù)據(jù)一共有8位RE1:CLR CSETB DQNOPNOPCLR DQ ;讀前總線保持為低NOPNOPNOPSETB DQ ;開始讀總線釋放MOV R3,#9;RE2:DJNZ R3,RE2 ;延時(shí)18usMOV C,DQ ;從總線讀到一個(gè)位MOV R3,#23;RE3:DJNZ R3,RE3 ;等待50usRRC A ;把讀得的位值循環(huán)移給ADJNZ R2,RE1 ;讀取下一位MOV R1,A;DEC R1DJNZ R4,RE0;RET注:當(dāng)從DS18B20 讀數(shù)據(jù)時(shí),主機(jī)生成讀時(shí)間隙。當(dāng)主機(jī)把數(shù)據(jù)從高電平拉到低電平時(shí),讀時(shí)間隙開始,數(shù)據(jù)線必

26、須保持至少1s;從DS18B20輸出的數(shù)據(jù)在讀時(shí)間隙的下降沿出現(xiàn)后15s 內(nèi)有效。因此,主機(jī)在讀時(shí)間隙開始后必須把I/O 腳驅(qū)動(dòng)拉為的電平保持15s,以讀取I/O 腳狀態(tài)。在讀時(shí)間隙的結(jié)尾,I/O 引腳將被外部上拉電阻拉到高電平。所有讀時(shí)間隙必須最少60s,包括兩個(gè)讀周期至少1s的恢復(fù)時(shí)間。讀時(shí)序獲得實(shí)際測量溫度(溫度傳感器DS18B20把數(shù)據(jù)信息傳給單片機(jī),完成數(shù)據(jù)信息的傳輸);數(shù)據(jù)轉(zhuǎn)化子程序部分:TURN:ANL 28H,#07HANL 29H,#0F0HMOV A,28HORL 29H,AMOV A,29HSWAP AMOV 29H,ARET注:溫度傳感器DS18B20所測得的溫度數(shù)據(jù)低位存入29H,高位存入28H,將28H中的低4位移入29H中的高4位,獲得一個(gè)新字節(jié),這個(gè)字節(jié)就是實(shí)際測量的溫度。將測量的溫度數(shù)據(jù)在兩位數(shù)碼管上顯示出來(單片機(jī)把數(shù)據(jù)信息傳給LED數(shù)碼管顯示器,實(shí)現(xiàn)溫度的數(shù)字化顯示)。溫度顯示子程序部分:DISPLAY:MOV A,29H;MOV B,#10;DIV

溫馨提示

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