版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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><b> 目錄</b></p><p> 1 引言………………………………………………………………………………..3</p><p> 2 設(shè)計(jì)要求…………………………………………………………………………..3</p><p> 3 工作原理……
2、……………………………………………………………………..3</p><p> 4 方案設(shè)計(jì)…………………………………………………………………………..4</p><p> 5 單元電路的設(shè)計(jì)和元器件的選擇………………………………………………..6</p><p> 5.1微控制器模塊…………………………………………………………………….6</p>
3、;<p> 5.2溫度采集模塊………………………………………………………………….....7</p><p> 5.3報(bào)警模塊……………………………………………………………………….....9</p><p> 5.4溫度顯示模塊………………………………………………………………….....9</p><p> 5.5其它外圍電路……………………
4、……………………………………………...10</p><p> 6 電源模塊…………………………………………………………………………12</p><p> 7 程序設(shè)計(jì)…………………………………………………………………………13</p><p> 7.1流程圖…………………………………………………………………………...13</p><
5、p> 7.2程序分析………………………………………………………………………..16</p><p> 8. 實(shí)例測(cè)試…………………………………………………………………………18</p><p> 總結(jié)…………………………………………………………………………………..18</p><p> 參考文獻(xiàn)…………………………………………………………………………
6、…..19</p><p><b> 1 引言</b></p><p> 溫度控制系統(tǒng)廣泛應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域 ,如家電、汽車、材料、電力電子等 ,常用的控制電路根據(jù)應(yīng)用場(chǎng)合和所要求的性能指標(biāo)有所不同 , 在工業(yè)企業(yè)中,如何提高溫度控制對(duì)象的運(yùn)行性能一直以來(lái)都是控制人員和現(xiàn)場(chǎng)技術(shù)人員努力解決的問(wèn)題。這類控制對(duì)象慣性大,滯后現(xiàn)象嚴(yán)重,存在很多不確定的因素,難以建
7、立精確的數(shù)學(xué)模型,從而導(dǎo)致控制系統(tǒng)性能不佳,甚至出現(xiàn)控制不穩(wěn)定、失控現(xiàn)象。傳統(tǒng)的繼電器調(diào)溫電路簡(jiǎn)單實(shí)用 ,但由于繼電器動(dòng)作頻繁 ,可能會(huì)因觸點(diǎn)不良而影響正常工作。控制領(lǐng)域還大量采用傳統(tǒng)的PID控制方式,但PID控制對(duì)象的模型難以建立,并且當(dāng)擾動(dòng)因素不明確時(shí),參數(shù)調(diào)整不便仍是普遍存在的問(wèn)題。而采用數(shù)字溫度傳感器DS18B20,因其內(nèi)部集成了A/D轉(zhuǎn)換器,使得電路結(jié)構(gòu)更加簡(jiǎn)單,而且減少了溫度測(cè)量轉(zhuǎn)換時(shí)的精度損失,使得測(cè)量溫度更加精確。數(shù)字溫
8、度傳感器DS18B20只用一個(gè)引腳即可與單片機(jī)進(jìn)行通信,大大減少了接線的麻煩,使得單片機(jī)更加具有擴(kuò)展性。由于DS18B20芯片的小型化,更加可以通過(guò)單跳數(shù)據(jù)線就可以和主電路連接,故可以把數(shù)字溫度傳感器DS18B20做成探頭,探入到狹小的地方,增加了實(shí)用性。更能串接多個(gè)</p><p><b> 2 設(shè)計(jì)要求</b></p><p> 本設(shè)計(jì)主要是介紹了單片機(jī)控制下
9、的溫度檢測(cè)系統(tǒng),詳細(xì)介紹了其硬件和軟件設(shè)計(jì),并對(duì)其各功能模塊做了詳細(xì)介紹,其主要功能和指標(biāo)如下:</p><p> ●利用溫度傳感器(DS18B20)測(cè)量某一點(diǎn)環(huán)境溫度</p><p> ●測(cè)量范圍為-55℃~+99℃,精度為±0.5℃</p><p> ●用液晶進(jìn)行實(shí)際溫度值顯示</p><p> ●能夠根據(jù)需要方便設(shè)定上
10、下限報(bào)警溫度</p><p><b> 3 工作原理</b></p><p> 溫度傳感器 DS18B20 從設(shè)備環(huán)境的不同位置采集溫度,單片機(jī) AT89S51 獲取采集的溫度值,經(jīng)處理后得到當(dāng)前環(huán)境中一個(gè)比較穩(wěn)定的溫度值,再根據(jù)當(dāng)前設(shè)定的溫度上下限值,通過(guò)加熱和降溫對(duì)當(dāng)前溫度進(jìn)行調(diào)整。當(dāng)采集的溫度經(jīng)處理后超過(guò)設(shè)定溫度的上限時(shí),單片機(jī)通過(guò)三極管驅(qū)動(dòng)繼電器開(kāi)啟降溫設(shè)
11、備 (壓縮制冷器) ,當(dāng)采集的溫度經(jīng)處理后低于設(shè)定溫度的下時(shí) , 單片機(jī)通過(guò)三極管驅(qū)動(dòng)繼電器開(kāi)啟升溫設(shè)備 (加熱器) 。 </p><p> 當(dāng)由于環(huán)境溫度變化太劇烈或由于加熱或降溫設(shè)備出現(xiàn)故障,或者溫度傳感頭出現(xiàn)故障導(dǎo)致在一段時(shí)間內(nèi)不能將環(huán)境溫度調(diào)整到規(guī)定的溫度限內(nèi)的時(shí)候,單片機(jī)通過(guò)三極管驅(qū)動(dòng)揚(yáng)聲器發(fā)出警笛聲。 </p><p> 系統(tǒng)中將通過(guò)串口通訊連接PC機(jī)存儲(chǔ)溫度變化時(shí)的歷史數(shù)
12、據(jù),以便觀察整個(gè)溫度的控制過(guò)程及監(jiān)控溫度的變化全過(guò)程。</p><p><b> 4 方案設(shè)計(jì)</b></p><p><b> ?。ㄒ唬?、方案一</b></p><p> 采用熱電偶溫差電路測(cè)溫,溫度檢測(cè)部分可以使用低溫?zé)崤?,熱電偶由兩個(gè)焊接在一起的異金屬導(dǎo)線所組成(熱電偶的構(gòu)成如圖 3.1),熱電偶產(chǎn)生的熱電勢(shì)由兩
13、種金屬的接觸電勢(shì)和單一導(dǎo)體的溫差電勢(shì)組成。通過(guò)將參考結(jié)點(diǎn)保持在已知溫度并測(cè)量該電壓,便可推斷出檢測(cè)結(jié)點(diǎn)的溫度。數(shù)據(jù)采集部分則使用帶有A/D 通道的單片機(jī),在將隨被測(cè)溫度變化的電壓或電流采集過(guò)來(lái),進(jìn)行A/D 轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測(cè)溫度顯示出來(lái)。熱電偶的優(yōu)點(diǎn)是工作溫度范圍非常寬,且體積小,但是它們也存在著輸出電壓小、容易遭受來(lái)自導(dǎo)線環(huán)路的噪聲影響以及漂移較高的缺點(diǎn),并且這種設(shè)計(jì)需要用到A/D 轉(zhuǎn)換電
14、路,感溫電路比較麻煩。</p><p> 圖 4-1熱電偶電路圖</p><p> 系統(tǒng)主要包括對(duì)A/D0809 的數(shù)據(jù)采集,自動(dòng)手動(dòng)工作方式檢測(cè),溫度的顯示等,這幾項(xiàng)功能的信號(hào)通過(guò)輸入輸出電路經(jīng)單片機(jī)處理。此外還有復(fù)位電路,晶振電路,啟動(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&
15、gt;<p> 圖4-2熱電偶溫差電路測(cè)溫系統(tǒng)框圖</p><p><b> ?。ǘ?、方案二</b></p><p> 采用數(shù)字溫度芯片DS18B20 測(cè)量溫度,輸出信號(hào)全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測(cè)溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測(cè)溫元件,此元件線形較好。在0—100 攝氏度時(shí),最大線形偏差小于1 攝氏
16、度。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ī)控制,軟件編程的自由度大,可通過(guò)編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制,而且體積小,硬件實(shí)現(xiàn)簡(jiǎn)單,安裝方便。既可以單獨(dú)對(duì)多DS18B20</p><p> 控制工作,還可以與PC 機(jī)
17、通信上傳數(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è)定上下限報(bào)警溫度。該系統(tǒng)擴(kuò)展性非常強(qiáng),它可以在設(shè)計(jì)中加入時(shí)鐘芯片DS1302以獲取時(shí)間數(shù)據(jù),在數(shù)據(jù)處理同時(shí)顯示時(shí)間,并可以利用AT24C16芯片作為存儲(chǔ)器件,以此來(lái)對(duì)
18、某些時(shí)間點(diǎn)的溫度數(shù)據(jù)進(jìn)行存儲(chǔ),利用鍵盤來(lái)進(jìn)行調(diào)時(shí)和溫度查詢,獲得的數(shù)據(jù)可以通過(guò)MAX232芯片與計(jì)算機(jī)的RS232接口進(jìn)行串口通信,方便的采集和整理時(shí)間溫度數(shù)據(jù)。</p><p> 系統(tǒng)框圖如圖4-3所示</p><p> 圖4-3 DS18B20溫度測(cè)溫系統(tǒng)框圖</p><p> 從以上兩種方案,容易看出方案一的測(cè)溫裝置可測(cè)溫度范圍寬、體積小,但是線性誤差較
19、大。方案二的測(cè)溫裝置電路簡(jiǎn)單、精確度較高、實(shí)現(xiàn)方便、軟件設(shè)計(jì)也比較簡(jiǎn)單,故本次設(shè)計(jì)采用了方案二。</p><p> 5 單元電路的設(shè)計(jì)和元器件的選擇</p><p><b> 5.1微控制器模塊</b></p><p> AT89S51 是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含8k Bytes ISP(In-system pro
20、grammable)的可反復(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ǔ)
21、器(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并可通過(guò)軟件設(shè)置省電模式。空閑模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活
22、或硬件復(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單片機(jī)作為主控芯片。主控模塊采用單片機(jī)最小系統(tǒng)是由于 A T89S51芯片內(nèi)含有4 kB的 E2PROM ,無(wú)需外擴(kuò)存儲(chǔ)器 ,電路簡(jiǎn)單可靠 ,其時(shí)鐘頻率為 0~24 MH
23、z ,并且價(jià)格低廉 ,批量?jī)r(jià)在 10元以內(nèi)。</p><p><b> 主要特性如下</b></p><p> ●與MCS-51 兼容</p><p> ●4K字節(jié)可編程閃爍存儲(chǔ)器</p><p> ●壽命:1000寫/擦循環(huán)</p><p> ●數(shù)據(jù)保留時(shí)間:10年</p>
24、<p> ●全靜態(tài)工作:0Hz-24Hz</p><p> ●三級(jí)程序存儲(chǔ)器鎖定</p><p> ●128*8位內(nèi)部RAM</p><p> ●32可編程I/O線</p><p> ●兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b> ●5個(gè)中斷源</b></p&
25、gt;<p><b> ●可編程串行通道</b></p><p> ●低功耗的閑置和掉電模式</p><p> ●片內(nèi)振蕩器和時(shí)鐘電路 AT89S51單片機(jī)引腳圖 </p><p><b> 5.2溫度采集模塊</b></p>&l
26、t;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è)傳感器芯片,它具有三引腳TO-92小體積封裝形式,溫度測(cè)量范圍-55~+125℃,可編程為9~12位A/D轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625℃,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量
27、方式串行輸出,其工作電源既可在遠(yuǎn)端引入,業(yè)可采用寄生電源方式產(chǎn)生,多個(gè)DS18B20可以并聯(lián)到三根或者兩根線上,CPU只需一根端口線就能與多個(gè)DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。從而可以看出DS18B20可以非常方便的被用于遠(yuǎn)距離多點(diǎn)溫度檢測(cè)系統(tǒng)。</p><p> 綜上,在本系統(tǒng)中我采用溫度芯片DS18B20測(cè)量溫度。該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測(cè)溫元件,且此元件
28、線形較好。在0—100攝氏度時(shí),最大線形偏差小于1攝氏度。該芯片直接向單片機(jī)傳輸數(shù)字信號(hào),便于單片機(jī)處理及控制。</p><p> 圖5-2溫度芯片DS18B20</p><p> DS18B20 最大的特點(diǎn)是單總線數(shù)據(jù)傳輸方式,DS18B20 的數(shù)據(jù)I/O 均由同一條線來(lái)完成。DS18B20 的電源供電方式有2 種: 外部供電方式和寄生電源方式。工作于寄生電源方式時(shí), VDD 和GN
29、D 均接地, 他在需要遠(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)上拉電路, 軟件控制變得復(fù)雜(特別是在完成溫度轉(zhuǎn)換和拷貝數(shù)據(jù)到E2PROM 時(shí)) , 同時(shí)芯片的性能也有所降低。外部電源供電方式是DS18B20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力
30、強(qiáng),而且電路也比較簡(jiǎn)單,可以開(kāi)發(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è)量環(huán)境溫度,所以只顯示0℃~+85℃。</p><p><b> 5.3報(bào)警模塊</b></p><
31、;p> 本設(shè)計(jì)采軟件處理報(bào)警,利用有源蜂鳴器進(jìn)行報(bào)警輸出,采用直流供電。當(dāng)所測(cè)溫度超過(guò)獲低于所預(yù)設(shè)的溫度時(shí),數(shù)據(jù)口相應(yīng)拉高電平,報(bào)警輸出。(也可采用發(fā)光二級(jí)管報(bào)警電路,如過(guò)需要報(bào)警,則只需將相應(yīng)位置1,當(dāng)參數(shù)判斷完畢后,再看報(bào)警模型單元ALARM 的內(nèi)容是否與預(yù)設(shè)一樣,如不一樣,則發(fā)光報(bào)警)報(bào)警電路硬件連接見(jiàn)圖5-3</p><p> 圖5-3蜂鳴器電路連接圖</p><p>&
32、lt;b> 5.4溫度顯示模塊</b></p><p> 本設(shè)計(jì)顯示電路采用兩位共陽(yáng)極LED數(shù)碼管來(lái)顯示測(cè)量得到的溫度值。LED數(shù)碼管能在低電壓下工作,而且體積小、重量輕、使用壽命長(zhǎng),因次本設(shè)計(jì)選用此數(shù)碼管作為顯示器件。</p><p> 一個(gè)LED數(shù)碼管只能顯示一位的字符,如果字符位數(shù)不止一位,可以用幾個(gè)數(shù)碼管組成,但要控制多位的顯示電路需要有字段控制和字位控制,
33、字段控制是指控制所要顯示的字符是什么,控制電路應(yīng)將字符的七段碼通過(guò)輸出口連接到LED的a~g引腳,是某些段點(diǎn)亮,某些段處于熄滅狀態(tài)。字位控制是指控制在多位顯示器中,哪幾位發(fā)光或那幾位不發(fā)光,字位控制則需要通過(guò)字位碼作用于LED數(shù)碼管的公共引腳,是某一位或某幾位的數(shù)碼管可以發(fā)光。</p><p> 數(shù)碼管顯示電路分為動(dòng)態(tài)顯示和靜態(tài)顯示。</p><p> 靜態(tài)顯示方式是指每一個(gè)數(shù)碼管的字
34、段控制是獨(dú)立的,每一個(gè)數(shù)碼管都需要配置一個(gè)8位輸出口來(lái)輸出該字位的七段碼。因此需要顯示多位時(shí)需要多個(gè)輸出口,通常片內(nèi)并口不夠用,需要在片外擴(kuò)展。</p><p> 動(dòng)態(tài)顯示又稱為掃描顯示方式,也就是在某一時(shí)刻只能讓一個(gè)字位處于選通狀態(tài),其他字位一律斷開(kāi),同時(shí)在字段線上發(fā)出該位要顯示的字段碼,這樣在某一時(shí)刻某一位數(shù)碼管就會(huì)被點(diǎn)亮,并顯示出相應(yīng)的字符。下一時(shí)刻改變所顯示的字位和字段碼,點(diǎn)亮另一個(gè)數(shù)碼管,顯示另一個(gè)字
35、符。繞后一次掃描輪流點(diǎn)亮其他數(shù)碼管,只要掃描速度快,利用人眼的視覺(jué)殘留效應(yīng),會(huì)使人感覺(jué)到幾位數(shù)碼管都在穩(wěn)定的顯示。</p><p> 本設(shè)計(jì)采用數(shù)碼管動(dòng)態(tài)顯示,電路如下圖所示:</p><p><b> 顯示部分電路</b></p><p> 圖中由單片機(jī)P1口串接74HC245驅(qū)動(dòng)兩位共陽(yáng)極數(shù)碼管,上拉電阻排為10K。由P2.0和P2.
36、1通過(guò)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> 復(fù)位電路:在單片機(jī)的RST引腳引入高電平并保持2個(gè)機(jī)器周期時(shí),單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作。實(shí)際應(yīng)用中,復(fù)位操作有兩種形式:一種是上電復(fù)位,另一種是上電與按鍵均有效的復(fù)位
37、。如下圖所示</p><p> 上電復(fù)位要求接通電源后,單片機(jī)自動(dòng)實(shí)現(xiàn)復(fù)位操作。上電瞬間RST引腳獲得高電平,隨著電容的充電,RST引腳的高電平逐漸下降。只要RST引腳保持兩個(gè)機(jī)器周期的高電平單片機(jī)就可以進(jìn)行復(fù)位操作。該電路參數(shù)為:晶振為12MHz時(shí),電容為10μF,電阻為8.2KΩ;晶振為6MHz時(shí),電容為22μF,電阻為1 KΩ。本設(shè)計(jì)采用上電復(fù)位電路,電路參數(shù)為電容10μF,電阻8.2K.。</p&
38、gt;<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)稱晶振),就構(gòu)成了自己震蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào)。</p><p> 圖中電容器的作用是穩(wěn)定頻率和快速起振,電容值在5~30pF,典型值為3
39、0pF。晶振CYS的震蕩頻率范圍在1.2~12MHz間選擇,典型值為12MHz和6MHz。本設(shè)計(jì)采用12MHz晶振,電容值為20 pF。</p><p> 在電路總體設(shè)計(jì)中,EA\Vpp腳用于是從外部程序存儲(chǔ)器取指還是從內(nèi)部程序存儲(chǔ)器取指的選擇信號(hào)。當(dāng)EA\Vpp接高電平時(shí),先從片內(nèi)程序存儲(chǔ)器讀取指令,讀完4KB后,自動(dòng)改為片外取指。若EA\Vpp接低電平,則所有指令均從片外程序存儲(chǔ)器讀取。ALE腳用于輸出允許
40、地址所存信號(hào)。PSEN腳用于外部程序存儲(chǔ)器選通信號(hào),在對(duì)外部程序存儲(chǔ)器取指操作時(shí)此引腳置低電平有效。在執(zhí)行片內(nèi)程序存儲(chǔ)器取指時(shí)PESN腳無(wú)效。本設(shè)計(jì)無(wú)片外程序存儲(chǔ)器擴(kuò)展,所以將EA\V pp腳接高電平,ALE及PSEN腳懸空。 </p><p><b> 6 電源模塊</b></p><p> 控制系統(tǒng)主控制部分電源需要用5V直流電源供電,其電路如圖6所示,把頻率
41、為50Hz、有效值為220V的單相交流電壓轉(zhuǎn)換為幅值穩(wěn)定的5V直流電壓。其主要原理是把單相交流電經(jīng) 過(guò)電源變壓器、整流電路、濾波電路、穩(wěn)壓電路轉(zhuǎn)換成穩(wěn)定的直流電壓。
42、
43、 </p><p> 由于輸入電壓為電網(wǎng)電壓,一般情況下所需直流電壓的數(shù)值和電網(wǎng)電壓的有效值相差較大,因而電源變壓器的作用顯現(xiàn)出來(lái)起到降壓作用。降壓后還是交流電壓,所以需要整流電路把交流電壓轉(zhuǎn)換成直流電壓。由于經(jīng)整流電路整流后的電壓含有較大的交流分量,會(huì)影響到負(fù)載電路的正常工作。需通過(guò)低通濾波電路濾波,使輸出電壓平滑。穩(wěn)壓電路的功能是使輸出直流電壓基本不受電網(wǎng)電壓
44、波動(dòng)和負(fù)載電阻變化的影響,從而獲得穩(wěn)定性足夠高的直流電壓。本電路使用集成穩(wěn)壓芯片7805解決了電源穩(wěn)壓?jiǎn)栴}。</p><p><b> 圖6電源部分連線圖</b></p><p><b> 7 程序設(shè)計(jì)</b></p><p> 用匯編語(yǔ)言完成對(duì)設(shè)計(jì)的軟件編程,程序開(kāi)始首先對(duì)溫度傳感器DS18B20進(jìn)行復(fù)位,檢測(cè)是否
45、正常工作;接著讀取溫度數(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)過(guò)數(shù)據(jù)轉(zhuǎn)換,由數(shù)碼管顯示出來(lái),不斷循環(huán)。</p><p><b> 7.1 流程圖</b></p><p><b> 7.2 程序分析</b&g
46、t;</p><p> ?、賹?duì)DS18B20進(jìn)行復(fù)位,寫入和讀取溫度數(shù)據(jù)(在溫度傳感器DS18B20內(nèi)部完成,并實(shí)現(xiàn)對(duì)溫度信息的采集);讀取溫度流程如下:復(fù)位→發(fā)CCH命令(跳過(guò)ROM)→發(fā)44H命令→延時(shí)1s→復(fù)位→發(fā)CCH命令(跳過(guò)ROM)→發(fā)BEH命令(讀內(nèi)部RAM中9字節(jié)內(nèi)容)→連接從總線上讀出2個(gè)字節(jié)的數(shù)據(jù)(溫度數(shù)據(jù)的低8位和高8位)→結(jié)束</p><p><b>
47、部分程序代碼:</b></p><p> ?。?)DS18B20的復(fù)位子程序部分:</p><p> RESET_1820:</p><p><b> SETB DQ;</b></p><p><b> NOP</b></p><p><b>
48、 NOP</b></p><p><b> CLR DQ</b></p><p> ??;主機(jī)發(fā)出復(fù)位低脈沖</p><p> MOV R1,#3;</p><p> DLY: MOV R0,#107;</p><p> DJNZ R0,$;</p><p
49、> DJNZ R1,DLY;</p><p><b> ?。焕邤?shù)據(jù)線</b></p><p><b> SETB DQ</b></p><p><b> NOP</b></p><p><b> NOP</b></p>&l
50、t;p><b> NOP</b></p><p> ??;等待DS18B20的回應(yīng)</p><p> MOV R0,#25H;</p><p> T2:JNB DQ,T3;</p><p> DJNZ R0,T2;</p><p><b> JMP T4;</b
51、></p><p> ;標(biāo)志位flag=1,表示DS18B20存在</p><p> T3:SETB FLAG</p><p><b> JMP T5;</b></p><p> ??;標(biāo)志位flag=0,表示DS18B20不存在</p><p> T5:MOV R0,#117;&
52、lt;/p><p><b> T4:RET</b></p><p> 注:根據(jù)DS18B20的通信協(xié)議,每一次讀寫數(shù)據(jù)之前都要對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位要求主機(jī)先發(fā)出復(fù)位低脈沖(大于48us);然后釋放,DS18B20收到信號(hào)后等待16~60us,然后發(fā)出60~240us的存在低脈沖,主機(jī)收到此信號(hào)表示復(fù)位成功。</p><p><b
53、> 初始化時(shí)序</b></p><p> ?。?)DS18B20的寫入子程序部分:</p><p> WRITE_1820:</p><p> MOV R2,#8 ;一位共8位數(shù)據(jù)</p><p> CLR C ;C=0</p><p><b> W
54、R1:</b></p><p> CLR DQ ;總線低位,開(kāi)始寫入</p><p> MOV R3,#7;</p><p> DJNZ R3,$ ;保持16us以上</p><p> RRC A ;把字節(jié)DATA分成8個(gè)位,循環(huán)給C</p><p>
55、MOV DQ,C ;寫入一個(gè)位;</p><p> MOV R3,#23;</p><p> DJNE R3,$ ;等待</p><p> SETB DQ ;重新釋放總線;</p><p><b> NOP</b></p><p> DJNZ R
56、2,WR1 ;寫入下一個(gè)位;</p><p><b> SETB DQ</b></p><p><b> RET</b></p><p> 注:當(dāng)主機(jī)把數(shù)據(jù)從邏輯高電平拉到邏輯低電平的時(shí)候,寫時(shí)間隙開(kāi)始。有兩種寫時(shí)間隙,寫1 時(shí)間隙和寫0 時(shí)間隙。所有寫時(shí)間隙必須最少持續(xù)60μs,包括兩個(gè)寫周期至少1μs 的
57、恢復(fù)時(shí)間。I/O線電平變低后,DS18B20 在一個(gè)15μs 到60μs 的窗口內(nèi)對(duì)I/O 線采樣。如果線上事高電平,就是寫1,如果是低電平,就是寫0。主機(jī)要生成一個(gè)寫時(shí)間隙,必須把數(shù)據(jù)線拉到低電平然后釋放,在寫時(shí)間隙開(kāi)始后的15μs 內(nèi)允許數(shù)據(jù)線拉到高電平。主機(jī)要生成一個(gè)寫0 時(shí)間隙,必須把數(shù)據(jù)線拉到低電平并保存60μs。</p><p> 每個(gè)讀時(shí)隙都由主機(jī)發(fā)起,至少拉低總線1us,在主機(jī)發(fā)起讀時(shí)序之后,單
58、總線器件才開(kāi)始在總線上發(fā)送0 或1。所有讀時(shí)序至少需要60us。</p><p><b> 寫時(shí)序</b></p><p> ?。?)DS18B20的讀取子程序</p><p> READ_1820:</p><p> MOV R4 ,#2 ;讀取兩個(gè)字節(jié)的數(shù)字</p><p>
59、MOV R1,#29H ;低位存入29H,高位存入28H</p><p><b> RE0:</b></p><p> MOV R2,#8 ;數(shù)據(jù)一共有8位</p><p><b> RE1:</b></p><p><b> CLR C</b><
60、;/p><p><b> SETB DQ</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p> CLR DQ ;讀前總線保持為低</p><p><b>
61、NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p> SETB DQ ;開(kāi)始讀總線釋放</p><p> MOV R3,#9;</p><p><b> R
62、E2:</b></p><p> DJNZ R3,RE2 ;延時(shí)18us</p><p> MOV C,DQ ;從總線讀到一個(gè)位</p><p> MOV R3,#23;</p><p><b> RE3:</b></p><p> DJN
63、Z R3,RE3 ;等待50us</p><p> RRC A ;把讀得的位值循環(huán)移給A</p><p> DJNZ R2,RE1 ;讀取下一位</p><p> MOV @R1,A;</p><p><b> DEC R1</b></p>
64、<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í)間隙開(kāi)始,數(shù)據(jù)線必須保持至少1μs;從DS18B20輸出的數(shù)據(jù)在讀時(shí)間隙的下降沿出現(xiàn)后15μs 內(nèi)有效。</p><p> 因此,主機(jī)在讀時(shí)間
65、隙開(kāi)始后必須把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í)序</b></p><p> ?、讷@得實(shí)際測(cè)量溫度(溫度傳感器DS18B20把數(shù)據(jù)信息傳給單片機(jī),完成數(shù)據(jù)信息的傳輸);</p>
66、;<p> 數(shù)據(jù)轉(zhuǎn)化子程序部分:</p><p><b> TURN:</b></p><p> ANL 28H,#07H</p><p> ANL 29H,#0F0H</p><p><b> MOV A,28H</b></p><p><b&
67、gt; ORL 29H,A</b></p><p><b> MOV A,29H</b></p><p><b> SWAP A</b></p><p><b> MOV 29H,A</b></p><p><b> RET</b>&
68、lt;/p><p> 注:溫度傳感器DS18B20所測(cè)得的溫度數(shù)據(jù)低位存入29H,高位存入28H,將28H中的低4位移入29H中的高4位,獲得一個(gè)新字節(jié),這個(gè)字節(jié)就是實(shí)際測(cè)量的溫度。</p><p> ?、蹖y(cè)量的溫度數(shù)據(jù)在兩位數(shù)碼管上顯示出來(lái)(單片機(jī)把數(shù)據(jù)信息傳給LED數(shù)碼管顯示器,實(shí)現(xiàn)溫度的數(shù)字化顯示)。</p><p> 溫度顯示子程序部分:</p>
69、;<p><b> DISPLAY:</b></p><p> MOV A,29H;</p><p> MOV B,#10;</p><p><b> DIV AB</b></p><p> MOV B_bit ,A ;十位在A</p><p
70、> MOV A_bit,B ;個(gè)位在B</p><p> MOV DPTR ,#TABLE ;指定查表起始地址</p><p> MOV R0,#4;</p><p><b> DP1:</b></p><p> MOV R1,#250 ;顯示1000次</p>
71、<p><b> LOOP:</b></p><p> MOV A,A_bit ;取個(gè)位數(shù)</p><p> MOVC A,@a+DPTR ;查個(gè)位數(shù)的7段代碼</p><p> MOV P0,A ;送出個(gè)位的7段代碼</p><p> CLR P2.3
72、 ;開(kāi)個(gè)位顯示</p><p> ACALL DELAY</p><p> SETB P2.3</p><p> MOV A,B_bit ;取十位數(shù)</p><p> MOVC A,@A+DPTR ;查出十位數(shù)的7段代碼</p><p> MOV P0,A
73、 ;送出十位的7段代碼</p><p> CLR P2.2 ;開(kāi)十位顯示</p><p> ACALL DELAY ;顯示1ms</p><p><b> SETB P2.2</b></p><p> DJNZ R1,LOOP ;250次未完循環(huán)</p
74、><p> DJNZ R0,DP1 ;4個(gè)250次未完循環(huán)</p><p><b> RET</b></p><p><b> 8 實(shí)例測(cè)試</b></p><p> 實(shí)例測(cè)試:將寫入程序的單片機(jī)插入實(shí)驗(yàn)板插座內(nèi),檢查溫度傳感器DS18B20連接正常后接通電源,此時(shí),在兩位7段L
75、ED數(shù)碼管上將會(huì)準(zhǔn)確的顯示環(huán)境溫度,無(wú)需作任何調(diào)整。</p><p> 為了觀察溫度傳感器DS18B20對(duì)穩(wěn)定變化的靈敏度,可以用手握住DS18B20管,會(huì)看到數(shù)碼管上顯示的穩(wěn)定很快上升至人體溫度值,再將手離開(kāi)DS18B20管,溫度又會(huì)很快降至環(huán)境溫度值,溫度傳感器DS18B20的測(cè)量范圍為-55℃~+125℃,在-10℃~+85℃時(shí)精度為±0.5℃。</p><p><
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 溫度傳感器課程設(shè)計(jì)報(bào)告
- 溫度傳感器課程設(shè)計(jì)報(bào)告
- 溫度傳感器課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)----溫度傳感器
- 溫度傳感器課程設(shè)計(jì)
- 溫度課程設(shè)計(jì)報(bào)告書--溫度傳感器
- 數(shù)字溫度傳感器課程設(shè)計(jì)論文
- 模電溫度傳感器課程設(shè)計(jì)
- 傳感器課程設(shè)計(jì)---半導(dǎo)體溫度傳感器應(yīng)用設(shè)計(jì)
- 18b20溫度傳感器課程設(shè)計(jì)報(bào)告
- 傳感器課程設(shè)計(jì)-數(shù)字溫度計(jì)
- 傳感器課程設(shè)計(jì)--基于ad590溫度傳感器的溫度系統(tǒng)的設(shè)計(jì)
- 二極管溫度傳感器課程設(shè)計(jì)報(bào)告
- 傳感器課程設(shè)計(jì)--利用集成溫度傳感器ad590設(shè)計(jì)電阻溫度計(jì)
- 傳感器課程設(shè)計(jì)
- 傳感器課程設(shè)計(jì)
- 傳感器課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)基于數(shù)字溫度傳感器的數(shù)字溫度計(jì)課程設(shè)計(jì)報(bào)告
- 51單片機(jī)溫度傳感器課程設(shè)計(jì)報(bào)告書
- 傳感器課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論