溫度傳感器課程設(shè)計(jì)報(bào)告_第1頁
已閱讀1頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  光電傳感器課程設(shè)計(jì)報(bào)告</p><p>  組 員: </p><p>  專 業(yè): </p><p>  年 級(jí): </p><p>  學(xué) 院: </p><p>  完成日

2、期: </p><p>  指導(dǎo)教師: </p><p><b>  目錄</b></p><p>  1 引言………………………………………………………………………………..3</p><p>  2 設(shè)計(jì)要求………………………………………………………………………….

3、.3</p><p>  3 工作原理…………………………………………………………………………..3</p><p>  4 方案設(shè)計(jì)…………………………………………………………………………..4</p><p>  5 單元電路的設(shè)計(jì)和元器件的選擇………………………………………………..6</p><p>  5.1微控制器模塊………

4、…………………………………………………………….6</p><p>  5.2溫度采集模塊………………………………………………………………….....7</p><p>  5.3報(bào)警模塊……………………………………………………………………….....9</p><p>  5.4溫度顯示模塊………………………………………………………………….....9</p

5、><p>  5.5其它外圍電路…………………………………………………………………...10</p><p>  6 電源模塊…………………………………………………………………………12</p><p>  7 程序設(shè)計(jì)…………………………………………………………………………13</p><p>  7.1流程圖………………………………………

6、…………………………………...13</p><p>  7.2程序分析………………………………………………………………………..16</p><p>  8. 實(shí)例測(cè)試…………………………………………………………………………18</p><p>  總結(jié)…………………………………………………………………………………..18</p><p>

7、  參考文獻(xiàn)……………………………………………………………………………..19</p><p><b>  1 引言</b></p><p>  在科學(xué)技術(shù)高速發(fā)展的現(xiàn)代社會(huì)中,人類已經(jīng)入瞬息萬變的信息時(shí)代,人們?cè)谌粘I?,生產(chǎn)過程中,主要依靠檢測(cè)技術(shù)對(duì)信息經(jīng)獲取、篩選和傳輸,來實(shí)現(xiàn)制動(dòng)控制,自動(dòng)調(diào)節(jié),目前我國(guó)已將檢測(cè)技術(shù)列入優(yōu)先發(fā)展的科學(xué)技術(shù)之一。 由于微電子技術(shù),

8、光電半導(dǎo)體技術(shù),光導(dǎo)纖維技術(shù)以及光柵技術(shù)的發(fā)展,使得光電傳感器的應(yīng)用與日俱增。這種傳感器具有結(jié)構(gòu)簡(jiǎn)單、非接觸、高可靠性、高精度、可測(cè)參數(shù)多、反應(yīng)快以及結(jié)構(gòu)簡(jiǎn)單,形式靈活多樣等優(yōu)點(diǎn),在自動(dòng)檢測(cè)技術(shù)中得到了廣泛應(yīng)用,它一種是以光電效應(yīng)為理論基礎(chǔ),由光電材料構(gòu)成的器件。 </p><p>  光電傳感器是通過把光強(qiáng)度的變化轉(zhuǎn)換成電信號(hào)的變化來實(shí)現(xiàn)控制的,它的基本結(jié)構(gòu)如圖6,它首先把被測(cè)量的變化轉(zhuǎn)換成光信號(hào)的變化,然后借

9、助光電元件進(jìn)一步將光信號(hào)轉(zhuǎn)換成電信號(hào).光電傳感器一般由光源,光學(xué)通路和光電元件三部分組成.光電檢測(cè)方法具有精度高,反應(yīng)快,非接觸等優(yōu)點(diǎn),而且可測(cè)參數(shù)多,傳感器的結(jié)構(gòu)簡(jiǎn)單,形式靈活多樣,因此,光電式傳感器在檢測(cè)和控制中應(yīng)用非常廣泛.</p><p>  光電傳感器是一種依靠被測(cè)物與光電元件和光源之間的關(guān)系,來達(dá)到測(cè)量目的的,因此光電傳感器的光源扮演著很重要的角色,光電傳感器的電源要是一個(gè)恒光源,電源穩(wěn)定性的設(shè)計(jì)至關(guān)

10、重要,電源的穩(wěn)定性直接影響到測(cè)量的準(zhǔn)確性,常用光源有以下幾種:</p><p>  1、發(fā)光二極管 是一種把電能轉(zhuǎn)變成光能的半導(dǎo)體器件。它具有體積小、功耗低、壽命長(zhǎng)、響應(yīng)快、機(jī)械強(qiáng)度高等優(yōu)點(diǎn),并能和集成電路相匹配。因此,廣泛地用于計(jì)算機(jī)、儀器儀表和自動(dòng)控制設(shè)備中。</p><p>  2、絲燈泡 這是一種最常用的光源,它具有豐富的紅外線。如果選用的光電元件對(duì)紅外光敏感,構(gòu)成傳感器時(shí)可加濾色

11、片將鎢絲燈泡的可見光濾除,而僅用它的紅外線做光源,這樣,可有效防止其他光線的干擾。</p><p><b>  2 設(shè)計(jì)要求</b></p><p><b>  3 工作原理</b></p><p>  溫度傳感器 DS18B20 從設(shè)備環(huán)境的不同位置采集溫度,單片機(jī) AT89S51 獲取采集的溫度值,經(jīng)處理后得到當(dāng)前環(huán)境

12、中一個(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è)備 (壓縮制冷器) ,當(dāng)采集的溫度經(jīng)處理后低于設(shè)定溫度的下時(shí) , 單片機(jī)通過三極管驅(qū)動(dòng)繼電器開啟升溫設(shè)備 (加熱器) 。 </p><p>  當(dāng)由于環(huán)境溫度變化太劇烈或由于加熱或降溫設(shè)備出現(xiàn)故障,或者溫度傳感頭出現(xiàn)故障導(dǎo)致在一段時(shí)間內(nèi)不能將環(huán)境溫度

13、調(diào)整到規(guī)定的溫度限內(nèi)的時(shí)候,單片機(jī)通過三極管驅(qū)動(dòng)揚(yáng)聲器發(fā)出警笛聲。 </p><p>  系統(tǒng)中將通過串口通訊連接PC機(jī)存儲(chǔ)溫度變化時(shí)的歷史數(shù)據(jù),以便觀察整個(gè)溫度的控制過程及監(jiān)控溫度的變化全過程。</p><p><b>  4 方案設(shè)計(jì)</b></p><p><b> ?。ㄒ唬⒎桨敢?lt;/b></p>&

14、lt;p>  采用熱電偶溫差電路測(cè)溫,溫度檢測(cè)部分可以使用低溫?zé)崤?,熱電偶由兩個(gè)焊接在一起的異金屬導(dǎo)線所組成(熱電偶的構(gòu)成如圖 3.1),熱電偶產(chǎn)生的熱電勢(shì)由兩種金屬的接觸電勢(shì)和單一導(dǎo)體的溫差電勢(shì)組成。通過將參考結(jié)點(diǎn)保持在已知溫度并測(cè)量該電壓,便可推斷出檢測(cè)結(jié)點(diǎn)的溫度。數(shù)據(jù)采集部分則使用帶有A/D 通道的單片機(jī),在將隨被測(cè)溫度變化的電壓或電流采集過來,進(jìn)行A/D 轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測(cè)溫度

15、顯示出來。熱電偶的優(yōu)點(diǎn)是工作溫度范圍非常寬,且體積小,但是它們也存在著輸出電壓小、容易遭受來自導(dǎo)線環(huán)路的噪聲影響以及漂移較高的缺點(diǎn),并且這種設(shè)計(jì)需要用到A/D 轉(zhuǎn)換電路,感溫電路比較麻煩。</p><p>  圖 4-1熱電偶電路圖</p><p>  系統(tǒng)主要包括對(duì)A/D0809 的數(shù)據(jù)采集,自動(dòng)手動(dòng)工作方式檢測(cè),溫度的顯示等,這幾項(xiàng)功能的信號(hào)通過輸入輸出電路經(jīng)單片機(jī)處理。此外還有復(fù)位電

16、路,晶振電路,啟動(dòng)電路等。故現(xiàn)場(chǎng)輸入硬件有手動(dòng)復(fù)位鍵、A/D 轉(zhuǎn)換芯片,處理芯片為51 芯片,執(zhí)行機(jī)構(gòu)有4 位數(shù)碼管、報(bào)警器等。系統(tǒng)框圖如圖4-2所示:</p><p>  圖4-2熱電偶溫差電路測(cè)溫系統(tǒng)框圖</p><p><b> ?。ǘ⒎桨付?lt;/b></p><p>  采用數(shù)字溫度芯片DS18B20 測(cè)量溫度,輸出信號(hào)全數(shù)字化。便于

17、單片機(jī)處理及控制,省去傳統(tǒng)的測(cè)溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測(cè)溫元件,此元件線形較好。在0—100 攝氏度時(shí),最大線形偏差小于1 攝氏度。DS18B20 的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS18B20和微控制器AT89S51構(gòu)成的溫度測(cè)量裝置,它直接輸出溫度的數(shù)字信號(hào),可直接與計(jì)算機(jī)連接。這樣,測(cè)溫系統(tǒng)的結(jié)構(gòu)就比較簡(jiǎn)單,體積也不大。采用51 單片機(jī)控制,軟件編程的自由度大,可通過編程實(shí)現(xiàn)

18、各種各樣的算術(shù)算法和邏輯控制,而且體積小,硬件實(shí)現(xiàn)簡(jiǎn)單,安裝方便。既可以單獨(dú)對(duì)多DS18B20</p><p>  控制工作,還可以與PC 機(jī)通信上傳數(shù)據(jù),另外AT89S51 在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟。</p><p>  該系統(tǒng)利用AT89S51芯片控制溫度傳感器DS18B20進(jìn)行實(shí)時(shí)溫度檢測(cè)并顯示,能夠?qū)崿F(xiàn)快速測(cè)量環(huán)境溫度,并可以根據(jù)需要設(shè)

19、定上下限報(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ù)。</p><p>  系統(tǒng)框圖如圖4-3所示</p><p> 

20、 圖4-3 DS18B20溫度測(cè)溫系統(tǒng)框圖</p><p>  從以上兩種方案,容易看出方案一的測(cè)溫裝置可測(cè)溫度范圍寬、體積小,但是線性誤差較大。方案二的測(cè)溫裝置電路簡(jiǎn)單、精確度較高、實(shí)現(xiàn)方便、軟件設(shè)計(jì)也比較簡(jiǎn)單,故本次設(shè)計(jì)采用了方案二。</p><p>  5 單元電路的設(shè)計(jì)和元器件的選擇</p><p><b>  5.1微控制器模塊</b&g

21、t;</p><p>  AT89S51 是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含8k Bytes ISP(In-system programmable)的可反復(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可為

22、許多嵌入式控制應(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í)鐘振蕩器。</p><p>  此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通

23、過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。</p><p>  由于系統(tǒng)控制方案簡(jiǎn)單 ,數(shù)據(jù)量也不大 ,考慮到電路的簡(jiǎn)單和成本等因素 ,因此在本設(shè)計(jì)中選用 A TMEL 公司的 A T89S51單片

24、機(jī)作為主控芯片。主控模塊采用單片機(jī)最小系統(tǒng)是由于 A T89S51芯片內(nèi)含有4 kB的 E2PROM ,無需外擴(kuò)存儲(chǔ)器 ,電路簡(jiǎn)單可靠 ,其時(shí)鐘頻率為 0~24 MHz ,并且價(jià)格低廉 ,批量?jī)r(jià)在 10元以內(nèi)。</p><p><b>  主要特性如下</b></p><p>  ●與MCS-51 兼容</p><p>  ●4K字節(jié)可編程閃爍

25、存儲(chǔ)器</p><p>  ●壽命:1000寫/擦循環(huán)</p><p>  ●數(shù)據(jù)保留時(shí)間:10年</p><p>  ●全靜態(tài)工作:0Hz-24Hz</p><p>  ●三級(jí)程序存儲(chǔ)器鎖定</p><p>  ●128*8位內(nèi)部RAM</p><p>  ●32可編程I/O線</p&g

26、t;<p>  ●兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b>  ●5個(gè)中斷源</b></p><p><b>  ●可編程串行通道</b></p><p>  ●低功耗的閑置和掉電模式</p><p>  ●片內(nèi)振蕩器和時(shí)鐘電路

27、 AT89S51單片機(jī)引腳圖 </p><p><b>  5.2溫度采集模塊</b></p><p>  DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,它具有微型化、低功耗、高性能抗干擾能力、強(qiáng)易配處理器等優(yōu)點(diǎn),特別適合用于構(gòu)成多點(diǎn)溫度測(cè)控系統(tǒng),可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(hào)(按9位二進(jìn)制數(shù)字)給單片機(jī)處理,且在同一總線上可以掛接多個(gè)傳感器芯片,

28、它具有三引腳TO-92小體積封裝形式,溫度測(cè)量范圍-55~+125℃,可編程為9~12位A/D轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625℃,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出,其工作電源既可在遠(yuǎn)端引入,業(yè)可采用寄生電源方式產(chǎn)生,多個(gè)DS18B20可以并聯(lián)到三根或者兩根線上,CPU只需一根端口線就能與多個(gè)DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。從而可以看出DS18B20可以非常方便的被用于遠(yuǎn)距離多點(diǎn)溫度

29、檢測(cè)系統(tǒng)。</p><p>  綜上,在本系統(tǒng)中我采用溫度芯片DS18B20測(cè)量溫度。該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測(cè)溫元件,且此元件線形較好。在0—100攝氏度時(shí),最大線形偏差小于1攝氏度。該芯片直接向單片機(jī)傳輸數(shù)字信號(hào),便于單片機(jī)處理及控制。</p><p>  圖5-2溫度芯片DS18B20</p><p>  DS18B20 最大的特點(diǎn)是單總線數(shù)據(jù)傳

30、輸方式,DS18B20 的數(shù)據(jù)I/O 均由同一條線來完成。DS18B20 的電源供電方式有2 種: 外部供電方式和寄生電源方式。工作于寄生電源方式時(shí), VDD 和GND 均接地, 他在需要遠(yuǎn)程溫度探測(cè)和空間受限的場(chǎng)合特別有用, 原理是當(dāng)1 W ire 總線的信號(hào)線DQ 為高電平時(shí), 竊取信號(hào)能量給DS18B20 供電, 同時(shí)一部分能量給內(nèi)部電容充電, 當(dāng)DQ為低電平時(shí)釋放能量為DS18B20 供電。但寄生電源方式需要強(qiáng)上拉電路, 軟件控

31、制變得復(fù)雜(特別是在完成溫度轉(zhuǎn)換和拷貝數(shù)據(jù)到E2PROM 時(shí)) , 同時(shí)芯片的性能也有所降低。外部電源供電方式是DS18B20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強(qiáng),而且電路也比較簡(jiǎn)單,可以開發(fā)出穩(wěn)定可靠的多點(diǎn)溫度監(jiān)控系統(tǒng)。因此本設(shè)計(jì)采用外部供電方式。如下圖所示:</p><p>  溫度傳感器DS18B20的測(cè)量范圍為-55℃~+125℃,在-10℃~+85℃時(shí)精度為±0.5℃。因?yàn)楸驹O(shè)計(jì)只用于測(cè)

32、量環(huán)境溫度,所以只顯示0℃~+85℃。</p><p><b>  5.3報(bào)警模塊</b></p><p>  本設(shè)計(jì)采軟件處理報(bào)警,利用有源蜂鳴器進(jìn)行報(bào)警輸出,采用直流供電。當(dāng)所測(cè)溫度超過獲低于所預(yù)設(shè)的溫度時(shí),數(shù)據(jù)口相應(yīng)拉高電平,報(bào)警輸出。(也可采用發(fā)光二級(jí)管報(bào)警電路,如過需要報(bào)警,則只需將相應(yīng)位置1,當(dāng)參數(shù)判斷完畢后,再看報(bào)警模型單元ALARM 的內(nèi)容是否與預(yù)設(shè)一

33、樣,如不一樣,則發(fā)光報(bào)警)報(bào)警電路硬件連接見圖5-3</p><p>  圖5-3蜂鳴器電路連接圖</p><p><b>  5.4溫度顯示模塊</b></p><p>  本設(shè)計(jì)顯示電路采用兩位共陽極LED數(shù)碼管來顯示測(cè)量得到的溫度值。LED數(shù)碼管能在低電壓下工作,而且體積小、重量輕、使用壽命長(zhǎng),因次本設(shè)計(jì)選用此數(shù)碼管作為顯示器件。<

34、/p><p>  一個(gè)LED數(shù)碼管只能顯示一位的字符,如果字符位數(shù)不止一位,可以用幾個(gè)數(shù)碼管組成,但要控制多位的顯示電路需要有字段控制和字位控制,字段控制是指控制所要顯示的字符是什么,控制電路應(yīng)將字符的七段碼通過輸出口連接到LED的a~g引腳,是某些段點(diǎn)亮,某些段處于熄滅狀態(tài)。字位控制是指控制在多位顯示器中,哪幾位發(fā)光或那幾位不發(fā)光,字位控制則需要通過字位碼作用于LED數(shù)碼管的公共引腳,是某一位或某幾位的數(shù)碼管可以發(fā)

35、光。</p><p>  數(shù)碼管顯示電路分為動(dòng)態(tài)顯示和靜態(tài)顯示。</p><p>  靜態(tài)顯示方式是指每一個(gè)數(shù)碼管的字段控制是獨(dú)立的,每一個(gè)數(shù)碼管都需要配置一個(gè)8位輸出口來輸出該字位的七段碼。因此需要顯示多位時(shí)需要多個(gè)輸出口,通常片內(nèi)并口不夠用,需要在片外擴(kuò)展。</p><p>  動(dòng)態(tài)顯示又稱為掃描顯示方式,也就是在某一時(shí)刻只能讓一個(gè)字位處于選通狀態(tài),其他字位一律

36、斷開,同時(shí)在字段線上發(fā)出該位要顯示的字段碼,這樣在某一時(shí)刻某一位數(shù)碼管就會(huì)被點(diǎn)亮,并顯示出相應(yīng)的字符。下一時(shí)刻改變所顯示的字位和字段碼,點(diǎn)亮另一個(gè)數(shù)碼管,顯示另一個(gè)字符。繞后一次掃描輪流點(diǎn)亮其他數(shù)碼管,只要掃描速度快,利用人眼的視覺殘留效應(yīng),會(huì)使人感覺到幾位數(shù)碼管都在穩(wěn)定的顯示。</p><p>  本設(shè)計(jì)采用數(shù)碼管動(dòng)態(tài)顯示,電路如下圖所示:</p><p><b>  顯示部分

37、電路</b></p><p>  圖中由單片機(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ù)碼管的某一位。</p><p><b>  5.5其它外圍電路</b></p><p>  

38、復(fù)位電路:在單片機(jī)的RST引腳引入高電平并保持2個(gè)機(jī)器周期時(shí),單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作。實(shí)際應(yīng)用中,復(fù)位操作有兩種形式:一種是上電復(fù)位,另一種是上電與按鍵均有效的復(fù)位。如下圖所示</p><p>  上電復(fù)位要求接通電源后,單片機(jī)自動(dòng)實(shí)現(xiàn)復(fù)位操作。上電瞬間RST引腳獲得高電平,隨著電容的充電,RST引腳的高電平逐漸下降。只要RST引腳保持兩個(gè)機(jī)器周期的高電平單片機(jī)就可以進(jìn)行復(fù)位操作。該電路參數(shù)為:晶振為12MHz

39、時(shí),電容為10μF,電阻為8.2KΩ;晶振為6MHz時(shí),電容為22μF,電阻為1 KΩ。本設(shè)計(jì)采用上電復(fù)位電路,電路參數(shù)為電容10μF,電阻8.2K.。</p><p>  晶振電路:?jiǎn)纹瑱C(jī)的時(shí)鐘信號(hào)通常有兩種方式產(chǎn)生:一是內(nèi)部時(shí)鐘方式,二是外部時(shí)鐘方式。</p><p>  本設(shè)計(jì)采用內(nèi)部時(shí)鐘方式,在單片機(jī)內(nèi)部有一震蕩電路,只要在單片機(jī)的XTAL1和XTAL2腳外接石英晶體(簡(jiǎn)稱晶振),

40、就構(gòu)成了自己震蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào)。</p><p>  圖中電容器的作用是穩(wěn)定頻率和快速起振,電容值在5~30pF,典型值為30pF。晶振CYS的震蕩頻率范圍在1.2~12MHz間選擇,典型值為12MHz和6MHz。本設(shè)計(jì)采用12MHz晶振,電容值為20 pF。</p><p>  在電路總體設(shè)計(jì)中,EA\Vpp腳用于是從外部程序存儲(chǔ)器取指還是從內(nèi)部程序存儲(chǔ)器取指的選擇信號(hào)

41、。當(dāng)EA\Vpp接高電平時(shí),先從片內(nèi)程序存儲(chǔ)器讀取指令,讀完4KB后,自動(dòng)改為片外取指。若EA\Vpp接低電平,則所有指令均從片外程序存儲(chǔ)器讀取。ALE腳用于輸出允許地址所存信號(hào)。PSEN腳用于外部程序存儲(chǔ)器選通信號(hào),在對(duì)外部程序存儲(chǔ)器取指操作時(shí)此引腳置低電平有效。在執(zhí)行片內(nèi)程序存儲(chǔ)器取指時(shí)PESN腳無效。本設(shè)計(jì)無片外程序存儲(chǔ)器擴(kuò)展,所以將EA\V pp腳接高電平,ALE及PSEN腳懸空。 </p><p>&l

42、t;b>  6 電源模塊</b></p><p>  控制系統(tǒng)主控制部分電源需要用5V直流電源供電,其電路如圖6所示,把頻率為50Hz、有效值為220V的單相交流電壓轉(zhuǎn)換為幅值穩(wěn)定的5V直流電壓。其主要原理是把單相交流電經(jīng) 過電源變壓器、整流電路、濾波電路、穩(wěn)壓電路轉(zhuǎn)換成穩(wěn)定的直流電壓。

43、

44、 </p><p>  由于輸入電壓為電網(wǎng)電壓,一般情況下所需直流電壓的數(shù)值和電網(wǎng)電壓的有效值相差較大,因而電源變壓器的作用顯現(xiàn)出來起到降壓作用。降壓后還是交流電壓,所以需要整流電路把交流電壓轉(zhuǎn)換成直流

45、電壓。由于經(jīng)整流電路整流后的電壓含有較大的交流分量,會(huì)影響到負(fù)載電路的正常工作。需通過低通濾波電路濾波,使輸出電壓平滑。穩(wěn)壓電路的功能是使輸出直流電壓基本不受電網(wǎng)電壓波動(dòng)和負(fù)載電阻變化的影響,從而獲得穩(wěn)定性足夠高的直流電壓。本電路使用集成穩(wěn)壓芯片7805解決了電源穩(wěn)壓?jiǎn)栴}。</p><p><b>  圖6電源部分連線圖</b></p><p><b>  

46、7 程序設(shè)計(jì)</b></p><p>  用匯編語言完成對(duì)設(shè)計(jì)的軟件編程,程序開始首先對(duì)溫度傳感器DS18B20進(jìn)行復(fù)位,檢測(cè)是否正常工作;接著讀取溫度數(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)。</p>&l

47、t;p><b>  7.1 流程圖</b></p><p><b>  7.2 程序分析</b></p><p> ?、賹?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ā)B

48、EH命令(讀內(nèi)部RAM中9字節(jié)內(nèi)容)→連接從總線上讀出2個(gè)字節(jié)的數(shù)據(jù)(溫度數(shù)據(jù)的低8位和高8位)→結(jié)束</p><p><b>  部分程序代碼:</b></p><p>  (1)DS18B20的復(fù)位子程序部分:</p><p>  RESET_1820:</p><p><b>  SETB DQ;<

49、;/b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  CLR DQ</b></p><p>  ;主機(jī)發(fā)出復(fù)位低脈沖</p><p>  MOV R1,#3;</p&

50、gt;<p>  DLY: MOV R0,#107;</p><p>  DJNZ R0,$;</p><p>  DJNZ R1,DLY;</p><p><b> ??;拉高數(shù)據(jù)線</b></p><p><b>  SETB DQ</b></p><p>

51、<b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p> ?。坏却鼶S18B20的回應(yīng)</p><p>  MOV R0,#25H;</p><p>  T2:JNB DQ,T

52、3;</p><p>  DJNZ R0,T2;</p><p><b>  JMP T4;</b></p><p>  ;標(biāo)志位flag=1,表示DS18B20存在</p><p>  T3:SETB FLAG</p><p><b>  JMP T5;</b>&l

53、t;/p><p> ?。粯?biāo)志位flag=0,表示DS18B20不存在</p><p>  T5:MOV R0,#117;</p><p><b>  T4:RET</b></p><p>  注:根據(jù)DS18B20的通信協(xié)議,每一次讀寫數(shù)據(jù)之前都要對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位要求主機(jī)先發(fā)出復(fù)位低脈沖(大于48us);然后釋

54、放,DS18B20收到信號(hào)后等待16~60us,然后發(fā)出60~240us的存在低脈沖,主機(jī)收到此信號(hào)表示復(fù)位成功。</p><p><b>  初始化時(shí)序</b></p><p>  (2)DS18B20的寫入子程序部分:</p><p>  WRITE_1820:</p><p>  MOV R2,#8 ;

55、一位共8位數(shù)據(jù)</p><p>  CLR C ;C=0</p><p><b>  WR1:</b></p><p>  CLR DQ ;總線低位,開始寫入</p><p>  MOV R3,#7;</p><p>  DJNZ R3,$ ;保持16

56、us以上</p><p>  RRC A ;把字節(jié)DATA分成8個(gè)位,循環(huán)給C</p><p>  MOV DQ,C ;寫入一個(gè)位;</p><p>  MOV R3,#23;</p><p>  DJNE R3,$ ;等待</p><p>  SETB DQ

57、;重新釋放總線;</p><p><b>  NOP</b></p><p>  DJNZ R2,WR1 ;寫入下一個(gè)位;</p><p><b>  SETB DQ</b></p><p><b>  RET</b></p><p>  注:

58、當(dāng)主機(jī)把數(shù)據(jù)從邏輯高電平拉到邏輯低電平的時(shí)候,寫時(shí)間隙開始。有兩種寫時(shí)間隙,寫1 時(shí)間隙和寫0 時(shí)間隙。所有寫時(shí)間隙必須最少持續(xù)60μs,包括兩個(gè)寫周期至少1μs 的恢復(fù)時(shí)間。I/O線電平變低后,DS18B20 在一個(gè)15μs 到60μs 的窗口內(nèi)對(duì)I/O 線采樣。如果線上事高電平,就是寫1,如果是低電平,就是寫0。主機(jī)要生成一個(gè)寫時(shí)間隙,必須把數(shù)據(jù)線拉到低電平然后釋放,在寫時(shí)間隙開始后的15μs 內(nèi)允許數(shù)據(jù)線拉到高電平。主機(jī)要生成一個(gè)

59、寫0 時(shí)間隙,必須把數(shù)據(jù)線拉到低電平并保存60μs。</p><p>  每個(gè)讀時(shí)隙都由主機(jī)發(fā)起,至少拉低總線1us,在主機(jī)發(fā)起讀時(shí)序之后,單總線器件才開始在總線上發(fā)送0 或1。所有讀時(shí)序至少需要60us。</p><p><b>  寫時(shí)序</b></p><p> ?。?)DS18B20的讀取子程序</p><p>

60、  READ_1820:</p><p>  MOV R4 ,#2 ;讀取兩個(gè)字節(jié)的數(shù)字</p><p>  MOV R1,#29H ;低位存入29H,高位存入28H</p><p><b>  RE0:</b></p><p>  MOV R2,#8 ;數(shù)據(jù)一共有8位</p>&l

61、t;p><b>  RE1:</b></p><p><b>  CLR C</b></p><p><b>  SETB DQ</b></p><p><b>  NOP</b></p><p><b>  NOP</b>

62、</p><p>  CLR DQ ;讀前總線保持為低</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  SETB DQ

63、 ;開始讀總線釋放</p><p>  MOV R3,#9;</p><p><b>  RE2:</b></p><p>  DJNZ R3,RE2 ;延時(shí)18us</p><p>  MOV C,DQ ;從總線讀到一個(gè)位</p><p>  M

64、OV R3,#23;</p><p><b>  RE3:</b></p><p>  DJNZ R3,RE3 ;等待50us</p><p>  RRC A ;把讀得的位值循環(huán)移給A</p><p>  DJNZ R2,RE1 ;讀取下一位</p>

65、<p>  MOV @R1,A;</p><p><b>  DEC R1</b></p><p>  DJNZ R4,RE0;</p><p><b>  RET</b></p><p>  注:當(dāng)從DS18B20 讀數(shù)據(jù)時(shí),主機(jī)生成讀時(shí)間隙。當(dāng)主機(jī)把數(shù)據(jù)從高電平拉到低電平時(shí),讀時(shí)間

66、隙開始,數(shù)據(jù)線必須保持至少1μs;從DS18B20輸出的數(shù)據(jù)在讀時(shí)間隙的下降沿出現(xiàn)后15μs 內(nèi)有效。</p><p>  因此,主機(jī)在讀時(shí)間隙開始后必須把I/O 腳驅(qū)動(dòng)拉為的電平保持15μs,以讀取I/O 腳狀態(tài)。在讀時(shí)間隙的結(jié)尾,I/O 引腳將被外部上拉電阻拉到高電平。所有讀時(shí)間隙必須最少60μs,包括兩個(gè)讀周期至少1μs的恢復(fù)時(shí)間。</p><p><b>  讀時(shí)序<

67、;/b></p><p>  ②獲得實(shí)際測(cè)量溫度(溫度傳感器DS18B20把數(shù)據(jù)信息傳給單片機(jī),完成數(shù)據(jù)信息的傳輸);</p><p>  數(shù)據(jù)轉(zhuǎn)化子程序部分:</p><p><b>  TURN:</b></p><p>  ANL 28H,#07H</p><p>  ANL 29H,

68、#0F0H</p><p><b>  MOV A,28H</b></p><p><b>  ORL 29H,A</b></p><p><b>  MOV A,29H</b></p><p><b>  SWAP A</b></p>&l

69、t;p><b>  MOV 29H,A</b></p><p><b>  RET</b></p><p>  注:溫度傳感器DS18B20所測(cè)得的溫度數(shù)據(jù)低位存入29H,高位存入28H,將28H中的低4位移入29H中的高4位,獲得一個(gè)新字節(jié),這個(gè)字節(jié)就是實(shí)際測(cè)量的溫度。</p><p> ?、蹖y(cè)量的溫度數(shù)據(jù)在兩位

70、數(shù)碼管上顯示出來(單片機(jī)把數(shù)據(jù)信息傳給LED數(shù)碼管顯示器,實(shí)現(xiàn)溫度的數(shù)字化顯示)。</p><p>  溫度顯示子程序部分:</p><p><b>  DISPLAY:</b></p><p>  MOV A,29H;</p><p>  MOV B,#10;</p><p><b>

71、;  DIV AB</b></p><p>  MOV B_bit ,A ;十位在A</p><p>  MOV A_bit,B ;個(gè)位在B</p><p>  MOV DPTR ,#TABLE ;指定查表起始地址</p><p>  MOV R0,#4;</p><p>&l

72、t;b>  DP1:</b></p><p>  MOV R1,#250 ;顯示1000次</p><p><b>  LOOP:</b></p><p>  MOV A,A_bit ;取個(gè)位數(shù)</p><p>  MOVC A,@a+DPTR ;查個(gè)位數(shù)的7段代碼&

73、lt;/p><p>  MOV P0,A ;送出個(gè)位的7段代碼</p><p>  CLR P2.3 ;開個(gè)位顯示</p><p>  ACALL DELAY</p><p>  SETB P2.3</p><p>  MOV A,B_bit ;取十位數(shù)</p&

74、gt;<p>  MOVC A,@A+DPTR ;查出十位數(shù)的7段代碼</p><p>  MOV P0,A ;送出十位的7段代碼</p><p>  CLR P2.2 ;開十位顯示</p><p>  ACALL DELAY ;顯示1ms</p><p><b

75、>  SETB P2.2</b></p><p>  DJNZ R1,LOOP ;250次未完循環(huán)</p><p>  DJNZ R0,DP1 ;4個(gè)250次未完循環(huán)</p><p><b>  RET</b></p><p><b>  8 實(shí)例測(cè)試</b

76、></p><p>  實(shí)例測(cè)試:將寫入程序的單片機(jī)插入實(shí)驗(yàn)板插座內(nèi),檢查溫度傳感器DS18B20連接正常后接通電源,此時(shí),在兩位7段LED數(shù)碼管上將會(huì)準(zhǔn)確的顯示環(huán)境溫度,無需作任何調(diào)整。</p><p>  為了觀察溫度傳感器DS18B20對(duì)穩(wěn)定變化的靈敏度,可以用手握住DS18B20管,會(huì)看到數(shù)碼管上顯示的穩(wěn)定很快上升至人體溫度值,再將手離開DS18B20管,溫度又會(huì)很快降至環(huán)境

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論