畢業(yè)設計--基于at89c52單片機的數(shù)字溫度計設計_第1頁
已閱讀1頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  基于單片機的數(shù)字溫度計設計</p><p><b>  摘 要</b></p><p>  在日常生活及工業(yè)生產過程中,經(jīng)常要用到溫度的檢測及控制,溫度是生產過程和科學實驗中普遍而且重要的物理參數(shù)之一。傳統(tǒng)的測溫元件有熱電偶和二電阻。而熱電偶和熱電阻測出的一般都是電壓,再轉換成對應的溫度,這些方法相對比較復雜,需要比較多的外部硬件支持。我們用一種

2、相對比較簡單的方式來測量。我們采用美國DALLAS半導體公司繼DS18B20之后推出的一種改進型智能溫度傳感器DS18B20作為檢測元件,溫度范圍為-55~125℃,最高分辨率可達0.0625℃。DS18B20可以直接讀出北側溫度值,而且采用三線制與單片機相連,減少了外部的硬件電路,具有低成本和易使用的特點。本文介紹一種基于AT89C52單片機的一種溫度測量及報警電路,該電路采用DS18B20作為溫度監(jiān)測元件,測量范圍0℃~+100℃,

3、使用LCD模塊顯示,能設置溫度報警上下限。正文著重給出了軟硬件系統(tǒng)的各部分電路,介紹了集成溫度傳感器DS18B20的原理,AT89C52單片機功能和應用。該電路設計新穎、功能強大、結構簡單。</p><p>  關鍵詞:溫度測量,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 設計背景2</p><p>  1.1.1 溫度計的介紹2</p>

8、<p>  1.1.2 溫度傳感器的發(fā)展狀況3</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 設計方案的選擇5</p>&

9、lt;p>  2.1.1 方案一5</p><p>  2.1.2 方案二6</p><p>  2.2 系統(tǒng)設計原理6</p><p>  第3章 系統(tǒng)硬件的設計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內部結構12</p><p>  3.2.3 DS18B20的測溫原理16</p><p>  3.2.4 DS18B20使用的注意事項17</p><p>  3.3 數(shù)字溫度計電路設計18</p><p&g

11、t;  3.3.1 數(shù)字溫度計原理圖18</p><p>  3.3.2 時鐘電路的設計18</p><p>  3.3.3 復位電路的設計19</p><p>  3.3.4 接口電路的設計20</p><p>  3.3.5 顯示電路的設計20</p><p>  3.3.6 報警電路的設計23<

12、/p><p>  第4章 系統(tǒng)軟件的設計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 溫度轉換命令子程序30</p><p>  4.2.4 溫度數(shù)據(jù)的計算處理方法31</p><p>  4.3 源程序31</p><p><b>  第5章 仿真32</b></

14、p><p>  5.1 仿真結果32</p><p><b>  結 論34</b></p><p><b>  謝 辭35</b></p><p><b>  參考文獻36</b></p><p><b>  附 錄37</b&g

15、t;</p><p><b>  外文資料翻譯46</b></p><p><b>  前 言</b></p><p>  隨著科技的不斷發(fā)展,現(xiàn)代社會對各種信息參數(shù)的準確度和精確度的要求都有了幾何級的增長,而如何準確迅速的獲得這些參數(shù)就需要受制于現(xiàn)代信息基礎的發(fā)展水平。在三大信息信息采集(即傳感器技術)、信息傳輸(通信

16、技術)和信息處理(計算機技術)中,傳感器屬于信息技術的前沿尖端產品,尤其是溫度傳感器技術,在我國各領域已經(jīng)引用的非常廣泛,可以說是滲透到社會的每一個領域,人民的生活與環(huán)境的溫度息息相關,在工、農業(yè)生產過程中需要實時測量溫度,因此研究溫度的測量方法和裝置具有重要的意義。</p><p>  傳統(tǒng)的溫度傳感器大多以熱敏電阻作為溫度傳感器,但熱敏電阻的可靠性差,準確率低,而且必須經(jīng)過專門的接口電路轉換成數(shù)字信號才能由單

17、片機進行處理,而這需要比較多的外部的硬件的支持,硬件電路復雜(需要用到A/D轉換電路,感溫電路),軟件調試也復雜,制作成本也非常高。</p><p>  目前的數(shù)字溫度傳感器是在20世紀90年代中期問世的,它是微電子技術、計算機技術和自動測試技術(ATE)的結晶,特點是能輸出溫度數(shù)據(jù)及相關的溫度控制量,適配微控制器(MCU)。社會的發(fā)展使人們對傳感器的要求也越來越高,現(xiàn)在的溫度傳感器正在基于單片機的基礎上從模擬式

18、向數(shù)字式,從集成化向智能化、網(wǎng)絡化的方向飛速發(fā)展,并朝著高精度、多功能、總線標準化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡傳感器、研制單片機測溫系統(tǒng)等高科技的方向迅速發(fā)展。</p><p>  本文將介紹智能集成溫度傳感器DS18B20的結構特征及控制方法,并對以此傳感器,AT89C52單片機為控制器構成的數(shù)字溫度測量裝置的工作原理及程序設計作了詳細的介紹。與傳統(tǒng)的溫度計相比,其具有讀數(shù)方便,測溫范圍廣,測溫準確

19、,輸出溫度采用數(shù)字顯示等優(yōu)點。</p><p><b>  第1章 緒論</b></p><p><b>  1.1 設計背景</b></p><p>  1.1.1 溫度計的介紹</p><p>  隨著科學技術的發(fā)展和現(xiàn)代工業(yè)技術的需要,測溫技術也不斷地改進和提高。由于測溫范圍越來越廣,根據(jù)不同

20、的要求,又制造出不同需要的測溫儀器。下面介紹幾種常用的溫度計。</p><p>  氣體溫度計:多用氫氣或氦氣作測溫物質,因為氫氣和氦氣的液化溫度很低,接近于絕對零度,故它的測溫范圍很廣。這種溫度計精確度很高,多用于精密測量。 </p><p>  電阻溫度計:分為金屬電阻溫度計和半導體電阻溫度計,都是根據(jù)電阻值隨溫度的變化這一特性制成的。金屬溫度計主要有用鉑、金、銅、鎳等純金屬的及鐵、磷

21、青銅合金的;半導體溫度計主要用碳、鍺等。電阻溫度計使用方便可靠,已廣泛應用。電阻溫度計的測量范圍為-260℃~600℃左右。 </p><p>  指針式溫度計:是形如儀表盤的溫度計,也稱寒暑表,用來測室溫,是用金屬的熱脹冷縮原理制成的。它是以雙金屬片作為感溫元件,用來控制指針。雙金屬片通常是用銅片和鐵片鉚在一起,且銅片在左,鐵片在右。由于銅的熱脹冷縮效果要比鐵明顯的多,因此當溫度升高時,銅片牽拉鐵片向右彎曲,指

22、針在雙金屬片的帶動下就向右偏轉(指向高溫);反之,溫度變低,指針在雙金屬片的帶動下就向左偏轉(指向低溫)。 </p><p>  壓力式溫度計:壓力式溫度計是利用封閉容器內的液體,氣體受熱后產生體積膨脹或壓力變化作為測信號。它的基本結構是由溫包、毛細管和指示表三部分組成。壓力式溫度計的優(yōu)點是:結構簡單,機械強度高,不怕震動。價格低廉,不需要外部能源。缺點是:測溫范圍有限制,一般在-80~400℃;熱損失大響應時間

23、較慢。 </p><p>  水銀溫度計:水銀溫度計是膨脹式溫度計的一種,水銀的凝固點是 -38.87℃,沸點是 356.7℃,用來測量0~150℃或500℃以內范圍的溫度,它只能作為就地監(jiān)督的儀表。用它來測量溫度,不僅比較簡單直觀,而且還可以避免外部遠傳溫度計的誤差。</p><p>  1.1.2 溫度傳感器的發(fā)展狀況</p><p>  單片機在測控領域中具有

24、十分廣泛的應用,它既可以直接處理電信號,也可以間接處理溫度、濕度、壓力等非電信號。由于該特點,因而被廣泛應用于工業(yè)控制領域[1]。 </p><p>  由于單片機的接口信號是數(shù)字信號,因此使用它來進行溫度、濕度、壓力等這類非電信號的信息處理,必須使用對應的傳感器進行A/D或D/A轉換,最后再傳輸給單片機進行最終的數(shù)據(jù)處理和顯示。在測溫領域,人們通常使用溫度傳感器,將溫度信息轉換為電流或電壓進行輸出,進而完成數(shù)

25、據(jù)的處理和顯示[2]。</p><p>  本文正是基于溫度傳感器和單片機而構建的電路,進而完成溫度的測量和顯示。 </p><p>  溫度傳感器的發(fā)展經(jīng)歷了三個發(fā)展階段:</p><p>  (1) 傳統(tǒng)的分立式溫度傳感器。</p><p>  (2) 模擬集成溫度傳感器。</p><p>  (3) 智能集成溫度

26、傳感器。</p><p>  目前使用最廣的是智能溫度傳感器(亦稱數(shù)字溫度傳感器),是在20世紀90年代中期問世的。它是微電子技術、計算機技術和自動測試技術(ATE)的結晶,特點是能輸出溫度數(shù)據(jù)及相關的溫度控制量,適配于各種微控制器(MCU) [3]。社會的發(fā)展使人們對傳感器的要求也越來越高,現(xiàn)在的溫度傳感器正在基于單片機的基礎上從模擬式向數(shù)字式,從集成化向智能化、網(wǎng)絡化的方向飛速發(fā)展,并朝著高精度、多功能、總線

27、標準化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡傳感器、研制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展[4]。本文將介紹溫度傳感器DS18B20的結構特征及控制方法,并以此傳感器為測溫元件,AT89C52單片機為控制核心,構成的數(shù)字溫度測量裝置,并對其工作原理及程序設計作詳細的介紹。</p><p>  1.2 選題的目的和意義</p><p>  1.2.1 選題的目的</p>&l

28、t;p>  利用單片機AT89C52和溫度傳感器DS18B20設計一個設計溫度計,能夠測量-20~80℃之間的溫度值,并且小于20℃和大于32℃時報警,用LCD液晶屏顯示,測量精度為0.1℃。通過本次設計能夠理解數(shù)字溫度計的工作原理和熟悉單片機的發(fā)展和應用,鞏固所學的知識[5]。</p><p>  1.2.2 選題的意義</p><p>  隨著電子技術的發(fā)展,人們的生活日趨數(shù)字化

29、,多功能的數(shù)字溫度計可以給我們的生活帶來很大的方便;支持“一線總線”接口的溫度傳感器簡化了數(shù)字溫度計的設計,降低了成本;以美國MAXIM/DALLAS半導體公司的單總線溫度傳感器DS18B20為核心,以ATMEL公司的AT89C52為控制器設計的DS18B20溫度控制器結構簡單、測溫準確、具有一定控制功能的智能溫度控制器[6]。</p><p>  本課題研究的重要意義在于生產過程中隨著科技的不斷發(fā)展,現(xiàn)代社會對

30、各種信息參數(shù)的準確度和精確度的要求都有了幾何級的增長,而如何準確而又迅速的獲得這些參數(shù),就需要受制于現(xiàn)代信息基礎的發(fā)展水平[7]。在三大信息信息采集(即傳感器技術)、信息傳輸(通信技術)和信息處理(計算機技術)中,傳感器屬于信息技術的前沿尖端產品,尤其是數(shù)字溫度傳感器技術,在我國各領域已經(jīng)應用的非常廣泛可以說是滲透到社會的每一個領域,與人民的生活和環(huán)境的溫度息息相關[8]。</p><p><b>  

31、第2章 系統(tǒng)概述</b></p><p>  2.1 設計方案的選擇</p><p>  該系統(tǒng)主要由溫度測量和數(shù)據(jù)采集兩部分電路組成,實現(xiàn)的方法有很多種,下面將列出兩種在日常生活中和工農業(yè)生產中經(jīng)常用到的實現(xiàn)方案。</p><p><b>  2.1.1 方案一</b></p><p>  采用熱電偶溫差電

32、路測溫,溫度檢測部分可以使用低溫熱偶,熱電偶由兩個焊接在一起的異金屬導線所組成,熱電偶產生的熱電勢由兩種金屬的接觸電勢和單一導體的溫差電勢組成[9]。數(shù)據(jù)采集部分則使用帶有A/D通道的單片機,在將隨被測溫度變化的電壓或電流采集過來,進行A/D轉換后,就可以用單片機進行數(shù)據(jù)處理,通過顯示電路,就可以將被測溫度顯示出來。熱電偶的優(yōu)點是工作溫度范圍非常寬,且體積小,但是它們也存在著輸出電壓小、容易遭受來自導線環(huán)路的噪聲影響以及漂移較高的缺點,

33、并且這種設計需要用到A/D轉換電路,感溫電路比較麻煩。</p><p>  系統(tǒng)主要包括對ADC0809的數(shù)據(jù)采集,溫度的測量,此外還有復位電路,晶振電路,啟動電路等。處理芯片為51芯片,執(zhí)行機構有4位數(shù)碼管、報警電路等。系統(tǒng)框圖如圖2-1所示。</p><p>  圖2-1 熱電偶溫差電路測溫系統(tǒng)框圖</p><p><b>  2.1.2 方案二<

34、;/b></p><p>  采用數(shù)字溫度芯片DS18B20測量溫度,輸出信號全數(shù)字化。便于單片機處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路。且該芯片的物理化學性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線形較好。在0~100℃時,最大線形偏差小于1℃。DS18B20的最大特點之一采用了單總線的數(shù)據(jù)傳輸,由溫度傳感器DS18B20和單片機AT89C52構成的溫度測量裝置,它直接輸出溫度的數(shù)字信號,可直接與計算機

35、連接[10]。這樣,測溫系統(tǒng)的結構就比較簡單,體積也不大。采用51單片機控制,軟件編程的自由度大,可通過編程實現(xiàn)各種各樣的算術算法和邏輯控制,而且體積小,硬件實現(xiàn)簡單,安裝方便。既可以單獨對多DS18B20控制工作,還可以與PC機通信上傳數(shù)據(jù),另外,AT89C52在工業(yè)控制上也有著廣泛的應用,編程技術及外圍功能電路的配合使用都很成熟。</p><p>  該系統(tǒng)利用AT89C52芯片控制溫度傳感器DS18B20進

36、行實時溫度檢測并顯示,能夠實現(xiàn)快速測量環(huán)境溫度,并可以根據(jù)需要設定上下限報警溫度。該系統(tǒng)擴展性非常強,它可以在設計中加入時鐘芯片以獲取時間數(shù)據(jù),在數(shù)據(jù)處理同時顯示時間,并可以利用AT89C52芯片作為存儲器件,以此來對某些時間點的溫度數(shù)據(jù)進行存儲,利用鍵盤來進行調時和溫度查詢,獲得的數(shù)據(jù)可以通過芯片與計算機的接口進行串口通信,方便的采集和整理時間溫度數(shù)據(jù)[11]。</p><p>  從以上兩種方案中,容易看出方

37、案一的測溫裝置可測溫度范圍寬、體積小,但是線性誤差較大。方案二的測溫裝置電路簡單、精確度較高、實現(xiàn)方便、軟件設計也比較簡單,故本次設計采用了方案二。</p><p>  2.2 系統(tǒng)設計原理</p><p>  本課題以是AT89C52單片機為核心設計的一種數(shù)字溫度控制系統(tǒng),系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路,溫度顯示電路,上下限報警調整電路,單片機主板電路等組成[12]。利用溫度傳

38、感器DS18B20可以直接讀取被測溫度值,進行轉換的特性,模擬溫度值經(jīng)過DS18B20處理后轉換為數(shù)字值,然后送到單片機中進行數(shù)據(jù)處理,并與設置的溫度報警限比較,超過限度后通過揚聲器報警[13]。同時處理后的數(shù)據(jù)送到LCD中顯示。系統(tǒng)框圖如圖2-2所示。</p><p>  圖2-2 系統(tǒng)基本方框圖</p><p><b>  1. 主控制器</b></p>

39、;<p>  單片機AT89C52具有低電壓供電和體積小等特點,四個端口只需要兩個口就能滿足電路系統(tǒng)的設計需要,很適合便攜手持式產品的設計使用系統(tǒng)可用二節(jié)電池供電。</p><p><b>  2. 溫度傳感器</b></p><p>  溫度傳感器采用美國DALLAS半導體公司生產的DS18B20溫度傳感器。DS18B20輸出信號全數(shù)字化。便于單片機處

40、理及控制,在0~100℃,時,最大線形偏差小于1℃,采用單總線的數(shù)據(jù)傳輸,可直接與計算機連接。用單片機AT89C52芯片控制溫度傳感器DS18B20進行實時溫度檢測并顯示,能夠實現(xiàn)快速測量環(huán)境溫度,并可以根據(jù)需要設定上下限報警溫度。獲得的數(shù)據(jù)可以通過芯片與計算機的接口進行串口通信,方便的采集和整理時間溫度數(shù)據(jù)。</p><p><b>  3. 顯示電路</b></p><

41、;p>  顯示電路采用LCD液晶顯示數(shù)碼管,從P3口RXD,TXD串口輸出段碼[14]。顯示電路是使用的串口顯示,這種顯示最大的優(yōu)點就是使用資源比較少,只用P3口的RXD和TXD串口發(fā)送和接收,顯示比較清晰。</p><p>  第3章 系統(tǒng)硬件的設計</p><p>  3.1 AT89C52的介紹</p><p>  1. AT89C52簡介</p&

42、gt;<p>  AT89C52是一種帶8K字節(jié)閃速可編程可擦除只讀存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS 8位微處理器,俗稱單片機[15]。AT89C52是一種帶8KB的閃速可編程可擦除只讀存儲器的單片機,AT89C52是一種高效微控制器。AT89C52單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。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é)可編程閃爍存儲器。 </p><p>  (3) 壽命長:10

44、00寫/擦循環(huán)。 </p><p>  (4) 數(shù)據(jù)保留時間:10年。 </p><p>  (5) 全靜態(tài)工作:0Hz-24MHz。 </p><p>  (6) 三級程序存儲器鎖定。 </p><p>  (7) 128×8位內部RAM。</p><p>  (8) 32可編程I/O線。 </p&g

45、t;<p>  (9) 兩個16位定時器/計數(shù)器。 </p><p>  (10) 5個中斷源。 </p><p>  (11) 可編程串行通道。 </p><p>  (12) 低功耗的閑置和掉電模式。 </p><p>  (13) 片內振蕩器和時鐘電路。 </p><p><b>  3.

46、 管腳說明</b></p><p>  VCC:供電電壓。 </p><p><b>  GND:接地。 </b></p><p>  P0口:P0口為一個8位漏極開路雙向I/O口,每個管腳可吸收8TTL門電流。當P0口的管腳第一次寫1時,被定義為高阻抗輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIA

47、SH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。 </p><p>  P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 </p><p&

48、gt;  P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。

49、P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 </p><p>  P3口:P3口管腳是帶8個內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口同時為閃爍編程和編程校驗接收一些控制信號。 </p><p>  P3口也可作為AT

50、89C52的一些特殊功能口,如下表3-1所示。</p><p>  表3-1 P3口的一些特殊功能口</p><p>  RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。 </p><p>  ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE

51、端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 </p><p>  /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指令時

52、,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。 </p><p>  /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-0FFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平(接VCC端)時,CPU則執(zhí)行內部程序存儲器中的程序。在FLASH ROM編程期間,此引腳也用于施加12V編程電

53、源(VPP)。 </p><p>  XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。 </p><p>  XTAL2:來自反向振蕩器的輸出。 </p><p><b>  振蕩器特性: </b></p><p>  XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振

54、蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2應不接。時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p>  3.2 DS18B20的介紹</p><p>  Dallas半導體公司的數(shù)字化溫度傳感器DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提

55、高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,新的產品支持3V~5.5V的電壓范圍,使系統(tǒng)設計更靈活、方便。</p><p>  DS18B20測量溫度范圍為-55℃~+125℃,在-10~+85℃范圍內,精度為±0.5℃。DS18B20可以程序設定9~12位的分辨率,及用戶設定的報警溫度存儲在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:可接電源,也可接地。因為每只DS18B20都可以設置成兩種供電方式,即數(shù)據(jù)

57、總線供電方式和外部供電方式。采用數(shù)據(jù)總線供電方式時VDD接地。</p><p>  圖3-2 DS18B20引腳排列</p><p>  3.2.2 DS18B20內部結構</p><p>  DS18B20內部結構主要由四部分組成:64位ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL及配置寄存器。DS18B20內部結構圖如3-3圖所示。</p>

58、<p>  圖3-3 DS18B20內部結構圖</p><p>  1.64位ROM。64位ROM是由廠家使用激光刻錄的一個64位二進制ROM代碼,是該芯片的標識號,如表3-2所示。</p><p>  表3-2 64位ROM標識</p><p>  開始8位表示產品分類編號,接著48位是該DS18B20自身的序列號,最后8位為前56位的CRC循環(huán)冗余

59、校驗碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20的目的。</p><p>  2. 溫度傳感器。溫度傳感器是DS18B20的核心部分,該功能部件可完成對溫度的測量。通過軟件編程可將-55~125℃范圍內的溫度值按9位、10位、11位、12位的分辨率進行量化,以上的分辨率都包括一個符號位,因此對應的溫度量化值分別為0.5℃、0

60、.25℃、0.125℃、0.0625℃,即最高分辨率為0.0625℃。芯片出廠時默認為12位的轉換精度。當接收到溫度轉換命令后,開始轉換,轉換完成后的溫度以16位帶符號擴展的二進制補碼形式表示,存儲在高速緩存器RAM的第0,1字節(jié)中,二進制數(shù)的前5位是符號位。如果測得的溫度大于0,這5位為0,只要將測得的數(shù)值乘上0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測得的數(shù)值需要取反加1再乘上0.0625即可得到實際溫度。溫度數(shù)據(jù)格

61、式如表3-3所示。</p><p>  表3-3 溫度數(shù)據(jù)格式</p><p><b>  LS Byte </b></p><p>  MS Byte </p><p>  其中“S”為符號位,對應的溫度計算:當符號位S=0時,表示測得的溫度值為正值,可以直接將二進制位轉換為十進制;當符號位S=1時,表示測得的

62、溫度值為負值,要先將補碼變成原碼,再計算十進制數(shù)值。表3-4是一部分溫度值對應的二進制溫度數(shù)據(jù)。</p><p>  表3-4 一部分溫度對應值</p><p>  DS18B20溫度傳感器的內部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的E2PROM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結構寄存器。</p><p>  高速暫存RAM包含了8個連續(xù)字

63、節(jié),前2個字節(jié)是測得的溫度信息,第3和第4字節(jié)是TH和TL的易失性拷貝,第5個字節(jié)是結構寄存器的易失性拷貝,這三個字節(jié)的內容在每一次上電復位時被刷新。DS18B20工作時寄存器中的分辨率轉換為相應精度的溫度數(shù)值。它的字節(jié)定義如表3-5所示。低5位一直為1,TM是工作模式位,用于設置DS18B20在工作模式還是在測試模式。</p><p>  表3-5 DS18B20字節(jié)定義</p><p>

64、;  DS18B20出廠時該位被設置為0,用戶不要去改動,R1和R0決定溫度轉換的精度位數(shù),來設置分辨率,詳見表3-6(DS18B20出廠時被設置為12位)。</p><p>  表3-6 DS18B20分辨率設置</p><p>  由表3-6可見,分辨率越高,所需要的溫度數(shù)據(jù)轉換時間越長。因此,在實際應用中要將分辨率和轉換時間權衡考慮。</p><p>  3.

65、 溫度報警觸發(fā)器TH和TL</p><p>  DS18B20依靠一個單線端口通訊。在單線端口條件下,必須先建立ROM 操作協(xié)議,才能進行存儲器和控制操作。因此,控制器必須首先提供下面5個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></p><p>  成功執(zhí)行完一條ROM 操作序列后,即可進行存儲器和控制操作,控制器可以提供6條存儲器和控制操作指令中的任一條。一條控制操作命令指示DS18B20完成一次溫度測量。測量結果放在DS18B20的暫存器里

67、,用一條讀暫存器內容的存儲器操作命令可以把暫存器中數(shù)據(jù)讀出。溫度報警觸發(fā)器TH和TL各由一個E2PROM字節(jié)構成??梢杂靡粭l存儲器操作命令對TH和TL 進行寫入,對這些寄存器的讀出需要通過暫存器。所有數(shù)據(jù)都是以最低有效位在前的方式進行讀寫。</p><p>  4. 配置寄存器。配置寄存器的內容用于確定溫度值的數(shù)字轉換率。DS18B20工作是按此寄存器的分辨率將溫度轉換為相應精度的數(shù)值,它是高速緩存器的第5個字節(jié)

68、。</p><p>  3.2.3 DS18B20的測溫原理</p><p>  如圖3-4所示,圖中低溫度系數(shù)振蕩器的振蕩頻率受溫度影響很小,用于產生固定頻率的脈沖信號送給減法計數(shù)器1;高溫度系數(shù)振蕩器隨溫度變化其振蕩頻率明顯改變,所產生的信號作為減法計數(shù)器2的脈沖輸入。</p><p>  圖3-4 DS18B20測溫原理圖</p><p&g

69、t;  圖中還隱含著計數(shù)門,當計數(shù)門打開時,DS18B20就對低溫系數(shù)振蕩器產生的時鐘脈沖進行計數(shù),進而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55℃所對應的一個基數(shù)分別置入減法計數(shù)器1和溫度寄存器中,減法計數(shù)器和溫度寄存器被預置在-55℃所對應的一個基數(shù)值。</p><p>  減法計數(shù)器1對低溫度系數(shù)振蕩器產生的脈沖信號進行減法計數(shù),當減法計數(shù)器1的預置減到0時,溫度寄存器

70、的值將加1,減法計數(shù)器1的預置將重新被裝入,并重新開始對低溫度系數(shù)振蕩器產生的脈沖信號進行計數(shù)。如此循環(huán),直到減法計數(shù)器2計數(shù)到0時,停止溫度計數(shù)器值的累加,此時溫度寄存器中的數(shù)值就是所測溫度值。圖中的斜率累加器用于補償和修正測溫過程的非線形性,直到溫度寄存器達到被測溫度值。</p><p>  另外,DS18B20單線通信功能是分時完成的,有嚴格的時隙概念,因此讀/寫時序很重要。根據(jù)DS18B20的通訊協(xié)議,主

71、機控制DS18B20完成溫度轉換必須經(jīng)過三個步驟:</p><p>  (1) 每一次讀寫之前都必須要對DS18B20進行復位。</p><p>  (2) 復位成功后發(fā)送一條ROM指令。</p><p>  (3) 最后發(fā)送RAM指令,這樣才能對DS18B20進行預定的操作。</p><p>  復位要求主CPU將數(shù)據(jù)線下拉500微秒,然后

72、釋放,DS18B20收到信號后等待15~60微秒左右后發(fā)出60~240微秒的低脈沖,主CPU收到此信號表示復位成功。</p><p>  3.2.4 DS18B20使用的注意事項</p><p>  DS18B20雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、用線少等優(yōu)點,但在實際應用中也應注意以下幾方面的問題: </p><p>  1. 較小的硬件開銷需要相對復雜

73、的軟件進行補償,由于DS18B20與微處理器間采用串行數(shù)據(jù)傳送,因此,在對DS18B20進行讀寫編程時,必須嚴格的保證讀/寫時序,否則將無法讀取測溫結果。在使用PL/M、C等高級語言進行程序設計時,對DS18B20部分最好采用匯編語言實現(xiàn)。 </p><p>  2. 在DS18B20的有關資料中均未提及單總線上所掛DS18B20數(shù)量問題,容易使人誤認為可以掛任意多個DS18B20,在實際應用中并非如此。當單總線

74、上所掛DS18B20超過8個時,就需要解決微處理器的總線驅動問題,這一點在進行多點測溫系統(tǒng)設計時要加以注意。 </p><p>  3. 連接DS18B20的總線電纜是有長度限制的。當采用普通信號電纜傳輸長度超過50m時,讀取的測溫數(shù)據(jù)將發(fā)生錯誤。當將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達150m,當采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時,正常通訊距離進一步加長。這種情況主要是由總線分布電容使信號波形

75、產生畸變造成的。因此,在用DS18B20進行長距離測溫系統(tǒng)設計時要充分考慮總線分布電容和阻抗匹配問題。 </p><p>  2. 在DS18B20測溫程序設計中,向DS18B20發(fā)出溫度轉換命令后,程序總要等待DS18B20的返回信號,一旦某個DS18B20接觸不好或斷線,當程序讀該DS18B20時,將沒有返回信號,程序進入死循環(huán)。這一點在進行DS18B20硬件連接和軟件設計時也要給予一定的重視。</p&

76、gt;<p>  3.3 數(shù)字溫度計電路設計</p><p>  3.3.1 數(shù)字溫度計原理圖</p><p>  溫度計電路設計原理圖如圖3-5所示,控制器使用單片機AT89C52,溫度計傳感器使用DS18B20,用液晶實現(xiàn)溫度顯示。本溫度計大體分三個工作過程。首先,由DS18B20溫度傳感器芯片測量當前的溫度,并將結果送入單片機。然后,通過AT89C52單片機芯片對送來的

77、測量溫度讀數(shù)進行計算和轉換,井將此結果送入液晶顯示模塊。最后,SMC1602A芯片將送來的值顯示于顯示屏上。其中,DS18B20溫度傳感器芯片采用“一線制”與單片機相連,它獨立地完成溫度測量以及將溫度測量結果送到單片機的工作。</p><p>  圖3-5 溫度計電路設計原理圖</p><p>  3.3.2 時鐘電路的設計</p><p>  圖3-6是時鐘電路的

78、設計電路圖。</p><p><b>  圖3-6 時鐘電路</b></p><p>  單片機允許的振蕩晶體可在1.2~24MHz之間選擇,一般為11.0592MHz。電容C2,C3的取值對振蕩頻率輸出的穩(wěn)定性、大小及振蕩電路起振有一定的影響,可在20~100pF之間選擇,典型值為30pF。</p><p>  3.3.3 復位電路的設計&l

79、t;/p><p>  計算機每次開始工作,CPU和系統(tǒng)中的其他部件都必須要有一個確定的初值,即復位狀態(tài)。圖3-7是單片機復位電路圖。</p><p><b>  圖3-7 復位電路</b></p><p>  單片機RST引腳是高電平有效。單片機在上電瞬間C3充電,RST引腳出現(xiàn)正脈沖,只要RST保持兩個機械周期(大約10ms)以上的高電平,單片機

80、就能復位。在單片機工作后,如果還想再次復位,只需按下開關,單片機就能重新變成復位狀態(tài)。當晶體振蕩頻率為12MHz時,RC的典型值為C=10μF,R=8.2KΩ。</p><p>  3.3.4 接口電路的設計</p><p>  DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時DS18B20的1腳接地,2腳作為信號線,3腳接電源。另一種是寄生電源供電方式,如圖3-8所示單片

81、機端口接單線總線,為保證在有效的DS18B20時鐘周期內提供足夠的電流,可用一個MOSFET管完成對總線的上拉。</p><p>  當DS18B20處于寫存儲器操作和溫度A/D轉換操作時,總線上必須有強的上拉,上拉開啟時間最大為10us。采用寄生電源供電方式時VDD端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。</p><p>  圖3-8 DS18B20與單片機的接口電路&l

82、t;/p><p>  3.3.5 顯示電路的設計</p><p>  1. 1602LCD液晶簡介</p><p>  1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊,它有若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符。每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為

83、如此,所以它不能顯示圖形。</p><p>  1602LCD是指顯示的內容為16×2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)。1602LCD引腳與功能如下表3-7所示。</p><p>  表3-7 液晶1602引腳表</p><p>  1602液晶模塊內部的控制器共有11條控制指令,如下表3-8所示。1602LCD的特性如下:<

84、;/p><p>  (1) +5V電壓,對比度可調。</p><p>  (2) 內含復位電路。</p><p>  (3) 提供各種控制命令,如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能。</p><p>  (4) 有80字節(jié)顯示數(shù)據(jù)存儲器DDRAM。</p><p>  (5) 內建有160個5×7點陣

85、的字型的字符發(fā)生器CGROM。</p><p>  (6) 8個可由用戶自定義的5×7的字符發(fā)生器CGROM。</p><p>  表3-8 1602的控制指令</p><p>  指令1:清零顯示,光標復位到地址00H位置。</p><p>  指令2:光標復位,光標返回到地址00H。</p><p>  

86、指令3:光標和顯示模式設置。I/D:光標移動方向,高電平右移,低電平左移,S: 屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。</p><p>  指令4:顯示開關控制。D:控制整體顯示的開與關,高電平表示開,低電平表示關;C:控制光標的開與關,高電平表示有光標,低電平表示無光標;B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。</p><p>  指令5:光標或顯示移位。

87、S/C:高電平時移動顯示的文字,低電平時移動光標。R/L,高向左,低向右。</p><p>  指令6:功能設置命令。DL:高電平時為8位總線,低電平時為4位總線。N:低電平時為單行顯示,高電平時雙行顯示。F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符。</p><p>  指令7:字符發(fā)生器RAM地址設置,地址:字符地址*8+字符行數(shù)(將一個字符分成5*8點陣,一次寫

88、入一行,8行就組成一個字符)。</p><p>  指令8:顯示地址,第一行為:80H——8FH,第二行為:C0H——CFH。</p><p>  指令9:讀忙信號和光標地址。BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。</p><p><b>  指令10:寫數(shù)據(jù)。</b></p><

89、;p><b>  指令11:讀數(shù)據(jù)。</b></p><p>  3.3.6 報警電路的設計</p><p>  本設計采用軟件處理報警,利用發(fā)光二級管報警電路,當溫度超過設定范圍時,則二極管發(fā)光報警。報警電路硬件連接如圖3-9。</p><p>  圖3-9 報警電路連接圖</p><p>  第4章 系統(tǒng)軟件的

90、設計</p><p>  4.1軟件Proteus與Keil</p><p>  4.1.1 Proteus軟件</p><p>  1. Proteus簡介</p><p>  Proteus軟件是英國LABCENTER electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍電路。Pro

91、teus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設計,真正實現(xiàn)了從概念到產品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等,在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。<

92、/p><p>  Proteus軟件的特點是:</p><p>  (1) 實現(xiàn)了單片機仿真和SPICE電路仿真相結合,具有模擬電路仿真、數(shù)字電路仿真、各種單片機及其外圍電路組成的系統(tǒng)仿真。</p><p>  (2) 提供了多種虛擬儀器。如示波器、邏輯分析儀、信號發(fā)生器等,調試非常方便。</p><p>  (3) 提供軟件調試功能,同時支持第

93、三方的軟件編譯和調試環(huán)境,如Keil等軟件。</p><p>  (4) 具有強大的原理圖繪制功能。Proteus與其它單片機仿真軟件不同的是,它不僅能仿真單片機CPU的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。</p><p><b>  2. 四大功能模塊</b></p><p>  (1) 智能原理圖設計(IS

94、IS)</p><p>  豐富的器件庫:超過27000種元器件,可方便地創(chuàng)建新元件。   </p><p>  智能的器件搜索:通過模糊搜索可以快速定位所需要的器件。   </p><p>  智能化的連線功能:自動連線功能使連接導線簡單快捷,大大縮短繪圖時間。   </p><p>  支持總線結構:使用總線器件和總線布線使電路設計簡明清

95、晰。   </p><p>  可輸出高質量圖紙:通過個性化設置,可以生成印刷質量的BMP圖紙,可以方便地供WORD、POWERPOINT等多種文檔使用。 </p><p>  (2) 完善的電路仿真功能(PROSPICE)</p><p>  PROSPICE混合仿真:基于工業(yè)標準SPICE3F5,實現(xiàn)數(shù)字/模擬電路的混合仿真。   </p><

96、;p>  超過27000個仿真器件:可以通過內部原型或使用廠家的SPICE文件自行設計仿真器件,LABCENTER也在不斷地發(fā)布新的仿真器件,還可導入第三方發(fā)布的仿真器件。  </p><p>  多樣的激勵源:包括直流、正弦、脈沖、分段線性脈沖、音頻(使用wav文件)、指數(shù)信號、單頻FM、數(shù)字時鐘和碼流,還支持文件形式的信號輸入?! ?lt;/p><p>  豐富的虛擬儀器:13種虛擬

97、儀器,面板操作逼真,如示波器、邏輯分析儀、信號發(fā)生器、直流電壓/電流表、交流電壓/電流表、數(shù)字圖案發(fā)生器、頻率計/計數(shù)器、邏輯探頭、虛擬終端、SPI調試器、I2C調試器等。   </p><p>  生動的仿真顯示:用色點顯示引腳的數(shù)字電平,導線以不同顏色表示其對地電壓大小,結合動態(tài)器件(如電機、顯示器件、按鈕)的使用可以使仿真更加直觀、生動。  </p><p>  高級圖形仿真功能(A

98、SF):基于圖標的分析可以精確分析電路的多項指標,包括工作點、瞬態(tài)特性、頻率特性、傳輸特性、噪聲、失真、傅立葉頻譜分析等。</p><p>  (3) 獨特的單片機協(xié)同仿真功能(VSM)</p><p>  支持主流的CPU類型:如ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BASICSTAMP、8086、MSP430等

99、,CPU類型隨著版本升級還在繼續(xù)增加,如即將支持CORTEX、DSP處理器。   </p><p>  支持通用外設模型:如字符LCD模塊、圖形LCD模塊、LED點陣、LED七段顯示模塊、鍵盤/按鍵、直流/步進/伺服電機、RS232虛擬終端、電子溫度計等等,其COMPIM(COM口物理接口模型)還可以使仿真電路通過PC機串口和外部電路實現(xiàn)雙向異步串行通信。   </p><p>  實時仿

100、真:支持UART/USART/EUSARTS仿真、中斷仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真。   </p><p>  編譯及調試:支持單片機匯編語言的編輯/編譯/源碼仿真,內帶8051、AVR、PIC的匯編編譯器,也可以與第三方集成編譯環(huán)境(如IAR、KEIL和HITECH)結合,進行高級語言的源碼仿真和調試。</p><p>

101、  (4) 實用的PCB設計平臺</p><p>  原理圖到PCB的快速通道: 原理圖設計完成后,一鍵便可進入ARES的PCB設計環(huán)境,實現(xiàn)從概念到產品的完整設計?! ?lt;/p><p>  先進的自動布局/布線功能:支持器件的自動/人工布局;支持無網(wǎng)格自動布線或人工布線;支持引腳交換/門交換功能使PCB設計更為合理。   </p><p>  3.ISIS智能原

102、理圖輸入系統(tǒng)</p><p>  ISIS是PROTEUS系統(tǒng)的中心,具有控制原理圖畫圖的外觀的超強的設計環(huán)境。無論用戶的要求是快速實現(xiàn)復雜設計的仿真以及PCB設計,還是設計精美的原理圖供出版,ISIS都可以很好的完成。畫完圖可以以圖形文件輸出,或者拷貝到剪切板以便其他文件使用。這就使得ISIS成為制作技術文件,學術論文,項目報告的理想工具,也是PCB設計的一個出色的前端。畫圖的外形由風格模板定義。</p&

103、gt;<p>  4.Proteus的簡單應用</p><p>  圖4-1 Proteus界面圖</p><p>  (1) 繪制原理圖:繪制原理圖要在原理圖編輯窗口中的藍色方框內完成。原理圖編輯窗口的操作是不同于常用的WINDOWS應用程序的,正確的操作是:用左鍵放置元件;右鍵選擇元件;雙擊右鍵刪除元件;右鍵選中多個元件;先右鍵后左鍵編輯元件屬性;先右鍵后左鍵拖動元件;

104、連線用左鍵,刪除用右鍵;改連接線:先右擊連線,再左鍵拖動;中鍵可以縮放原理圖。</p><p>  (2) 定制自己的元件:有三個個實現(xiàn)途徑,一是用PROTEUS VSM SDK開發(fā)仿真模型,并制作元件;另一個是在已有的元件基礎上進行改造,比如把元件改為bus接口的;還有一個是利用已制作好(別人的)的元件,我們可以到網(wǎng)上下載一些新元件并把它們添加到自己的元件庫里面。</p><p>  (

105、3) Sub-Circuits應用:用一個子電路可以把部分電路封裝起來,這樣可以節(jié)省原理圖窗口的空間。</p><p>  4.1.2 Keil軟件</p><p>  1. Keil軟件簡介</p><p>  Keil軟件是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的

106、優(yōu)勢,因而易學易用。Keil軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil軟件生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。Keil提供包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,由以下幾部分組成:μVision IDE集成開發(fā)環(huán)境C51編譯器、

107、A51匯編器、LIB51庫管理器、BL51連接/定位器、OH51目標文件生成器以及 Monitor-51、RTX51實時操作系統(tǒng)。</p><p>  2. Keil軟件調試功能</p><p>  應用Keil進行軟件仿真開發(fā)的主要步驟為:編寫源程序并保存—建立工程并添加源文件—設置工程—編譯/匯編、連接,產生目標文件—程序調試。工程的建立、設置、編譯/匯編及連接產生目標文件的方法非常易

108、于掌握。首先選擇菜單File-New…,在源程序編輯器中輸入?yún)R編語言或C語言源程序(或選擇File-Open…,直接打開已用其它編輯器編輯好的源程序文檔)并保存,注意保存時必須在文件名后加上擴展名.asm(.a51)或.c;然后選擇菜單Project-New Project…,建立新工程并保存;工程保存后會立即彈出一個設備選擇對話框,選擇CPU后點確定返回主界面。這時工程管理窗口的文件頁(Files)會出現(xiàn)“Target1”,將其前面+

109、號展開,接著選擇Source Group1,右擊鼠標彈出快捷菜單,選擇“Add File to Group ‘Source Group1’”,出現(xiàn)一個對話框,要求尋找并加入源文件。加入文件后點close返回主界面,展開“Source Group1”前面+號,就會看到所加入的文件,雙擊文件名,即可打開該源程序文件。緊接著對工程進行設置,選擇工程管理窗口的Target1</p><p>  成功編譯/匯編、連接后,選

110、擇菜單Debug-Start/Stop Debug Session(或按Ctrl+F5鍵)進入程序調試狀態(tài),Keil提供對程序的模擬調試功能,內建一個功能強大的仿真CPU以模擬執(zhí)行程序。Keil能以單步執(zhí)行(按F11或選擇Debug-Step)、過程單步執(zhí)行(按F10或選擇Debug-Step Over)、全速執(zhí)行等多種運行方式進行程序調試。如果發(fā)現(xiàn)程序有錯,可采用在線匯編功能對程序進行在線修改(Debug-Inline Assambl

111、y…),不必執(zhí)行先退出調試環(huán)境、修改源程序、對工程重新進行編譯/匯編和連接、然后再次進入調試狀態(tài)的步驟。對于一些必須滿足一定條件(如按鍵被按下等)才能被執(zhí)行的、難以用單步執(zhí)行方式進行調試的程序行,可采用斷點設置的方法處理(Debug-Insert/Remove Breakpoint或Debug-Breakpoints…等)。在模擬調試程序后,還須通過編程器將.hex目標文件燒寫入單片機中才能觀察目標樣機真實的運行狀況。</p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論