2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩31頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì) 說(shuō) 明 書(shū)</p><p>  題目: 熱敏電阻測(cè)溫顯示系統(tǒng) </p><p>  2013年 7月7日</p><p>  課程設(shè)計(jì)(論文)任務(wù)書(shū)</p><p>  院(系):電氣工程學(xué)院 基層教學(xué)單位:儀器科學(xué)與工程系 </p&

2、gt;<p>  說(shuō)明:此表一式四份,學(xué)生、指導(dǎo)教師、基層教學(xué)單位、系部各一份。</p><p><b>  目 錄</b></p><p><b>  第一章 摘要2</b></p><p>  第二章 總體設(shè)計(jì)4</p><p>  2.1 理論分析4<

3、;/p><p>  2.2 過(guò)程分析4</p><p>  第三章 硬件電路設(shè)計(jì)5</p><p>  3.1 傳感器電路模塊5</p><p>  3.2 A/D變換電路模塊9</p><p>  3.3 八段數(shù)碼管顯示12</p><p>  3.4 8051芯片介紹15

4、</p><p>  3.5 電源電路16</p><p>  第四章 壓力傳感器實(shí)驗(yàn)數(shù)據(jù)采集、顯示及程序16</p><p>  4.1 數(shù)據(jù)采集及顯示17</p><p>  4.2 程序設(shè)計(jì)17</p><p>  拓展 DS18B20芯片測(cè)溫顯示系統(tǒng)......................

5、...................................23</p><p>  第六章 心得體會(huì)29</p><p>  參考文獻(xiàn)資料 30</p><p><b>  第一章 摘要</b></p><p>  隨著以知識(shí)經(jīng)濟(jì)為特征的信息化時(shí)代的到來(lái)人們對(duì)儀器儀表的認(rèn)識(shí)更加深入,溫度作為一個(gè)重要的

6、物理量,是工業(yè)生產(chǎn)過(guò)程中最普遍,最重要的工藝參數(shù)之一。隨著工業(yè)的不斷發(fā)展,對(duì)溫度的測(cè)量的要求也越來(lái)越高,而且測(cè)量的范圍也越來(lái)越廣,對(duì)溫度的檢測(cè)技術(shù)的要求也越來(lái)越高,因此,溫度測(cè)量及其測(cè)量技術(shù)的研究也是一個(gè)很重要的課題。</p><p>  目前溫度計(jì)按測(cè)使用的溫度計(jì)種類(lèi)繁多,應(yīng)用范圍也比較廣泛,大致可以包括以下幾種方法:</p><p>  1 利用物體熱脹冷縮原理制成的溫度計(jì)&l

7、t;/p><p>  2 利用熱電效應(yīng)技術(shù)制成的溫度檢測(cè)元件</p><p>  3 利用熱阻效應(yīng)技術(shù)制成的溫度計(jì)</p><p>  4 利用熱輻射原理制成的高溫計(jì)</p><p>  5 利用聲學(xué)原理進(jìn)行溫度測(cè)量</p><p>  本系統(tǒng)的溫度測(cè)量采用的就是熱阻效應(yīng)。本文設(shè)計(jì)一個(gè)采用熱

8、敏電阻為敏感元件的溫度測(cè)量顯示系統(tǒng),溫度顯示范圍為0-100,顯示分辨率為0.1。通過(guò)熱敏電阻溫度傳感器、A\D模數(shù)轉(zhuǎn)換器、LED顯示電路并利用匯編語(yǔ)言編寫(xiě)程序,最終實(shí)現(xiàn)溫度測(cè)量系統(tǒng)。測(cè)溫電橋的主要部分是熱敏電阻。</p><p>  熱敏電阻的主要特點(diǎn)是:①靈敏度較高,其電阻溫度系數(shù)要比金屬大10~100倍以上,能檢測(cè)出10-6℃的溫度變化;②工作溫度范圍寬,常溫器件適用于-55℃~315℃,高溫器件適用溫度高

9、于315℃(目前最高可達(dá)到2000℃),低溫器件適用于-273℃~55℃;③體積小,能夠測(cè)量其他溫度計(jì)無(wú)法測(cè)量的空隙、腔體及生物體內(nèi)血管的溫度;④使用方便,電阻值可在0.1~100kΩ間任意選擇;⑤易加工成復(fù)雜的形狀,可大批量生產(chǎn);⑥穩(wěn)定性好、過(guò)載能力強(qiáng)。</p><p>  溫度是表征物體冷熱程度的物理量,常見(jiàn)的溫度傳感器有熱電阻傳感器、 熱敏電阻傳感器、 熱電偶溫度 傳感器、 集成溫度傳感器。熱敏電阻本身是一

10、個(gè)利用其電阻值隨溫度變化而 變化的溫度傳感元件, 而且其靈敏度高、 體積小、 使用方便、 結(jié)構(gòu)簡(jiǎn)單等 優(yōu)點(diǎn), 因此利用熱敏電阻制成的溫度計(jì)廣泛應(yīng)用于航空、 醫(yī)學(xué)、 工業(yè)及 家用電器等方面做測(cè)溫、 控制、 溫度補(bǔ)償、 流速測(cè)量、 液面指示等。采用 以單片機(jī)為核心的熱敏電阻溫度計(jì)能很容易地減小上述影響,并且讀 數(shù)方便, 精確度高, 更顯數(shù)字化。</p><p>  本設(shè)計(jì)采用全橋測(cè)量電路,使系統(tǒng)產(chǎn)生的誤差更小,輸出的

11、數(shù)據(jù)更精確。而運(yùn)算放大電路的作用就是把傳感器輸出的微弱的模擬信號(hào)進(jìn)行一定倍數(shù)的放大,以滿足A/D轉(zhuǎn)換器對(duì)輸入信號(hào)電平的進(jìn)行各種轉(zhuǎn)換處理的要求。ADC0809 的A/D轉(zhuǎn)換作用是進(jìn)行模數(shù)轉(zhuǎn)換把模擬信號(hào)轉(zhuǎn)變成數(shù)字信號(hào),然后把數(shù)字信號(hào)輸送到顯示電路中去,由六位(本實(shí)驗(yàn)采用四位)八段數(shù)碼管顯示出測(cè)量結(jié)果。</p><p>  關(guān)鍵字:溫度傳感器 熱敏電阻 A/D數(shù)模轉(zhuǎn)換 數(shù)碼管動(dòng)態(tài)顯示</p><

12、;p><b>  第二章 總體設(shè)計(jì)</b></p><p><b>  2.1 理論分析</b></p><p>  溫度測(cè)量模塊主要為溫度測(cè)量電橋,當(dāng)溫度發(fā)生變化時(shí),電橋失去平衡,從而在電橋輸出端有電壓輸出,但該電壓很小。經(jīng)過(guò)集成放大器放大,將放大后的信號(hào)輸入AD轉(zhuǎn)換芯片, 進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,

13、就可以將被測(cè)溫度顯示出來(lái)。</p><p>  ↑ </p><p><b>  圖1—1系統(tǒng)框圖 </b></p><p>  圖2.1.1 系統(tǒng)硬件原理圖如圖1—1</p><p><b>  2.2 過(guò)程分析</b></p><p>

14、  該溫度傳感器系統(tǒng)硬件原理圖如圖1—1所示,由熱電阻傳感器測(cè)得外界溫度,經(jīng)過(guò)信號(hào)放大,然后送給模數(shù)轉(zhuǎn)換,將原有的模擬信號(hào)轉(zhuǎn)換為可以被單片機(jī)識(shí)別和運(yùn)算的數(shù)字信號(hào),然后再通過(guò)軟件編程由顯示電路顯示出來(lái)當(dāng)前所測(cè)得的溫度。</p><p>  它的各部分電路說(shuō)明如下:</p><p><b> ?。?).測(cè)溫模塊:</b></p><p>  該部分

15、電路主要使用測(cè)溫電橋,當(dāng)溫度變化時(shí),電橋處于不平衡狀態(tài),從而輸出不平衡電壓,為測(cè)溫的基礎(chǔ)。</p><p>  (2).信號(hào)處理部分:</p><p>  該部分電路包括電壓信號(hào)的放大和AD轉(zhuǎn)換,實(shí)現(xiàn)模數(shù)變換,以及硬件濾波。</p><p><b>  (3)單片機(jī)部分:</b></p><p>  本實(shí)驗(yàn)采用8051單

16、片機(jī),其工作在最小模式下,主要任務(wù)有:控制AD0809進(jìn)行模數(shù)轉(zhuǎn)換、形成必要的時(shí)序、進(jìn)行數(shù)據(jù)計(jì)算以及控制數(shù)碼管顯示。</p><p>  (4).電源電路部分:</p><p>  該部分電路負(fù)責(zé)將輸入的9V~12V直流電,分別轉(zhuǎn)換為穩(wěn)定的9V、5V、-9V直流電,給傳感器,放大電路,單片機(jī),AD0809等供電。</p><p><b>  (5).顯示電

17、路:</b></p><p>  顯示電路的作用是將測(cè)量的溫度利用動(dòng)態(tài)數(shù)碼管實(shí)時(shí)顯示出來(lái)。</p><p>  第三章 硬件電路設(shè)計(jì)</p><p>  3.1傳感器電路模塊</p><p>  1 測(cè)溫電橋及信號(hào)放大電路</p><p>  圖3.1.1 測(cè)溫電橋及信號(hào)放大電路</p>

18、<p>  上圖是一個(gè)比較常用的溫度測(cè)量電路,大致分為電源,電阻電橋,運(yùn)放,輸出部分。電源由R4,R6,C1,U1B組成,R4,R6為分壓電路,C1主要濾除VCC中紋波,U1B為L(zhǎng)M324運(yùn)算放大器,工作于電壓跟隨器方式,其特點(diǎn)是具有高輸入阻抗低輸出阻抗,為后級(jí)電橋提供較穩(wěn)定的電流。電橋由R1,R2,R3,R13及熱敏電阻組成,通過(guò)調(diào)節(jié)R13使電橋平衡,當(dāng)溫度發(fā)生變化時(shí),熱敏電阻變化,電橋產(chǎn)生電壓差。運(yùn)放電路由R7,R8,

19、R9,R10及U1A組成,調(diào)節(jié)R14可以調(diào)節(jié)輸出電壓幅值。D1主要用于防止輸出負(fù)電壓,保護(hù)后級(jí)A/D電路。</p><p><b>  2.測(cè)溫電橋</b></p><p>  圖3.1.2 測(cè)溫電橋</p><p>  如上圖所示,熱敏電阻RT和RA1,RB1,RC1,以及可變電阻R2組成一個(gè)測(cè)溫電橋,在溫度為20度時(shí),調(diào)節(jié)R2使電橋達(dá)到平衡

20、。當(dāng)溫度升高時(shí),熱敏電阻的阻值變大,電橋失去平衡,電橋輸出的不平衡電壓,經(jīng)過(guò)濾波后,輸入運(yùn)算放大器,進(jìn)行放大處理。</p><p><b>  電橋的分析</b></p><p>  圖3.1.3 電橋原理圖</p><p>  (1)電橋輸出電壓:</p><p><b>  =</b><

21、/p><p> ?。?)電橋平衡條件:</p><p>  當(dāng)各橋臂發(fā)生微小變化時(shí),電橋失去平衡,其輸出為:</p><p>  一般R很小,即R<<R,又電橋開(kāi)始平衡,即</p><p><b>  所以</b></p><p>  實(shí)際使用中,為了簡(jiǎn)化橋路設(shè)計(jì),同時(shí)也為了得到電橋的最大

22、靈敏度,往往取橋臂電阻相等。</p><p><b>  4.放大電路</b></p><p>  最后經(jīng)過(guò)放大部分,如圖3.2.3,為壓力傳感器的微弱電壓輸出的放大電路。分析它是一個(gè)差分放大電路,其放大倍數(shù)為,那么放大后的電壓值為,因?yàn)楹蜏囟萒有一定的線性關(guān)系,A/D轉(zhuǎn)換器的最大輸入電壓為5v,因此對(duì)應(yīng)A/D輸出的電壓,與熱敏電阻感知的外界溫度具有一定的線性關(guān)系。&

23、lt;/p><p>  圖4.1.3放大電路</p><p>  3.2 A/D變換電路模塊</p><p>  ADC0809是M美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的CMOS工藝8通道,8位逐次逼近式A/D轉(zhuǎn)換器。其內(nèi)部有一個(gè)8通道多路開(kāi)關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選通8路模擬輸入信號(hào)中的一個(gè)進(jìn)行A/D轉(zhuǎn)換,是目前國(guó)內(nèi)應(yīng)用最廣泛的8位通用A/D芯片。</p&g

24、t;<p><b>  1主要特性:</b></p><p> ?。?)8路輸入通道,8位A/D轉(zhuǎn)換器,即分辨率為8位</p><p> ?。?)具有轉(zhuǎn)換啟??刂贫?lt;/p><p>  (3)轉(zhuǎn)換時(shí)間為100us(時(shí)鐘為640kHZ時(shí)),130us(時(shí)鐘為500KHZ時(shí))</p><p>  (4)它由單一

25、+5V電源供電,片內(nèi)帶有鎖存功能的8路模擬多路開(kāi)關(guān),ADC0809可對(duì)0V—5V的雙極性模擬信號(hào)進(jìn)行轉(zhuǎn)換。</p><p> ?。?),引腳圖如圖4.2.1 所示。各引腳功能說(shuō)明如下:</p><p> ?。?位數(shù)字量輸出引腳,由最低引腳到最高引腳。</p><p>  IN0—IN7:8路模擬量輸入引腳。</p><p><b>

26、 ?。?5V工作電壓。</b></p><p><b>  GND:地。</b></p><p>  REF(+):參考電壓正端。</p><p>  REF(—):參考電壓負(fù)端。</p><p>  START:A/D轉(zhuǎn)換啟動(dòng)信號(hào)輸入端。</p><p>  ALE:地址鎖存允許信號(hào)

27、輸入端。以上兩個(gè)信號(hào)用于啟動(dòng)A/D轉(zhuǎn)換。</p><p>  EOC:轉(zhuǎn)換結(jié)束信號(hào)輸出引腳。開(kāi)始轉(zhuǎn)換時(shí)為低電平,轉(zhuǎn)換結(jié)束時(shí)為高電平。</p><p>  OE:輸出允許控制端。用以打開(kāi)三態(tài)數(shù)據(jù)輸出鎖存器。</p><p>  CLK:時(shí)鐘信號(hào)輸入端。</p><p>  ADDA、ADDB、ADDC:地址輸入線。經(jīng)譯碼后可選通IN0—IN7

28、8個(gè)通道的一個(gè)通道進(jìn)行轉(zhuǎn)換。</p><p>  圖3.2.1 ADC0809各引腳圖</p><p>  實(shí)驗(yàn)電路及接線如下圖示 :</p><p>  圖3.2.2 接線框圖 </p><p>  A/D轉(zhuǎn)換器的結(jié)構(gòu)及連線圖如上圖所示,AD0809的工作過(guò)程如下:首先用指令選擇0809的一個(gè)模擬輸入通道,當(dāng)執(zhí)行M

29、OVX @DPTR,A時(shí),產(chǎn)生一個(gè)啟動(dòng)信號(hào)給START引腳送入脈沖,開(kāi)始對(duì)選中通道轉(zhuǎn)換。當(dāng)轉(zhuǎn)換結(jié)束后發(fā)出結(jié)束信號(hào),置EOC引腳信號(hào)為高電平,該信號(hào)可以作為中斷申請(qǐng)信號(hào),當(dāng)讀允許信號(hào)到,OE端有高電平,則可以讀出轉(zhuǎn)換的數(shù)字量,利用MOVX A,@DPTR把該通道轉(zhuǎn)換結(jié)果讀到累加器A中。轉(zhuǎn)換電壓為0—5V,調(diào)節(jié)橋路中的電位器,使其輸出電壓為0—5V,可以在較小范圍內(nèi)波動(dòng),當(dāng)滿量程輸出時(shí)對(duì)應(yīng)八個(gè)1的輸出,由于前邊計(jì)算的電壓變化和電阻變化成正比

30、關(guān)系,而且電阻變化和應(yīng)變成正比,進(jìn)而得出的壓力和電壓是成正比的。傳感器橋路輸出的電壓經(jīng)過(guò)比例變換后轉(zhuǎn)換成二進(jìn)制碼的形式送入P0口。其程序框圖如下:</p><p>  圖3.2.3A/D轉(zhuǎn)換電路程序框圖</p><p>  3.3八段數(shù)碼管顯示</p><p>  1.實(shí)驗(yàn)線路及接線如下 </p><p>  圖3.3.1 接口圖</

31、p><p>  2.動(dòng)態(tài)顯示數(shù)碼管接線部分</p><p>  圖3.3.2 數(shù)碼管電路接線圖</p><p>  用6 位8 段碼LED 顯示電路,只要按地址輸出相應(yīng)數(shù)據(jù),就可以實(shí)現(xiàn)對(duì)顯示器的控制。顯示共有6 位,用動(dòng)態(tài)方式顯示。8 位段碼、6 位位碼是由兩片74LS374 輸出。位碼經(jīng)MC1413 或ULN2003 倒相驅(qū)動(dòng)后,選擇相應(yīng)顯示位。 本實(shí)驗(yàn)儀中 8 位

32、段碼輸出地址為0X004H,位碼輸出地址為 0X002H。此處X 是由KEY/LED CS 決定,參見(jiàn)地址譯碼。做LED 實(shí)驗(yàn)時(shí),需將KEY/LED CS 接到相應(yīng)的地址譯碼上。以便用相應(yīng)的地址來(lái)訪問(wèn)。例如,將KEY/LED CS 接到CS0 上,則段碼地址為08004H,位碼地址為08002H 七段數(shù)碼管的字型顯示表如下: </p><p>  顯示過(guò)程如下:經(jīng)過(guò)單片機(jī)P0輸出的八位二進(jìn)制碼,變換成BCD碼,在

33、數(shù)碼管上顯示,經(jīng)過(guò)段選信號(hào)和位選信號(hào)的控制,最后在相應(yīng)數(shù)碼管上顯示出相應(yīng)的溫度值。程序框圖</p><p><b>  如下:</b></p><p>  圖3.3.3 數(shù)碼管程序框圖</p><p>  圖3.3.4 地址碼插孔及對(duì)應(yīng)地址范圍</p><p>  3.4 8051芯片介紹</p><

34、p>  本實(shí)驗(yàn)采用8051單片機(jī),其管腳圖如下:</p><p>  圖3.4.1 80C51的引腳圖</p><p><b>  1.電源</b></p><p> ?。?)VCC - 芯片電源,接+5V; </p><p> ?。?)VSS - 接地端; </p><p><b&

35、gt;  2.時(shí)鐘</b></p><p>  XTAL1、XTAL2 - 晶體振蕩電路反相輸入端和輸出端。 </p><p><b>  3.控制線(4根)</b></p><p> ?。?)ALE/PROG:地址鎖存允許/片內(nèi)EPROM編程脈沖。</p><p> ?、?ALE功能:用來(lái)鎖存P0口送出的低

36、8位地址。</p><p> ?、?PROG功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。 </p><p> ?。?)PSEN:外ROM讀選通信號(hào)。</p><p> ?。?)RST/VPD:復(fù)位/備用電源。 </p><p> ?、?RST(Reset)功能:復(fù)位信號(hào)輸入端。 </p>&

37、lt;p> ?、?VPD功能:在Vcc掉電情況下,接備用電源。</p><p> ?。?)EA/Vpp:內(nèi)外ROM選擇/片內(nèi)EPROM編程電源。</p><p> ?、?EA功能:內(nèi)外ROM選擇端。 </p><p>  ② Vpp功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,施加編程電源Vpp。 </p><p><b&g

38、t;  4.I/O線 </b></p><p>  80C51共有4個(gè)8位并行I/O端口:P0、P1、P2、P3口,共32個(gè)引腳。P3口還有 第二功能,用于特殊信號(hào)輸入輸出和控制信號(hào)(屬控制總線)。</p><p><b>  3.5 電源電路</b></p><p>  電源是整套系統(tǒng)工作的基礎(chǔ)

39、,要實(shí)現(xiàn)溫度的精確測(cè)量與顯示跟一個(gè)合適的穩(wěn)定的電源是密不可分的,由系統(tǒng)組成可知,系統(tǒng)要正常工作需要一個(gè)穩(wěn)定的+5V電源,用來(lái)給測(cè)溫電橋,單片機(jī),顯示模塊,AD模塊供電,要實(shí)現(xiàn)信號(hào)的放大還需要給放大模塊提供穩(wěn)定的+9V ,-9V電源。</p><p>  第四章 溫度傳感器實(shí)驗(yàn)數(shù)據(jù)采集、顯示及程序</p><p>  4.1 數(shù)據(jù)采集及顯示</p><p>  數(shù)

40、據(jù)處理子程序是整個(gè)程序的核心。主要用來(lái)調(diào)整輸入值系數(shù),使輸出滿足量程要求。另外完成A/D的采樣結(jié)果從十六進(jìn)制數(shù)向十進(jìn)制數(shù)形式轉(zhuǎn)化。系數(shù)轉(zhuǎn)換在IN0輸入的數(shù)最大為5V,要求壓力80N對(duì)應(yīng)的是5V,為十六進(jìn)制向十進(jìn)制轉(zhuǎn)換方便,將系數(shù)進(jìn)行一定倍數(shù)的變換,并用小數(shù)點(diǎn)位置的變化體現(xiàn)這一過(guò)程。數(shù)制之間的轉(zhuǎn)換:在二進(jìn)制數(shù)制中,每向左移一位表示數(shù)增加兩倍。要求壓力80N對(duì)應(yīng)的是5V,而壓力與電壓的變換是線性關(guān)系,對(duì)應(yīng)AD轉(zhuǎn)換器的輸出為八個(gè)1,當(dāng)有一定的

41、壓力值輸入時(shí),對(duì)應(yīng)這個(gè)關(guān)系轉(zhuǎn)化成相應(yīng)的二進(jìn)制代碼送入P0口。然后再反過(guò)來(lái)應(yīng)用這個(gè)變化關(guān)系,經(jīng)最終得到的數(shù)值進(jìn)行二進(jìn)制到BCD碼轉(zhuǎn)化,然后逐位在LED數(shù)碼管上顯示。</p><p>  數(shù)據(jù)采集用A/D0809芯片來(lái)完成,主要分為啟動(dòng)、讀取數(shù)據(jù)、延時(shí)等待轉(zhuǎn)換結(jié)束、讀出轉(zhuǎn)換結(jié)果、存入指定內(nèi)存單元、繼續(xù)轉(zhuǎn)換(退出)幾個(gè)步驟。ADC0809初始化后,就具有了將某一通道輸入的0~5模擬信號(hào)轉(zhuǎn)換成對(duì)應(yīng)的數(shù)字量00H—FFH,

42、然后再存入存儲(chǔ)器的指定單元中。在控制方面有所區(qū)別??梢圆捎贸绦虿樵兎绞?,延時(shí)等待方式和中斷方式。</p><p>  顯示子程序是字符顯示,首先調(diào)用事先編好數(shù)碼管顯示子程序。初始化命令,然后輸出顯示命令。在顯示過(guò)程中一定要調(diào)用延時(shí)子程序。當(dāng)輸入通道采集了一個(gè)新的過(guò)程參數(shù),當(dāng)有壓力信號(hào)輸入時(shí),調(diào)用顯示子程序在數(shù)碼管上顯示。</p><p>  4.2 程序的設(shè)計(jì)</p>&

43、lt;p>  ADC EQU 41H</p><p>  LED3 EQU 31H</p><p>  LED2 EQU 32H</p><p>  LED1 EQU 33H</p><p>  LED0 EQU 34H</p><p><b>  ORG 0000H</b></p&g

44、t;<p><b>  LJMP MAIN</b></p><p>  MAIN:MOV LED0,#00H</p><p>  MOV LED1,#00H</p><p>  MOV LED2,#00H</p><p>  MOV LED3,#00H</p><p>  LOOP:

45、MOV DPTR,#08000H</p><p>  MOV A,#00H</p><p>  MOVX @DPTR,A</p><p>  LCALL DELAY</p><p>  MOV DPTR,#08000H</p><p>  MOVX A,@DPTR</p><p><b&

46、gt;  MOV B,A</b></p><p>  MOV A,#0FFH</p><p><b>  CLR C</b></p><p><b>  SUBB A,B</b></p><p><b>  MOV ADC,A</b></p><

47、p>  TRSL:MOV A,ADC</p><p><b>  MOV R0,A</b></p><p>  XRL A,#0FFH</p><p><b>  JZ MAX</b></p><p><b>  MOV A,R0</b></p><p

48、><b>  MOV B,#10</b></p><p><b>  MUL AB</b></p><p><b>  MOV R0,A</b></p><p><b>  MOV A,B</b></p><p>  MOV DPTR,#TABLE&

49、lt;/p><p>  MOVC A,@A+DPTR</p><p>  MOV LED2,A</p><p><b>  MOV A,R0</b></p><p><b>  MOV B,#10</b></p><p><b>  MUL AB</b>&l

50、t;/p><p><b>  MOV R0,A</b></p><p><b>  MOV A,B</b></p><p>  MOV DPTR,#TABLE</p><p>  MOVC A,@A+DPTR</p><p>  ADD A,#80H</p><

51、;p>  MOV LED1,A</p><p><b>  MOV A,R0</b></p><p><b>  MOV B,#10</b></p><p><b>  MUL AB</b></p><p><b>  MOV A,B</b><

52、/p><p>  MOV DPTR,#TABLE</p><p>  MOVC A,@A+DPTR</p><p>  MOV LED0,A</p><p>  LCALL SMXS</p><p><b>  SJMP LOOP</b></p><p>  SMXS:MOV

53、R0, #LED3</p><p><b>  MOV R1,#4</b></p><p>  MOV R2, #00100000B</p><p>  SMXS1:MOV DPTR,#09002H</p><p>  MOV A,#00H</p><p>  MOVX @DPTR,A </

54、p><p><b>  MOV A,@R0</b></p><p>  MOV DPTR,#09004H</p><p>  MOVX @DPTR,A</p><p>  MOV DPTR,#09002H</p><p><b>  MOV A,R2</b></p>

55、<p>  MOVX @DPTR,A </p><p>  LCALL DELAY</p><p><b>  MOV A,R2</b></p><p><b>  RR A</b></p><p><b>  MOV R2,A</b></p>

56、<p><b>  INC R0</b></p><p>  DJNZ R1,SMXS1</p><p>  MOV DPTR,#09002H</p><p>  MOV A,#00H</p><p>  MOVX @DPTR,A</p><p><b>  RET<

57、/b></p><p>  DELAY:MOV R7,#10</p><p>  DELAY1:MOV R6,#12</p><p><b>  NOP</b></p><p><b>  DJNZ R6,$</b></p><p>  DJNZ R7,DELAY1&l

58、t;/p><p><b>  RET</b></p><p>  MAX:MOV LED3,#06H</p><p>  MOV LED2,#3FH</p><p>  MOV LED1,#3FH</p><p>  MOV LED0,#3FH</p><p>  TABLE:

59、db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h</p><p>  db 7fh,6fh,77h,7ch,39h,5eh,79h,71h</p><p><b>  拓展</b></p><p>  DS18B20芯片測(cè)溫顯示系統(tǒng)</p><p>  DS18B20數(shù)字單線溫度計(jì)以9位數(shù)字量的形式反

60、映器件的溫度值。DS18B20通過(guò)一個(gè)單線接口發(fā)送或接收信息,因此在中央微處理器和DS18B20 之間僅需一條連接線(加上地線)。用于讀寫(xiě)和溫度轉(zhuǎn)換的電源可以從數(shù)據(jù)線本身獲得,無(wú)需外部源。因?yàn)槊總€(gè)DS18B20都有一個(gè)獨(dú)特的片序列號(hào),所以多只DS18B20可以同時(shí)連在一根單線總線上,這樣就可以把溫度傳感器放在許多不同的地方。這一特性在HVAC環(huán)境控制、探測(cè)建筑物、儀器或機(jī)器的溫度以及過(guò)程監(jiān)測(cè)和控制等方面非常有用。</p>

61、<p>  DS18B20依靠一個(gè)單線端口通訊。在單線端口條件下,必須先建立ROM操作協(xié)議,才能進(jìn)行存儲(chǔ)器和控制操作。因此,控制器必須首先提供下面5個(gè)ROM操作命令之一:1)讀ROM,2)匹配ROM,3)搜索ROM,4)跳過(guò)ROM,5)報(bào)警搜索。這些命令對(duì)每個(gè)器件的激光ROM部分進(jìn)行操作,在單線總線上掛有多個(gè)器件時(shí),可以區(qū)分出單個(gè)器件,同時(shí)可以向總線控制器指明有多少器件或是什么型號(hào)的器件。成功執(zhí)行完一條ROM 操作序列后,即可

62、進(jìn)行存儲(chǔ)器和控制操作,控制器可以提供6條存儲(chǔ)器和控制操作指令中的任一條。</p><p>  一條控制操作命令指示DS18B20完成一次溫度測(cè)量。測(cè)量結(jié)果放在DS18B20的暫存器里,用一條讀暫存器內(nèi)容的存儲(chǔ)器操作命令可以把暫存器中數(shù)據(jù)讀出。溫度報(bào)警觸發(fā)器TH和TL各由一個(gè)EEPROM字節(jié)構(gòu)成。如果沒(méi)有對(duì)DS18B20使用報(bào)警搜索命令,這些寄存器可以做為一般用途的用戶存儲(chǔ)器使用??梢杂靡粭l存儲(chǔ)器操作命令對(duì)TH和T

63、L 進(jìn)行寫(xiě)入,對(duì)這些寄存器的讀出需要通過(guò)暫存器。所有數(shù)據(jù)都是以最低有效位在前的方式進(jìn)行讀寫(xiě)。B不過(guò)與熱敏電阻類(lèi)似的,DS18B20也必須連接A/D轉(zhuǎn)換器,以實(shí)現(xiàn)模擬與數(shù)字之間的轉(zhuǎn)換,接線如下圖:</p><p>  與80c51單片機(jī)的接線部分,可以在單片機(jī)的最小系統(tǒng)中實(shí)現(xiàn),我們連線時(shí)只需要連接我們需要的線路就可以了單片機(jī)最小系統(tǒng)如下:</p><p>  顯示采用八段數(shù)碼管顯示(實(shí)際上只

64、會(huì)用到四段數(shù)碼管)如圖:</p><p>  DS18B20測(cè)溫程序如下:(由于水平有限故在此采用C語(yǔ)言程序)</p><p>  #include<REG52.H></p><p>  #include<math.h></p><p>  #include<INTRINS.H></p>&l

65、t;p>  #define uchar unsigned char</p><p>  #define uint unsigned int;</p><p>  /*****************************************************************************/</p><p>  //sbit s

66、eg1=P1^0;</p><p>  //sbit seg2=P1^1;</p><p>  //sbit seg3=P1^2;</p><p>  sbit DQ=P2^7;//ds18b20 端口</p><p>  sfr dataled=0x80;//顯示數(shù)據(jù)端口</p><p>  /***********

67、***********************************************************/ </p><p>  uchar temp;</p><p>  uchar flag_get,count,num,minute,second;</p><p>  uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x

68、66,0x6d,0x7d,0x07,0x7f,0x6f};//7段數(shù)碼管段碼表共陰</p><p>  uchar a,b;</p><p>  /***********************************************************************/</p><p>  void delay1(uchar MS);<

69、/p><p>  unsigned char ReadTemperature(void);</p><p>  void Init_DS18B20(void);</p><p>  unsigned char ReadOneChar(void);</p><p>  void WriteOneChar(unsigned char dat);<

70、;/p><p>  void delay(unsigned int i);</p><p>  /************************************************************************/</p><p><b>  main()</b></p><p><b&g

71、t;  {</b></p><p>  TMOD|=0x01;//定時(shí)器設(shè)置</p><p><b>  TH0=0xef;</b></p><p><b>  TL0=0xf0;</b></p><p><b>  IE=0x82;</b></p>

72、<p>  TR0=1;//啟動(dòng)定時(shí)器</p><p><b>  P1=0x00;</b></p><p><b>  count=0;</b></p><p><b>  while(1)</b></p><p><b>  {</b><

73、;/p><p>  // str[2]=0x39;//顯示C符號(hào)</p><p>  a=tab[temp/10]; //十位溫度</p><p>  b=tab[temp%10]; //個(gè)位溫度</p><p>  if(flag_get==1) //定時(shí)讀取當(dāng)前溫度</p><p><b>  {<

74、/b></p><p>  temp=ReadTemperature()-1;</p><p>  flag_get=0;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b><

75、;/p><p>  void tim(void) interrupt 1 using 1//中斷,用于數(shù)碼管掃描和溫度檢測(cè)間隔</p><p><b>  {</b></p><p>  TH0=0xef;//定時(shí)器重裝值</p><p><b>  TL0=0xf0;</b></p>&

76、lt;p><b>  num++;</b></p><p>  if (num==50)</p><p><b>  {num=0;</b></p><p>  flag_get=1;//標(biāo)志位有效</p><p><b>  second++;</b></p>

77、;<p>  if(second>=60)</p><p>  {second=0;</p><p>  minute++; </p><p><b>  }</b></p><p><b>  }</b></p><p><b>  coun

78、t++;</b></p><p>  if(count==1)</p><p><b>  {P1=0xfe;</b></p><p>  dataled=a;}//數(shù)碼管掃描</p><p>  if(count==2)</p><p><b>  {P1=0xfd;<

79、;/b></p><p>  dataled=b;count=0;}</p><p>  /*if(count==3)</p><p><b>  { P1=2;</b></p><p>  dataled=str[2];</p><p>  count=0;}*/</p>&

80、lt;p><b>  }</b></p><p>  /*************************************************************************************/</p><p>  void delay(unsigned int i)//延時(shí)函數(shù)</p><p><

81、b>  {</b></p><p>  while(i--);</p><p><b>  }</b></p><p>  /***************************************************************************************/</p>&

82、lt;p>  //18b20初始化函數(shù)</p><p>  void Init_DS18B20(void)</p><p><b>  {</b></p><p>  unsigned char x=0;</p><p>  DQ = 1; //DQ復(fù)位</p><p>  delay

83、(8); //稍做延時(shí)</p><p>  DQ = 0; //單片機(jī)將DQ拉低</p><p>  delay(80); //精確延時(shí) 大于 480us</p><p>  DQ = 1; //拉高總線</p><p>  delay(10);</p><p>  x=DQ; //稍做延時(shí)后

84、如果x=0則初始化成功 x=1則初始化失敗</p><p><b>  delay(5);</b></p><p><b>  }</b></p><p><b>  //讀一個(gè)字節(jié)</b></p><p>  unsigned char ReadOneChar(void)&l

85、t;/p><p><b>  {</b></p><p>  unsigned char i=0;</p><p>  unsigned char dat = 0;</p><p>  for (i=8;i>0;i--)</p><p><b>  {</b></p&

86、gt;<p>  DQ = 0; // 給脈沖信號(hào)</p><p><b>  dat>>=1;</b></p><p>  DQ = 1; // 給脈沖信號(hào)</p><p><b>  if(DQ)</b></p><p>  dat|=0x80;</p>

87、<p><b>  delay(5);</b></p><p><b>  }</b></p><p>  return(dat);</p><p><b>  }</b></p><p><b>  //寫(xiě)一個(gè)字節(jié)</b></p>

88、<p>  void WriteOneChar(unsigned char dat)</p><p><b>  {</b></p><p>  unsigned char i=0;</p><p>  for (i=8; i>0; i--)</p><p><b>  {</b>

89、</p><p><b>  DQ = 0;</b></p><p>  DQ = dat&0x01;</p><p><b>  delay(5);</b></p><p><b>  DQ = 1;</b></p><p><b>

90、  dat>>=1;</b></p><p><b>  }</b></p><p><b>  delay(5);</b></p><p><b>  }</b></p><p><b>  //讀取溫度</b></p>

91、;<p>  unsigned char ReadTemperature(void)</p><p><b>  {</b></p><p>  unsigned char a=0;</p><p>  unsigned char b=0;</p><p>  unsigned char t=0;</

92、p><p>  //float tt=0;</p><p>  Init_DS18B20();</p><p>  WriteOneChar(0xCC); // 跳過(guò)讀序號(hào)列號(hào)的操作</p><p>  WriteOneChar(0x44); // 啟動(dòng)溫度轉(zhuǎn)換</p><p>  delay(200);</p>

93、;<p>  Init_DS18B20();</p><p>  WriteOneChar(0xCC); //跳過(guò)讀序號(hào)列號(hào)的操作 </p><p>  WriteOneChar(0xBE); //讀取溫度寄存器等(共可讀9個(gè)寄存器) 前兩個(gè)就是溫度</p><p>  a=ReadOneChar();</p><p>  b=

94、ReadOneChar();</p><p><b>  b<<=4;</b></p><p>  b+=(a&0xf0)>>4;</p><p><b>  t=b;</b></p><p>  //tt=t*0.0625;</p><p>

95、  //t= tt*10+0.5; //放大10倍輸出并四舍五入</p><p>  return(t);</p><p><b>  }</b></p><p><b>  第六章 心得體會(huì)</b></p><p>  為期一周的單片機(jī)課程設(shè)計(jì),讓我在很多方面都有了相當(dāng)大的收獲。不僅有數(shù)模轉(zhuǎn)換和

96、單片機(jī)編程部分的知識(shí),還有動(dòng)態(tài)數(shù)碼管的顯示,以及由熱敏電阻構(gòu)成的溫度傳感器的相關(guān)知識(shí)。</p><p>  此次單片機(jī)課程設(shè)計(jì)綜合了傳感器,運(yùn)算放大器等,聯(lián)系到很多方面的知識(shí),讓我們充分聯(lián)系平時(shí)所學(xué)知識(shí),全力以赴。它不僅是我鞏固了之前所學(xué)的知識(shí),加深了對(duì)學(xué)過(guò)知識(shí)的印象,還使我發(fā)現(xiàn)了自己對(duì)理論知識(shí)掌握還不夠扎實(shí),對(duì)一些知識(shí)點(diǎn)存在著錯(cuò)誤的認(rèn)識(shí)。為今后的學(xué)習(xí)和工作都奠定了良好的基礎(chǔ)。在完成課設(shè)的過(guò)程中,每一處都凝聚了老

97、師和同學(xué)對(duì)我的幫助,所有的成果都是大家共同努力的成果。</p><p>  在整個(gè)設(shè)計(jì)過(guò)程中,我懂得了許多東西,也培養(yǎng)了自己獨(dú)立工作的能力,樹(shù)立了對(duì)自己工作能力的信心。充分體會(huì)了在創(chuàng)造過(guò)程中探索的艱難和成功時(shí)的喜悅。</p><p>  在最后,回想整個(gè)課程設(shè)計(jì),我們看到了同學(xué)們專(zhuān)心研究,忙碌的身影,看到了學(xué)院領(lǐng)導(dǎo)和老師對(duì)我們嚴(yán)厲的監(jiān)督和熱情的指導(dǎo)??傊?,這次課程設(shè)計(jì)讓我收獲頗豐,在以后的

98、學(xué)習(xí)生活中,我一定會(huì)更加努力,滿懷激情去面對(duì)!</p><p><b>  參考文獻(xiàn)</b></p><p>  〔1〕張淑清.單片機(jī)原理及應(yīng)用技術(shù)[M] . 國(guó)防工業(yè)出版社 2010</p><p>  〔2〕蔡朝洋.單片機(jī)控制實(shí)習(xí)與專(zhuān)題制作[M] .北京航空航天大學(xué)出版社 2006</p><p&g

溫馨提示

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

評(píng)論

0/150

提交評(píng)論