版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 基于單片機(jī)的數(shù)字溫度計(jì)設(shè)計(jì)</p><p><b> 摘 要</b></p><p> 在日常生活及工業(yè)生產(chǎn)過程中,經(jīng)常要用到溫度的檢測及控制,溫度是生產(chǎn)過程和科學(xué)實(shí)驗(yàn)中普遍而且重要的物理參數(shù)之一。傳統(tǒng)的測溫元件有熱電偶和二電阻。而熱電偶和熱電阻測出的一般都是電壓,再轉(zhuǎn)換成對(duì)應(yīng)的溫度,這些方法相對(duì)比較復(fù)雜,需要比較多的外部硬件支持。我們用一種
2、相對(duì)比較簡單的方式來測量。我們采用美國DALLAS半導(dǎo)體公司繼DS18B20之后推出的一種改進(jìn)型智能溫度傳感器DS18B20作為檢測元件,溫度范圍為-55~125℃,最高分辨率可達(dá)0.0625℃。DS18B20可以直接讀出北側(cè)溫度值,而且采用三線制與單片機(jī)相連,減少了外部的硬件電路,具有低成本和易使用的特點(diǎn)。本文介紹一種基于AT89C52單片機(jī)的一種溫度測量及報(bào)警電路,該電路采用DS18B20作為溫度監(jiān)測元件,測量范圍0℃~+100℃,
3、使用LCD模塊顯示,能設(shè)置溫度報(bào)警上下限。正文著重給出了軟硬件系統(tǒng)的各部分電路,介紹了集成溫度傳感器DS18B20的原理,AT89C52單片機(jī)功能和應(yīng)用。該電路設(shè)計(jì)新穎、功能強(qiáng)大、結(jié)構(gòu)簡單。</p><p> 關(guān)鍵詞:溫度測量,AT89C52,DS18B20,系統(tǒng)仿真</p><p> Design of Digital Thermometer Based on SCM</p&g
4、t;<p><b> ABSTRACT</b></p><p> In daily life and industrial production process, often used in the detection and control of temperature, temperature is the production process and scientif
5、ic experiments in general and one of the important physical parameter. Traditional thermocouple and temperature components are the second resistor. The thermocouple and thermal resistance are generally measured voltage,
6、and then replaced by the corresponding temperature, these methods are relatively complex, requiring a relatively large number</p><p> KEY WORDS: Temperature measurement,AT89C52,DS18B20,System simulation<
7、/p><p><b> 目 錄</b></p><p><b> 前 言1</b></p><p><b> 第1章 緒論2</b></p><p> 1.1 設(shè)計(jì)背景2</p><p> 1.1.1 溫度計(jì)的介紹2</p>
8、<p> 1.1.2 溫度傳感器的發(fā)展?fàn)顩r3</p><p> 1.2 選題的目的和意義4</p><p> 1.2.1 選題的目的4</p><p> 1.2.2 選題的意義4</p><p> 第2章 系統(tǒng)概述5</p><p> 2.1 設(shè)計(jì)方案的選擇5</p>&
9、lt;p> 2.1.1 方案一5</p><p> 2.1.2 方案二6</p><p> 2.2 系統(tǒng)設(shè)計(jì)原理6</p><p> 第3章 系統(tǒng)硬件的設(shè)計(jì)8</p><p> 3.1 AT89C52的介紹8</p><p> 3.2 DS18B20的介紹11</p><
10、;p> 3.2.1 DS18B20的引腳排列11</p><p> 3.2.2 DS18B20內(nèi)部結(jié)構(gòu)12</p><p> 3.2.3 DS18B20的測溫原理16</p><p> 3.2.4 DS18B20使用的注意事項(xiàng)17</p><p> 3.3 數(shù)字溫度計(jì)電路設(shè)計(jì)18</p><p&g
11、t; 3.3.1 數(shù)字溫度計(jì)原理圖18</p><p> 3.3.2 時(shí)鐘電路的設(shè)計(jì)18</p><p> 3.3.3 復(fù)位電路的設(shè)計(jì)19</p><p> 3.3.4 接口電路的設(shè)計(jì)20</p><p> 3.3.5 顯示電路的設(shè)計(jì)20</p><p> 3.3.6 報(bào)警電路的設(shè)計(jì)23<
12、/p><p> 第4章 系統(tǒng)軟件的設(shè)計(jì)24</p><p> 4.1軟件Proteus與Keil24</p><p> 4.1.1 Proteus軟件24</p><p> 4.1.2 Keil軟件27</p><p> 4.2 系統(tǒng)主程序29</p><p> 4.2.1 主
13、程序29</p><p> 4.2.2 DS18B20初始化30</p><p> 4.2.3 溫度轉(zhuǎn)換命令子程序30</p><p> 4.2.4 溫度數(shù)據(jù)的計(jì)算處理方法31</p><p> 4.3 源程序31</p><p><b> 第5章 仿真32</b></
14、p><p> 5.1 仿真結(jié)果32</p><p><b> 結(jié) 論34</b></p><p><b> 謝 辭35</b></p><p><b> 參考文獻(xiàn)36</b></p><p><b> 附 錄37</b&g
15、t;</p><p><b> 外文資料翻譯46</b></p><p><b> 前 言</b></p><p> 隨著科技的不斷發(fā)展,現(xiàn)代社會(huì)對(duì)各種信息參數(shù)的準(zhǔn)確度和精確度的要求都有了幾何級(jí)的增長,而如何準(zhǔn)確迅速的獲得這些參數(shù)就需要受制于現(xiàn)代信息基礎(chǔ)的發(fā)展水平。在三大信息信息采集(即傳感器技術(shù))、信息傳輸(通信
16、技術(shù))和信息處理(計(jì)算機(jī)技術(shù))中,傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器技術(shù),在我國各領(lǐng)域已經(jīng)引用的非常廣泛,可以說是滲透到社會(huì)的每一個(gè)領(lǐng)域,人民的生活與環(huán)境的溫度息息相關(guān),在工、農(nóng)業(yè)生產(chǎn)過程中需要實(shí)時(shí)測量溫度,因此研究溫度的測量方法和裝置具有重要的意義。</p><p> 傳統(tǒng)的溫度傳感器大多以熱敏電阻作為溫度傳感器,但熱敏電阻的可靠性差,準(zhǔn)確率低,而且必須經(jīng)過專門的接口電路轉(zhuǎn)換成數(shù)字信號(hào)才能由單
17、片機(jī)進(jìn)行處理,而這需要比較多的外部的硬件的支持,硬件電路復(fù)雜(需要用到A/D轉(zhuǎn)換電路,感溫電路),軟件調(diào)試也復(fù)雜,制作成本也非常高。</p><p> 目前的數(shù)字溫度傳感器是在20世紀(jì)90年代中期問世的,它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測試技術(shù)(ATE)的結(jié)晶,特點(diǎn)是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配微控制器(MCU)。社會(huì)的發(fā)展使人們對(duì)傳感器的要求也越來越高,現(xiàn)在的溫度傳感器正在基于單片機(jī)的基礎(chǔ)上從模擬式
18、向數(shù)字式,從集成化向智能化、網(wǎng)絡(luò)化的方向飛速發(fā)展,并朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片機(jī)測溫系統(tǒng)等高科技的方向迅速發(fā)展。</p><p> 本文將介紹智能集成溫度傳感器DS18B20的結(jié)構(gòu)特征及控制方法,并對(duì)以此傳感器,AT89C52單片機(jī)為控制器構(gòu)成的數(shù)字溫度測量裝置的工作原理及程序設(shè)計(jì)作了詳細(xì)的介紹。與傳統(tǒng)的溫度計(jì)相比,其具有讀數(shù)方便,測溫范圍廣,測溫準(zhǔn)確
19、,輸出溫度采用數(shù)字顯示等優(yōu)點(diǎn)。</p><p><b> 第1章 緒論</b></p><p><b> 1.1 設(shè)計(jì)背景</b></p><p> 1.1.1 溫度計(jì)的介紹</p><p> 隨著科學(xué)技術(shù)的發(fā)展和現(xiàn)代工業(yè)技術(shù)的需要,測溫技術(shù)也不斷地改進(jìn)和提高。由于測溫范圍越來越廣,根據(jù)不同
20、的要求,又制造出不同需要的測溫儀器。下面介紹幾種常用的溫度計(jì)。</p><p> 氣體溫度計(jì):多用氫氣或氦氣作測溫物質(zhì),因?yàn)闅錃夂秃獾囊夯瘻囟群艿?,接近于絕對(duì)零度,故它的測溫范圍很廣。這種溫度計(jì)精確度很高,多用于精密測量。 </p><p> 電阻溫度計(jì):分為金屬電阻溫度計(jì)和半導(dǎo)體電阻溫度計(jì),都是根據(jù)電阻值隨溫度的變化這一特性制成的。金屬溫度計(jì)主要有用鉑、金、銅、鎳等純金屬的及鐵、磷
21、青銅合金的;半導(dǎo)體溫度計(jì)主要用碳、鍺等。電阻溫度計(jì)使用方便可靠,已廣泛應(yīng)用。電阻溫度計(jì)的測量范圍為-260℃~600℃左右。 </p><p> 指針式溫度計(jì):是形如儀表盤的溫度計(jì),也稱寒暑表,用來測室溫,是用金屬的熱脹冷縮原理制成的。它是以雙金屬片作為感溫元件,用來控制指針。雙金屬片通常是用銅片和鐵片鉚在一起,且銅片在左,鐵片在右。由于銅的熱脹冷縮效果要比鐵明顯的多,因此當(dāng)溫度升高時(shí),銅片牽拉鐵片向右彎曲,指
22、針在雙金屬片的帶動(dòng)下就向右偏轉(zhuǎn)(指向高溫);反之,溫度變低,指針在雙金屬片的帶動(dòng)下就向左偏轉(zhuǎn)(指向低溫)。 </p><p> 壓力式溫度計(jì):壓力式溫度計(jì)是利用封閉容器內(nèi)的液體,氣體受熱后產(chǎn)生體積膨脹或壓力變化作為測信號(hào)。它的基本結(jié)構(gòu)是由溫包、毛細(xì)管和指示表三部分組成。壓力式溫度計(jì)的優(yōu)點(diǎn)是:結(jié)構(gòu)簡單,機(jī)械強(qiáng)度高,不怕震動(dòng)。價(jià)格低廉,不需要外部能源。缺點(diǎn)是:測溫范圍有限制,一般在-80~400℃;熱損失大響應(yīng)時(shí)間
23、較慢。 </p><p> 水銀溫度計(jì):水銀溫度計(jì)是膨脹式溫度計(jì)的一種,水銀的凝固點(diǎn)是 -38.87℃,沸點(diǎn)是 356.7℃,用來測量0~150℃或500℃以內(nèi)范圍的溫度,它只能作為就地監(jiān)督的儀表。用它來測量溫度,不僅比較簡單直觀,而且還可以避免外部遠(yuǎn)傳溫度計(jì)的誤差。</p><p> 1.1.2 溫度傳感器的發(fā)展?fàn)顩r</p><p> 單片機(jī)在測控領(lǐng)域中具有
24、十分廣泛的應(yīng)用,它既可以直接處理電信號(hào),也可以間接處理溫度、濕度、壓力等非電信號(hào)。由于該特點(diǎn),因而被廣泛應(yīng)用于工業(yè)控制領(lǐng)域[1]。 </p><p> 由于單片機(jī)的接口信號(hào)是數(shù)字信號(hào),因此使用它來進(jìn)行溫度、濕度、壓力等這類非電信號(hào)的信息處理,必須使用對(duì)應(yīng)的傳感器進(jìn)行A/D或D/A轉(zhuǎn)換,最后再傳輸給單片機(jī)進(jìn)行最終的數(shù)據(jù)處理和顯示。在測溫領(lǐng)域,人們通常使用溫度傳感器,將溫度信息轉(zhuǎn)換為電流或電壓進(jìn)行輸出,進(jìn)而完成數(shù)
25、據(jù)的處理和顯示[2]。</p><p> 本文正是基于溫度傳感器和單片機(jī)而構(gòu)建的電路,進(jìn)而完成溫度的測量和顯示。 </p><p> 溫度傳感器的發(fā)展經(jīng)歷了三個(gè)發(fā)展階段:</p><p> (1) 傳統(tǒng)的分立式溫度傳感器。</p><p> (2) 模擬集成溫度傳感器。</p><p> (3) 智能集成溫度
26、傳感器。</p><p> 目前使用最廣的是智能溫度傳感器(亦稱數(shù)字溫度傳感器),是在20世紀(jì)90年代中期問世的。它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測試技術(shù)(ATE)的結(jié)晶,特點(diǎn)是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配于各種微控制器(MCU) [3]。社會(huì)的發(fā)展使人們對(duì)傳感器的要求也越來越高,現(xiàn)在的溫度傳感器正在基于單片機(jī)的基礎(chǔ)上從模擬式向數(shù)字式,從集成化向智能化、網(wǎng)絡(luò)化的方向飛速發(fā)展,并朝著高精度、多功能、總線
27、標(biāo)準(zhǔn)化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展[4]。本文將介紹溫度傳感器DS18B20的結(jié)構(gòu)特征及控制方法,并以此傳感器為測溫元件,AT89C52單片機(jī)為控制核心,構(gòu)成的數(shù)字溫度測量裝置,并對(duì)其工作原理及程序設(shè)計(jì)作詳細(xì)的介紹。</p><p> 1.2 選題的目的和意義</p><p> 1.2.1 選題的目的</p>&l
28、t;p> 利用單片機(jī)AT89C52和溫度傳感器DS18B20設(shè)計(jì)一個(gè)設(shè)計(jì)溫度計(jì),能夠測量-20~80℃之間的溫度值,并且小于20℃和大于32℃時(shí)報(bào)警,用LCD液晶屏顯示,測量精度為0.1℃。通過本次設(shè)計(jì)能夠理解數(shù)字溫度計(jì)的工作原理和熟悉單片機(jī)的發(fā)展和應(yīng)用,鞏固所學(xué)的知識(shí)[5]。</p><p> 1.2.2 選題的意義</p><p> 隨著電子技術(shù)的發(fā)展,人們的生活日趨數(shù)字化
29、,多功能的數(shù)字溫度計(jì)可以給我們的生活帶來很大的方便;支持“一線總線”接口的溫度傳感器簡化了數(shù)字溫度計(jì)的設(shè)計(jì),降低了成本;以美國MAXIM/DALLAS半導(dǎo)體公司的單總線溫度傳感器DS18B20為核心,以ATMEL公司的AT89C52為控制器設(shè)計(jì)的DS18B20溫度控制器結(jié)構(gòu)簡單、測溫準(zhǔn)確、具有一定控制功能的智能溫度控制器[6]。</p><p> 本課題研究的重要意義在于生產(chǎn)過程中隨著科技的不斷發(fā)展,現(xiàn)代社會(huì)對(duì)
30、各種信息參數(shù)的準(zhǔn)確度和精確度的要求都有了幾何級(jí)的增長,而如何準(zhǔn)確而又迅速的獲得這些參數(shù),就需要受制于現(xiàn)代信息基礎(chǔ)的發(fā)展水平[7]。在三大信息信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計(jì)算機(jī)技術(shù))中,傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是數(shù)字溫度傳感器技術(shù),在我國各領(lǐng)域已經(jīng)應(yīng)用的非常廣泛可以說是滲透到社會(huì)的每一個(gè)領(lǐng)域,與人民的生活和環(huán)境的溫度息息相關(guān)[8]。</p><p><b>
31、第2章 系統(tǒng)概述</b></p><p> 2.1 設(shè)計(jì)方案的選擇</p><p> 該系統(tǒng)主要由溫度測量和數(shù)據(jù)采集兩部分電路組成,實(shí)現(xiàn)的方法有很多種,下面將列出兩種在日常生活中和工農(nóng)業(yè)生產(chǎn)中經(jīng)常用到的實(shí)現(xiàn)方案。</p><p><b> 2.1.1 方案一</b></p><p> 采用熱電偶溫差電
32、路測溫,溫度檢測部分可以使用低溫?zé)崤迹瑹犭娕加蓛蓚€(gè)焊接在一起的異金屬導(dǎo)線所組成,熱電偶產(chǎn)生的熱電勢(shì)由兩種金屬的接觸電勢(shì)和單一導(dǎo)體的溫差電勢(shì)組成[9]。數(shù)據(jù)采集部分則使用帶有A/D通道的單片機(jī),在將隨被測溫度變化的電壓或電流采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)處理,通過顯示電路,就可以將被測溫度顯示出來。熱電偶的優(yōu)點(diǎn)是工作溫度范圍非常寬,且體積小,但是它們也存在著輸出電壓小、容易遭受來自導(dǎo)線環(huán)路的噪聲影響以及漂移較高的缺點(diǎn),
33、并且這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。</p><p> 系統(tǒng)主要包括對(duì)ADC0809的數(shù)據(jù)采集,溫度的測量,此外還有復(fù)位電路,晶振電路,啟動(dòng)電路等。處理芯片為51芯片,執(zhí)行機(jī)構(gòu)有4位數(shù)碼管、報(bào)警電路等。系統(tǒng)框圖如圖2-1所示。</p><p> 圖2-1 熱電偶溫差電路測溫系統(tǒng)框圖</p><p><b> 2.1.2 方案二<
34、;/b></p><p> 采用數(shù)字溫度芯片DS18B20測量溫度,輸出信號(hào)全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線形較好。在0~100℃時(shí),最大線形偏差小于1℃。DS18B20的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由溫度傳感器DS18B20和單片機(jī)AT89C52構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號(hào),可直接與計(jì)算機(jī)
35、連接[10]。這樣,測溫系統(tǒng)的結(jié)構(gòu)就比較簡單,體積也不大。采用51單片機(jī)控制,軟件編程的自由度大,可通過編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制,而且體積小,硬件實(shí)現(xiàn)簡單,安裝方便。既可以單獨(dú)對(duì)多DS18B20控制工作,還可以與PC機(jī)通信上傳數(shù)據(jù),另外,AT89C52在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟。</p><p> 該系統(tǒng)利用AT89C52芯片控制溫度傳感器DS18B20進(jìn)
36、行實(shí)時(shí)溫度檢測并顯示,能夠?qū)崿F(xiàn)快速測量環(huán)境溫度,并可以根據(jù)需要設(shè)定上下限報(bào)警溫度。該系統(tǒng)擴(kuò)展性非常強(qiáng),它可以在設(shè)計(jì)中加入時(shí)鐘芯片以獲取時(shí)間數(shù)據(jù),在數(shù)據(jù)處理同時(shí)顯示時(shí)間,并可以利用AT89C52芯片作為存儲(chǔ)器件,以此來對(duì)某些時(shí)間點(diǎn)的溫度數(shù)據(jù)進(jìn)行存儲(chǔ),利用鍵盤來進(jìn)行調(diào)時(shí)和溫度查詢,獲得的數(shù)據(jù)可以通過芯片與計(jì)算機(jī)的接口進(jìn)行串口通信,方便的采集和整理時(shí)間溫度數(shù)據(jù)[11]。</p><p> 從以上兩種方案中,容易看出方
37、案一的測溫裝置可測溫度范圍寬、體積小,但是線性誤差較大。方案二的測溫裝置電路簡單、精確度較高、實(shí)現(xiàn)方便、軟件設(shè)計(jì)也比較簡單,故本次設(shè)計(jì)采用了方案二。</p><p> 2.2 系統(tǒng)設(shè)計(jì)原理</p><p> 本課題以是AT89C52單片機(jī)為核心設(shè)計(jì)的一種數(shù)字溫度控制系統(tǒng),系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路,溫度顯示電路,上下限報(bào)警調(diào)整電路,單片機(jī)主板電路等組成[12]。利用溫度傳
38、感器DS18B20可以直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換的特性,模擬溫度值經(jīng)過DS18B20處理后轉(zhuǎn)換為數(shù)字值,然后送到單片機(jī)中進(jìn)行數(shù)據(jù)處理,并與設(shè)置的溫度報(bào)警限比較,超過限度后通過揚(yáng)聲器報(bào)警[13]。同時(shí)處理后的數(shù)據(jù)送到LCD中顯示。系統(tǒng)框圖如圖2-2所示。</p><p> 圖2-2 系統(tǒng)基本方框圖</p><p><b> 1. 主控制器</b></p>
39、;<p> 單片機(jī)AT89C52具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用系統(tǒng)可用二節(jié)電池供電。</p><p><b> 2. 溫度傳感器</b></p><p> 溫度傳感器采用美國DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20溫度傳感器。DS18B20輸出信號(hào)全數(shù)字化。便于單片機(jī)處
40、理及控制,在0~100℃,時(shí),最大線形偏差小于1℃,采用單總線的數(shù)據(jù)傳輸,可直接與計(jì)算機(jī)連接。用單片機(jī)AT89C52芯片控制溫度傳感器DS18B20進(jìn)行實(shí)時(shí)溫度檢測并顯示,能夠?qū)崿F(xiàn)快速測量環(huán)境溫度,并可以根據(jù)需要設(shè)定上下限報(bào)警溫度。獲得的數(shù)據(jù)可以通過芯片與計(jì)算機(jī)的接口進(jìn)行串口通信,方便的采集和整理時(shí)間溫度數(shù)據(jù)。</p><p><b> 3. 顯示電路</b></p><
41、;p> 顯示電路采用LCD液晶顯示數(shù)碼管,從P3口RXD,TXD串口輸出段碼[14]。顯示電路是使用的串口顯示,這種顯示最大的優(yōu)點(diǎn)就是使用資源比較少,只用P3口的RXD和TXD串口發(fā)送和接收,顯示比較清晰。</p><p> 第3章 系統(tǒng)硬件的設(shè)計(jì)</p><p> 3.1 AT89C52的介紹</p><p> 1. AT89C52簡介</p&
42、gt;<p> AT89C52是一種帶8K字節(jié)閃速可編程可擦除只讀存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS 8位微處理器,俗稱單片機(jī)[15]。AT89C52是一種帶8KB的閃速可編程可擦除只讀存儲(chǔ)器的單片機(jī),AT89C52是一種高效微控制器。AT89C52單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。AT8
43、9C52引腳排列如圖3-1所示。 </p><p> 圖3-1 AT89C52的管腳排列圖</p><p><b> 2. 主要特性:</b></p><p> (1) 與MCS-51兼容。 </p><p> (2) 4K字節(jié)可編程閃爍存儲(chǔ)器。 </p><p> (3) 壽命長:10
44、00寫/擦循環(huán)。 </p><p> (4) 數(shù)據(jù)保留時(shí)間:10年。 </p><p> (5) 全靜態(tài)工作:0Hz-24MHz。 </p><p> (6) 三級(jí)程序存儲(chǔ)器鎖定。 </p><p> (7) 128×8位內(nèi)部RAM。</p><p> (8) 32可編程I/O線。 </p&g
45、t;<p> (9) 兩個(gè)16位定時(shí)器/計(jì)數(shù)器。 </p><p> (10) 5個(gè)中斷源。 </p><p> (11) 可編程串行通道。 </p><p> (12) 低功耗的閑置和掉電模式。 </p><p> (13) 片內(nèi)振蕩器和時(shí)鐘電路。 </p><p><b> 3.
46、 管腳說明</b></p><p> VCC:供電電壓。 </p><p><b> GND:接地。 </b></p><p> P0口:P0口為一個(gè)8位漏極開路雙向I/O口,每個(gè)管腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時(shí),被定義為高阻抗輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIA
47、SH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 </p><p> P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 </p><p&
48、gt; P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。
49、P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 </p><p> P3口:P3口管腳是帶8個(gè)內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 </p><p> P3口也可作為AT
50、89C52的一些特殊功能口,如下表3-1所示。</p><p> 表3-1 P3口的一些特殊功能口</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 </p><p> ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE
51、端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 </p><p> /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指令時(shí)
52、,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 </p><p> /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-0FFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平(接VCC端)時(shí),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的程序。在FLASH ROM編程期間,此引腳也用于施加12V編程電
53、源(VPP)。 </p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 </p><p> XTAL2:來自反向振蕩器的輸出。 </p><p><b> 振蕩器特性: </b></p><p> XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振
54、蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p> 3.2 DS18B20的介紹</p><p> Dallas半導(dǎo)體公司的數(shù)字化溫度傳感器DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提
55、高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,新的產(chǎn)品支持3V~5.5V的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便。</p><p> DS18B20測量溫度范圍為-55℃~+125℃,在-10~+85℃范圍內(nèi),精度為±0.5℃。DS18B20可以程序設(shè)定9~12位的分辨率,及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在E2PROM中,掉電后依然保存。</p><p> 3.2.1 DS18B20的
56、引腳排列</p><p> 如圖3-2所示,DS18B20的外形如一只三極管,引腳名稱及作用如下:</p><p><b> GND:接地端。</b></p><p> DQ:數(shù)據(jù)輸入/輸出腳,與TTL電平兼容。</p><p> VDD:可接電源,也可接地。因?yàn)槊恐籇S18B20都可以設(shè)置成兩種供電方式,即數(shù)據(jù)
57、總線供電方式和外部供電方式。采用數(shù)據(jù)總線供電方式時(shí)VDD接地。</p><p> 圖3-2 DS18B20引腳排列</p><p> 3.2.2 DS18B20內(nèi)部結(jié)構(gòu)</p><p> DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL及配置寄存器。DS18B20內(nèi)部結(jié)構(gòu)圖如3-3圖所示。</p>
58、<p> 圖3-3 DS18B20內(nèi)部結(jié)構(gòu)圖</p><p> 1.64位ROM。64位ROM是由廠家使用激光刻錄的一個(gè)64位二進(jìn)制ROM代碼,是該芯片的標(biāo)識(shí)號(hào),如表3-2所示。</p><p> 表3-2 64位ROM標(biāo)識(shí)</p><p> 開始8位表示產(chǎn)品分類編號(hào),接著48位是該DS18B20自身的序列號(hào),最后8位為前56位的CRC循環(huán)冗余
59、校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。</p><p> 2. 溫度傳感器。溫度傳感器是DS18B20的核心部分,該功能部件可完成對(duì)溫度的測量。通過軟件編程可將-55~125℃范圍內(nèi)的溫度值按9位、10位、11位、12位的分辨率進(jìn)行量化,以上的分辨率都包括一個(gè)符號(hào)位,因此對(duì)應(yīng)的溫度量化值分別為0.5℃、0
60、.25℃、0.125℃、0.0625℃,即最高分辨率為0.0625℃。芯片出廠時(shí)默認(rèn)為12位的轉(zhuǎn)換精度。當(dāng)接收到溫度轉(zhuǎn)換命令后,開始轉(zhuǎn)換,轉(zhuǎn)換完成后的溫度以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式表示,存儲(chǔ)在高速緩存器RAM的第0,1字節(jié)中,二進(jìn)制數(shù)的前5位是符號(hào)位。如果測得的溫度大于0,這5位為0,只要將測得的數(shù)值乘上0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測得的數(shù)值需要取反加1再乘上0.0625即可得到實(shí)際溫度。溫度數(shù)據(jù)格
61、式如表3-3所示。</p><p> 表3-3 溫度數(shù)據(jù)格式</p><p><b> LS Byte </b></p><p> MS Byte </p><p> 其中“S”為符號(hào)位,對(duì)應(yīng)的溫度計(jì)算:當(dāng)符號(hào)位S=0時(shí),表示測得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位S=1時(shí),表示測得的
62、溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。表3-4是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。</p><p> 表3-4 一部分溫度對(duì)應(yīng)值</p><p> DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的E2PROM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。</p><p> 高速暫存RAM包含了8個(gè)連續(xù)字
63、節(jié),前2個(gè)字節(jié)是測得的溫度信息,第3和第4字節(jié)是TH和TL的易失性拷貝,第5個(gè)字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這三個(gè)字節(jié)的內(nèi)容在每一次上電復(fù)位時(shí)被刷新。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。它的字節(jié)定義如表3-5所示。低5位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測試模式。</p><p> 表3-5 DS18B20字節(jié)定義</p><p>
64、; DS18B20出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率,詳見表3-6(DS18B20出廠時(shí)被設(shè)置為12位)。</p><p> 表3-6 DS18B20分辨率設(shè)置</p><p> 由表3-6可見,分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。</p><p> 3.
65、 溫度報(bào)警觸發(fā)器TH和TL</p><p> DS18B20依靠一個(gè)單線端口通訊。在單線端口條件下,必須先建立ROM 操作協(xié)議,才能進(jìn)行存儲(chǔ)器和控制操作。因此,控制器必須首先提供下面5個(gè)ROM 操作命令之一:</p><p><b> (1) 讀ROM。</b></p><p> (2) 匹配ROM。</p><p&g
66、t; (3) 搜索ROM。</p><p> (4) 跳過ROM。</p><p><b> (5) 報(bào)警搜索。</b></p><p> 成功執(zhí)行完一條ROM 操作序列后,即可進(jìn)行存儲(chǔ)器和控制操作,控制器可以提供6條存儲(chǔ)器和控制操作指令中的任一條。一條控制操作命令指示DS18B20完成一次溫度測量。測量結(jié)果放在DS18B20的暫存器里
67、,用一條讀暫存器內(nèi)容的存儲(chǔ)器操作命令可以把暫存器中數(shù)據(jù)讀出。溫度報(bào)警觸發(fā)器TH和TL各由一個(gè)E2PROM字節(jié)構(gòu)成。可以用一條存儲(chǔ)器操作命令對(duì)TH和TL 進(jìn)行寫入,對(duì)這些寄存器的讀出需要通過暫存器。所有數(shù)據(jù)都是以最低有效位在前的方式進(jìn)行讀寫。</p><p> 4. 配置寄存器。配置寄存器的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換率。DS18B20工作是按此寄存器的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值,它是高速緩存器的第5個(gè)字節(jié)
68、。</p><p> 3.2.3 DS18B20的測溫原理</p><p> 如圖3-4所示,圖中低溫度系數(shù)振蕩器的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1;高溫度系數(shù)振蕩器隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入。</p><p> 圖3-4 DS18B20測溫原理圖</p><p&g
69、t; 圖中還隱含著計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS18B20就對(duì)低溫系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55℃所對(duì)應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器1和溫度寄存器中,減法計(jì)數(shù)器和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。</p><p> 減法計(jì)數(shù)器1對(duì)低溫度系數(shù)振蕩器產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置減到0時(shí),溫度寄存器
70、的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,并重新開始對(duì)低溫度系數(shù)振蕩器產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù)。如此循環(huán),直到減法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度計(jì)數(shù)器值的累加,此時(shí)溫度寄存器中的數(shù)值就是所測溫度值。圖中的斜率累加器用于補(bǔ)償和修正測溫過程的非線形性,直到溫度寄存器達(dá)到被測溫度值。</p><p> 另外,DS18B20單線通信功能是分時(shí)完成的,有嚴(yán)格的時(shí)隙概念,因此讀/寫時(shí)序很重要。根據(jù)DS18B20的通訊協(xié)議,主
71、機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟:</p><p> (1) 每一次讀寫之前都必須要對(duì)DS18B20進(jìn)行復(fù)位。</p><p> (2) 復(fù)位成功后發(fā)送一條ROM指令。</p><p> (3) 最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。</p><p> 復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后
72、釋放,DS18B20收到信號(hào)后等待15~60微秒左右后發(fā)出60~240微秒的低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。</p><p> 3.2.4 DS18B20使用的注意事項(xiàng)</p><p> DS18B20雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、用線少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問題: </p><p> 1. 較小的硬件開銷需要相對(duì)復(fù)雜
73、的軟件進(jìn)行補(bǔ)償,由于DS18B20與微處理器間采用串行數(shù)據(jù)傳送,因此,在對(duì)DS18B20進(jìn)行讀寫編程時(shí),必須嚴(yán)格的保證讀/寫時(shí)序,否則將無法讀取測溫結(jié)果。在使用PL/M、C等高級(jí)語言進(jìn)行程序設(shè)計(jì)時(shí),對(duì)DS18B20部分最好采用匯編語言實(shí)現(xiàn)。 </p><p> 2. 在DS18B20的有關(guān)資料中均未提及單總線上所掛DS18B20數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個(gè)DS18B20,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線
74、上所掛DS18B20超過8個(gè)時(shí),就需要解決微處理器的總線驅(qū)動(dòng)問題,這一點(diǎn)在進(jìn)行多點(diǎn)測溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。 </p><p> 3. 連接DS18B20的總線電纜是有長度限制的。當(dāng)采用普通信號(hào)電纜傳輸長度超過50m時(shí),讀取的測溫?cái)?shù)據(jù)將發(fā)生錯(cuò)誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時(shí),正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時(shí),正常通訊距離進(jìn)一步加長。這種情況主要是由總線分布電容使信號(hào)波形
75、產(chǎn)生畸變?cè)斐傻摹R虼?,在用DS18B20進(jìn)行長距離測溫系統(tǒng)設(shè)計(jì)時(shí)要充分考慮總線分布電容和阻抗匹配問題。 </p><p> 2. 在DS18B20測溫程序設(shè)計(jì)中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號(hào),一旦某個(gè)DS18B20接觸不好或斷線,當(dāng)程序讀該DS18B20時(shí),將沒有返回信號(hào),程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS18B20硬件連接和軟件設(shè)計(jì)時(shí)也要給予一定的重視。</p&
76、gt;<p> 3.3 數(shù)字溫度計(jì)電路設(shè)計(jì)</p><p> 3.3.1 數(shù)字溫度計(jì)原理圖</p><p> 溫度計(jì)電路設(shè)計(jì)原理圖如圖3-5所示,控制器使用單片機(jī)AT89C52,溫度計(jì)傳感器使用DS18B20,用液晶實(shí)現(xiàn)溫度顯示。本溫度計(jì)大體分三個(gè)工作過程。首先,由DS18B20溫度傳感器芯片測量當(dāng)前的溫度,并將結(jié)果送入單片機(jī)。然后,通過AT89C52單片機(jī)芯片對(duì)送來的
77、測量溫度讀數(shù)進(jìn)行計(jì)算和轉(zhuǎn)換,井將此結(jié)果送入液晶顯示模塊。最后,SMC1602A芯片將送來的值顯示于顯示屏上。其中,DS18B20溫度傳感器芯片采用“一線制”與單片機(jī)相連,它獨(dú)立地完成溫度測量以及將溫度測量結(jié)果送到單片機(jī)的工作。</p><p> 圖3-5 溫度計(jì)電路設(shè)計(jì)原理圖</p><p> 3.3.2 時(shí)鐘電路的設(shè)計(jì)</p><p> 圖3-6是時(shí)鐘電路的
78、設(shè)計(jì)電路圖。</p><p><b> 圖3-6 時(shí)鐘電路</b></p><p> 單片機(jī)允許的振蕩晶體可在1.2~24MHz之間選擇,一般為11.0592MHz。電容C2,C3的取值對(duì)振蕩頻率輸出的穩(wěn)定性、大小及振蕩電路起振有一定的影響,可在20~100pF之間選擇,典型值為30pF。</p><p> 3.3.3 復(fù)位電路的設(shè)計(jì)&l
79、t;/p><p> 計(jì)算機(jī)每次開始工作,CPU和系統(tǒng)中的其他部件都必須要有一個(gè)確定的初值,即復(fù)位狀態(tài)。圖3-7是單片機(jī)復(fù)位電路圖。</p><p><b> 圖3-7 復(fù)位電路</b></p><p> 單片機(jī)RST引腳是高電平有效。單片機(jī)在上電瞬間C3充電,RST引腳出現(xiàn)正脈沖,只要RST保持兩個(gè)機(jī)械周期(大約10ms)以上的高電平,單片機(jī)
80、就能復(fù)位。在單片機(jī)工作后,如果還想再次復(fù)位,只需按下開關(guān),單片機(jī)就能重新變成復(fù)位狀態(tài)。當(dāng)晶體振蕩頻率為12MHz時(shí),RC的典型值為C=10μF,R=8.2KΩ。</p><p> 3.3.4 接口電路的設(shè)計(jì)</p><p> DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時(shí)DS18B20的1腳接地,2腳作為信號(hào)線,3腳接電源。另一種是寄生電源供電方式,如圖3-8所示單片
81、機(jī)端口接單線總線,為保證在有效的DS18B20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè)MOSFET管完成對(duì)總線的上拉。</p><p> 當(dāng)DS18B20處于寫存儲(chǔ)器操作和溫度A/D轉(zhuǎn)換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開啟時(shí)間最大為10us。采用寄生電源供電方式時(shí)VDD端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。</p><p> 圖3-8 DS18B20與單片機(jī)的接口電路&l
82、t;/p><p> 3.3.5 顯示電路的設(shè)計(jì)</p><p> 1. 1602LCD液晶簡介</p><p> 1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊,它有若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因?yàn)?/p>
83、如此,所以它不能顯示圖形。</p><p> 1602LCD是指顯示的內(nèi)容為16×2,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符和數(shù)字)。1602LCD引腳與功能如下表3-7所示。</p><p> 表3-7 液晶1602引腳表</p><p> 1602液晶模塊內(nèi)部的控制器共有11條控制指令,如下表3-8所示。1602LCD的特性如下:<
84、;/p><p> (1) +5V電壓,對(duì)比度可調(diào)。</p><p> (2) 內(nèi)含復(fù)位電路。</p><p> (3) 提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能。</p><p> (4) 有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM。</p><p> (5) 內(nèi)建有160個(gè)5×7點(diǎn)陣
85、的字型的字符發(fā)生器CGROM。</p><p> (6) 8個(gè)可由用戶自定義的5×7的字符發(fā)生器CGROM。</p><p> 表3-8 1602的控制指令</p><p> 指令1:清零顯示,光標(biāo)復(fù)位到地址00H位置。</p><p> 指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。</p><p>
86、指令3:光標(biāo)和顯示模式設(shè)置。I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移,S: 屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。</p><p> 指令4:顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開,低電平表示關(guān);C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo);B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。</p><p> 指令5:光標(biāo)或顯示移位。
87、S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。R/L,高向左,低向右。</p><p> 指令6:功能設(shè)置命令。DL:高電平時(shí)為8位總線,低電平時(shí)為4位總線。N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示。F: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。</p><p> 指令7:字符發(fā)生器RAM地址設(shè)置,地址:字符地址*8+字符行數(shù)(將一個(gè)字符分成5*8點(diǎn)陣,一次寫
88、入一行,8行就組成一個(gè)字符)。</p><p> 指令8:顯示地址,第一行為:80H——8FH,第二行為:C0H——CFH。</p><p> 指令9:讀忙信號(hào)和光標(biāo)地址。BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。</p><p><b> 指令10:寫數(shù)據(jù)。</b></p><
89、;p><b> 指令11:讀數(shù)據(jù)。</b></p><p> 3.3.6 報(bào)警電路的設(shè)計(jì)</p><p> 本設(shè)計(jì)采用軟件處理報(bào)警,利用發(fā)光二級(jí)管報(bào)警電路,當(dāng)溫度超過設(shè)定范圍時(shí),則二極管發(fā)光報(bào)警。報(bào)警電路硬件連接如圖3-9。</p><p> 圖3-9 報(bào)警電路連接圖</p><p> 第4章 系統(tǒng)軟件的
90、設(shè)計(jì)</p><p> 4.1軟件Proteus與Keil</p><p> 4.1.1 Proteus軟件</p><p> 1. Proteus簡介</p><p> Proteus軟件是英國LABCENTER electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍電路。Pro
91、teus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等,在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。<
92、/p><p> Proteus軟件的特點(diǎn)是:</p><p> (1) 實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合,具有模擬電路仿真、數(shù)字電路仿真、各種單片機(jī)及其外圍電路組成的系統(tǒng)仿真。</p><p> (2) 提供了多種虛擬儀器。如示波器、邏輯分析儀、信號(hào)發(fā)生器等,調(diào)試非常方便。</p><p> (3) 提供軟件調(diào)試功能,同時(shí)支持第
93、三方的軟件編譯和調(diào)試環(huán)境,如Keil等軟件。</p><p> (4) 具有強(qiáng)大的原理圖繪制功能。Proteus與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU的工作情況,也能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其它電路的工作情況。</p><p><b> 2. 四大功能模塊</b></p><p> (1) 智能原理圖設(shè)計(jì)(IS
94、IS)</p><p> 豐富的器件庫:超過27000種元器件,可方便地創(chuàng)建新元件。 </p><p> 智能的器件搜索:通過模糊搜索可以快速定位所需要的器件。 </p><p> 智能化的連線功能:自動(dòng)連線功能使連接導(dǎo)線簡單快捷,大大縮短繪圖時(shí)間。 </p><p> 支持總線結(jié)構(gòu):使用總線器件和總線布線使電路設(shè)計(jì)簡明清
95、晰。 </p><p> 可輸出高質(zhì)量圖紙:通過個(gè)性化設(shè)置,可以生成印刷質(zhì)量的BMP圖紙,可以方便地供WORD、POWERPOINT等多種文檔使用。 </p><p> (2) 完善的電路仿真功能(PROSPICE)</p><p> PROSPICE混合仿真:基于工業(yè)標(biāo)準(zhǔn)SPICE3F5,實(shí)現(xiàn)數(shù)字/模擬電路的混合仿真。 </p><
96、;p> 超過27000個(gè)仿真器件:可以通過內(nèi)部原型或使用廠家的SPICE文件自行設(shè)計(jì)仿真器件,LABCENTER也在不斷地發(fā)布新的仿真器件,還可導(dǎo)入第三方發(fā)布的仿真器件。 </p><p> 多樣的激勵(lì)源:包括直流、正弦、脈沖、分段線性脈沖、音頻(使用wav文件)、指數(shù)信號(hào)、單頻FM、數(shù)字時(shí)鐘和碼流,還支持文件形式的信號(hào)輸入?! ?lt;/p><p> 豐富的虛擬儀器:13種虛擬
97、儀器,面板操作逼真,如示波器、邏輯分析儀、信號(hào)發(fā)生器、直流電壓/電流表、交流電壓/電流表、數(shù)字圖案發(fā)生器、頻率計(jì)/計(jì)數(shù)器、邏輯探頭、虛擬終端、SPI調(diào)試器、I2C調(diào)試器等。 </p><p> 生動(dòng)的仿真顯示:用色點(diǎn)顯示引腳的數(shù)字電平,導(dǎo)線以不同顏色表示其對(duì)地電壓大小,結(jié)合動(dòng)態(tài)器件(如電機(jī)、顯示器件、按鈕)的使用可以使仿真更加直觀、生動(dòng)。 </p><p> 高級(jí)圖形仿真功能(A
98、SF):基于圖標(biāo)的分析可以精確分析電路的多項(xiàng)指標(biāo),包括工作點(diǎn)、瞬態(tài)特性、頻率特性、傳輸特性、噪聲、失真、傅立葉頻譜分析等。</p><p> (3) 獨(dú)特的單片機(jī)協(xié)同仿真功能(VSM)</p><p> 支持主流的CPU類型:如ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BASICSTAMP、8086、MSP430等
99、,CPU類型隨著版本升級(jí)還在繼續(xù)增加,如即將支持CORTEX、DSP處理器。 </p><p> 支持通用外設(shè)模型:如字符LCD模塊、圖形LCD模塊、LED點(diǎn)陣、LED七段顯示模塊、鍵盤/按鍵、直流/步進(jìn)/伺服電機(jī)、RS232虛擬終端、電子溫度計(jì)等等,其COMPIM(COM口物理接口模型)還可以使仿真電路通過PC機(jī)串口和外部電路實(shí)現(xiàn)雙向異步串行通信。 </p><p> 實(shí)時(shí)仿
100、真:支持UART/USART/EUSARTS仿真、中斷仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真。 </p><p> 編譯及調(diào)試:支持單片機(jī)匯編語言的編輯/編譯/源碼仿真,內(nèi)帶8051、AVR、PIC的匯編編譯器,也可以與第三方集成編譯環(huán)境(如IAR、KEIL和HITECH)結(jié)合,進(jìn)行高級(jí)語言的源碼仿真和調(diào)試。</p><p>
101、 (4) 實(shí)用的PCB設(shè)計(jì)平臺(tái)</p><p> 原理圖到PCB的快速通道: 原理圖設(shè)計(jì)完成后,一鍵便可進(jìn)入ARES的PCB設(shè)計(jì)環(huán)境,實(shí)現(xiàn)從概念到產(chǎn)品的完整設(shè)計(jì)?! ?lt;/p><p> 先進(jìn)的自動(dòng)布局/布線功能:支持器件的自動(dòng)/人工布局;支持無網(wǎng)格自動(dòng)布線或人工布線;支持引腳交換/門交換功能使PCB設(shè)計(jì)更為合理。 </p><p> 3.ISIS智能原
102、理圖輸入系統(tǒng)</p><p> ISIS是PROTEUS系統(tǒng)的中心,具有控制原理圖畫圖的外觀的超強(qiáng)的設(shè)計(jì)環(huán)境。無論用戶的要求是快速實(shí)現(xiàn)復(fù)雜設(shè)計(jì)的仿真以及PCB設(shè)計(jì),還是設(shè)計(jì)精美的原理圖供出版,ISIS都可以很好的完成。畫完圖可以以圖形文件輸出,或者拷貝到剪切板以便其他文件使用。這就使得ISIS成為制作技術(shù)文件,學(xué)術(shù)論文,項(xiàng)目報(bào)告的理想工具,也是PCB設(shè)計(jì)的一個(gè)出色的前端。畫圖的外形由風(fēng)格模板定義。</p&
103、gt;<p> 4.Proteus的簡單應(yīng)用</p><p> 圖4-1 Proteus界面圖</p><p> (1) 繪制原理圖:繪制原理圖要在原理圖編輯窗口中的藍(lán)色方框內(nèi)完成。原理圖編輯窗口的操作是不同于常用的WINDOWS應(yīng)用程序的,正確的操作是:用左鍵放置元件;右鍵選擇元件;雙擊右鍵刪除元件;右鍵選中多個(gè)元件;先右鍵后左鍵編輯元件屬性;先右鍵后左鍵拖動(dòng)元件;
104、連線用左鍵,刪除用右鍵;改連接線:先右擊連線,再左鍵拖動(dòng);中鍵可以縮放原理圖。</p><p> (2) 定制自己的元件:有三個(gè)個(gè)實(shí)現(xiàn)途徑,一是用PROTEUS VSM SDK開發(fā)仿真模型,并制作元件;另一個(gè)是在已有的元件基礎(chǔ)上進(jìn)行改造,比如把元件改為bus接口的;還有一個(gè)是利用已制作好(別人的)的元件,我們可以到網(wǎng)上下載一些新元件并把它們添加到自己的元件庫里面。</p><p> (
105、3) Sub-Circuits應(yīng)用:用一個(gè)子電路可以把部分電路封裝起來,這樣可以節(jié)省原理圖窗口的空間。</p><p> 4.1.2 Keil軟件</p><p> 1. Keil軟件簡介</p><p> Keil軟件是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的
106、優(yōu)勢(shì),因而易學(xué)易用。Keil軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil軟件生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。Keil提供包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,由以下幾部分組成:μVision IDE集成開發(fā)環(huán)境C51編譯器、
107、A51匯編器、LIB51庫管理器、BL51連接/定位器、OH51目標(biāo)文件生成器以及 Monitor-51、RTX51實(shí)時(shí)操作系統(tǒng)。</p><p> 2. Keil軟件調(diào)試功能</p><p> 應(yīng)用Keil進(jìn)行軟件仿真開發(fā)的主要步驟為:編寫源程序并保存—建立工程并添加源文件—設(shè)置工程—編譯/匯編、連接,產(chǎn)生目標(biāo)文件—程序調(diào)試。工程的建立、設(shè)置、編譯/匯編及連接產(chǎn)生目標(biāo)文件的方法非常易
108、于掌握。首先選擇菜單File-New…,在源程序編輯器中輸入?yún)R編語言或C語言源程序(或選擇File-Open…,直接打開已用其它編輯器編輯好的源程序文檔)并保存,注意保存時(shí)必須在文件名后加上擴(kuò)展名.asm(.a51)或.c;然后選擇菜單Project-New Project…,建立新工程并保存;工程保存后會(huì)立即彈出一個(gè)設(shè)備選擇對(duì)話框,選擇CPU后點(diǎn)確定返回主界面。這時(shí)工程管理窗口的文件頁(Files)會(huì)出現(xiàn)“Target1”,將其前面+
109、號(hào)展開,接著選擇Source Group1,右擊鼠標(biāo)彈出快捷菜單,選擇“Add File to Group ‘Source Group1’”,出現(xiàn)一個(gè)對(duì)話框,要求尋找并加入源文件。加入文件后點(diǎn)close返回主界面,展開“Source Group1”前面+號(hào),就會(huì)看到所加入的文件,雙擊文件名,即可打開該源程序文件。緊接著對(duì)工程進(jìn)行設(shè)置,選擇工程管理窗口的Target1</p><p> 成功編譯/匯編、連接后,選
110、擇菜單Debug-Start/Stop Debug Session(或按Ctrl+F5鍵)進(jìn)入程序調(diào)試狀態(tài),Keil提供對(duì)程序的模擬調(diào)試功能,內(nèi)建一個(gè)功能強(qiáng)大的仿真CPU以模擬執(zhí)行程序。Keil能以單步執(zhí)行(按F11或選擇Debug-Step)、過程單步執(zhí)行(按F10或選擇Debug-Step Over)、全速執(zhí)行等多種運(yùn)行方式進(jìn)行程序調(diào)試。如果發(fā)現(xiàn)程序有錯(cuò),可采用在線匯編功能對(duì)程序進(jìn)行在線修改(Debug-Inline Assambl
111、y…),不必執(zhí)行先退出調(diào)試環(huán)境、修改源程序、對(duì)工程重新進(jìn)行編譯/匯編和連接、然后再次進(jìn)入調(diào)試狀態(tài)的步驟。對(duì)于一些必須滿足一定條件(如按鍵被按下等)才能被執(zhí)行的、難以用單步執(zhí)行方式進(jìn)行調(diào)試的程序行,可采用斷點(diǎn)設(shè)置的方法處理(Debug-Insert/Remove Breakpoint或Debug-Breakpoints…等)。在模擬調(diào)試程序后,還須通過編程器將.hex目標(biāo)文件燒寫入單片機(jī)中才能觀察目標(biāo)樣機(jī)真實(shí)的運(yùn)行狀況。</p>
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)---基于at89c52單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)stc89c52控制的數(shù)字溫度計(jì)設(shè)計(jì)
- 畢業(yè)論文-基于單片機(jī)stc89c52控制的數(shù)字溫度計(jì)設(shè)計(jì)
- 基于單片機(jī)數(shù)字溫度計(jì)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)數(shù)字溫度計(jì)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)at89c51數(shù)字溫度計(jì)的設(shè)計(jì)
- 基于單片機(jī)數(shù)字溫度計(jì)畢業(yè)設(shè)計(jì)
- 基于at89c52單片機(jī)的光功率計(jì)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)數(shù)字溫度計(jì)
- 基于at89s52單片機(jī)的數(shù)字溫度計(jì)設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的數(shù)字溫度計(jì)畢業(yè)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---基于單片機(jī)at89s52的數(shù)字溫度計(jì)的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)——基于單片機(jī)的數(shù)字溫度計(jì)設(shè)計(jì)
- 基于單片機(jī)的數(shù)字溫度計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)at89c52的led點(diǎn)陣設(shè)計(jì)
- 基于單片機(jī)的數(shù)字溫度計(jì)設(shè)計(jì) 畢業(yè)設(shè)計(jì)
- 基于at89c52單片機(jī)的數(shù)字時(shí)鐘系統(tǒng)設(shè)計(jì)
- 單片機(jī)的數(shù)字溫度計(jì)畢業(yè)設(shè)計(jì)
- 基于at89c51單片機(jī)的數(shù)字溫度計(jì)
- 基于at89c52單片機(jī)的簡易頻率計(jì)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論