四路實(shí)時溫度控制課程設(shè)計(jì)的報(bào)告_第1頁
已閱讀1頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計(jì)</b></p><p>  題 目 四路實(shí)時溫度控制器的設(shè)計(jì) </p><p>  姓 名 XXX </p><p>  學(xué) 號 XXX </p><p>  專業(yè)班級

2、XXX </p><p>  指導(dǎo)教師 XX </p><p>  提交日期 2013年06月 </p><p><b>  目 錄</b></p><p><b>  摘  要I</b&g

3、t;</p><p>  AbstractI</p><p><b>  第一章  緒論2</b></p><p>  1.1  課題背景2</p><p>  1.2本課題研究意義3</p><p>  1.3本課題的任務(wù)3</p><p>

4、  1.4系統(tǒng)整體目標(biāo)4</p><p>  第二章 方案論證比較與選擇4</p><p><b>  2.1 引言4</b></p><p><b>  2.2方案設(shè)計(jì)4</b></p><p>  2.3 方案的比較與選擇5</p><p>  2.4 方案的

5、闡述與論證6</p><p><b>  硬件設(shè)計(jì)6</b></p><p>  3.1  溫度傳感器7</p><p>  3.1.1 溫度傳感器選用細(xì)則7</p><p>  3.1.2  溫度傳感器DS18B208</p><p>  3.2.單片機(jī)系統(tǒng)設(shè)計(jì)1

6、5</p><p>  3.3 顯示電路設(shè)計(jì)18</p><p>  3.3.1 1602液晶顯示器:18</p><p>  3.3.2 管腳功能19</p><p>  3.3.4 特征應(yīng)用20</p><p>  3.3.5 操作控制20</p><p>  3.3.6 指令集

7、20</p><p>  3.4 按鍵電路設(shè)計(jì)23</p><p><b>  軟件設(shè)計(jì)25</b></p><p>  4.1  軟件開發(fā)工具的選擇25</p><p>  4.2 系統(tǒng)軟件設(shè)計(jì)的一般原則26</p><p>  4.3系統(tǒng)軟件設(shè)計(jì)的一般步驟27</

8、p><p>  4.4 軟件實(shí)現(xiàn)27</p><p>  4.4.1系統(tǒng)主程序流程圖28</p><p>  4.4.2 傳感器程序設(shè)計(jì)28</p><p>  4.4.3 顯示程序設(shè)計(jì)33</p><p>  4.4.4 鍵盤程序設(shè)計(jì)44</p><p>  第五章 調(diào)試與小結(jié)47&

9、lt;/p><p><b>  致謝48</b></p><p><b>  參考文獻(xiàn)49</b></p><p><b>  附錄50</b></p><p><b>  系統(tǒng)電路圖50</b></p><p><b&g

10、t;  摘  要</b></p><p>  隨著社會的進(jìn)步和工業(yè)技術(shù)的發(fā)展,人們越來越重視溫度因素,許多產(chǎn)品對溫度范圍要求嚴(yán)格,而目前市場上普遍存在的溫度檢測儀器大都是單點(diǎn)測量,同時有溫度信息傳遞不及時、精度不夠的缺點(diǎn),不利于工業(yè)控制者根據(jù)溫度變化及時做出決定。在這樣的形式下,開發(fā)一種能夠同時測量多點(diǎn),并且實(shí)時性高、精度高,能夠綜合處理多點(diǎn)溫度信息的測量系統(tǒng)就很有必要。</p>

11、<p>  本課題以AT89C51單片機(jī)系統(tǒng)為核心,能對多點(diǎn)的溫度進(jìn)行實(shí)時巡檢。DS18B20是一種可組網(wǎng)的高精度數(shù)字式溫度傳感器,由于其具有單總線的獨(dú)特優(yōu)點(diǎn),可以使用戶輕松地組建起傳感器網(wǎng)絡(luò),并可使多點(diǎn)溫度測量電路變得簡單、可靠。本文結(jié)合實(shí)際使用經(jīng)驗(yàn),介紹了DS18B20數(shù)字溫度傳感器在單片機(jī)下的硬件連接及軟件編程,并給出了軟件流程圖。</p><p>  關(guān)鍵詞:溫度測量;單總線;數(shù)字溫度傳感器

12、;單片機(jī)</p><p><b>  Abstract</b></p><p>  As the industry and the society developing, the temperature becomes more and more important and a lot of products are sensitive to temperature.

13、 However, temperature measuring apparatus in the market now only can check and measure the temperature of one point, at the same time, the temperature information is not real time and the precision is low. It takes a gre

14、at of troubles for the industry-controllers to make decision .In this situation, design and implement one applicable system which can wat</p><p>  This system based on single chip computer, can inspect and c

15、ontrol multiple temperatures in real time. As a kind of high-accuracy digital net temperature sensor,DS18 B20 can be used building a sensor net easily. It can also make the net simple and reliable with it's spec

16、ial 1-wire interface .This paper introduces the application of DS18B20 with single chip processor.</p><p>  Key words: temperature measure;single bus;digital thermometer;single chip processor;</p><

17、;p><b>  第一章  緒論</b></p><p><b>  1.1  課題背景</b></p><p>  在人類的生活環(huán)境中,溫度扮演著極其重要的角色。無論你生活在哪里,從事什么工作,無時無刻不在與溫度打著交道。自18世紀(jì)工業(yè)革命以來,工業(yè)發(fā)展對是否能掌握溫度有著絕對的聯(lián)系。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)

18、藥等等行業(yè),可以說幾乎%80的工業(yè)部門都不得不考慮著溫度的因素。</p><p>  溫度對于工業(yè)如此重要,由此推進(jìn)了溫度傳感器的發(fā)展。</p><p>  傳感器主要大體經(jīng)過了三個發(fā)展階段:模擬集成溫度傳感器。該傳感器是采用硅半導(dǎo)體集成工藝制成,因此亦稱硅傳感器或單片集成溫度傳感器。此種傳感器具有功能單一(僅測量溫度)、測溫誤差小、價(jià)格低、響應(yīng)速度快、傳輸距離遠(yuǎn)、體積小、微功耗等,適合遠(yuǎn)

19、距離測溫、控溫,不需要進(jìn)行非線性校準(zhǔn),外圍電路簡單。它是目前在國內(nèi)外應(yīng)用最為普遍的一種集成傳感器,典型產(chǎn)品有AD590、AD592、TMP17、LM135等;模擬集成溫度控制器。模擬集成溫度控制器主要包括溫控開關(guān)、可編程溫度控制器,典型產(chǎn)品有LM56、AD22105和MAX6509。某些增強(qiáng)型集成溫度控制器(例如TC652/653)中還包含了A/D轉(zhuǎn)換器以及固化好的程序,這與智能溫度傳感器有某些相似之處。但它自成系統(tǒng),工作時并不受微處理

20、器的控制,這是二者的主要區(qū)別;智能溫度傳感器。能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20世紀(jì)90年代中期問世的。它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動測試技術(shù)(ATE)的結(jié)晶。智能溫度傳感器內(nèi)部都包含溫度傳感器、A/D轉(zhuǎn)換器、信號處理器、存儲器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器(CPU)、隨機(jī)存取存儲器(R</p><p>  溫度傳感器的發(fā)展趨勢。</p><p>  

21、進(jìn)入21世紀(jì)后,溫度傳感器正朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展。 傳感器在溫度測控系統(tǒng)中的應(yīng)用。</p><p>  目前市場主要存在單點(diǎn)和多點(diǎn)兩種溫度測量儀表。對于單點(diǎn)溫測儀表,主要采用傳統(tǒng)的模擬集成溫度傳感器,其中又以熱電阻、熱電偶等傳感器的測量精度高,測量范圍大,而得到了普遍的應(yīng)用。此種產(chǎn)品測溫范圍大都在-200℃~8

22、00℃之間,分辨率12位,最小分辨溫度在0.001~0.01之間。自帶LED顯示模塊,顯示4位到16位不等。有的儀表還具有存儲功能,可存儲幾百到幾千組數(shù)據(jù)。該類儀表可很好的滿足單個用戶單點(diǎn)測量的需要。多點(diǎn)溫度測量儀表,相對與單點(diǎn)的測量精度有一定的差距,雖然實(shí)現(xiàn)了多路溫度的測控,但價(jià)格昂貴。</p><p>  針對目前市場的現(xiàn)狀,本課題提出了一種可滿足要求、可擴(kuò)展的并且性價(jià)比高的單片機(jī)多路測溫系統(tǒng)。</p&

23、gt;<p>  1.2本課題研究意義</p><p>  隨著科學(xué)技術(shù)的不斷進(jìn)步與發(fā)展,溫度控制在工業(yè)控制、電子測溫計(jì)、醫(yī)療儀器、家用電器等各種溫度控制系統(tǒng)中廣泛應(yīng)用,且由過去的單點(diǎn)測量向多測量發(fā)展。目前溫度傳感器有模擬和數(shù)字兩類傳感器,為克服模擬傳感器與微處理器接口時需要信號調(diào)理電路和A/D轉(zhuǎn)換器的弊端,大多數(shù)多點(diǎn)測溫控制系統(tǒng)采用數(shù)字傳感器,并大大方便了系統(tǒng)的設(shè)計(jì)。比較有代表性的數(shù)字溫度傳感器有

24、DS18B20、MAX6575、DS1722、MAX6635、SMT160-30等。</p><p>  在傳統(tǒng)的溫度測量系統(tǒng)設(shè)計(jì)中,往往采用模擬技術(shù)進(jìn)行設(shè)計(jì),這樣就不可避免地遇到諸如引線誤差補(bǔ)償、多點(diǎn)測量中的切換誤差和信號調(diào)理電路的誤差等問題;而其中某一環(huán)節(jié)處理不當(dāng),就可能造成整個系統(tǒng)性能的下降。隨著現(xiàn)代科學(xué)技術(shù)的飛速發(fā)展,特別是大規(guī)模集成電路設(shè)計(jì)技術(shù)的發(fā)展,微型化、集成化、數(shù)字化正成為傳感器發(fā)展的一個重要方向

25、。美國Dallas半導(dǎo)體公司推出的數(shù)字溫度傳感器DS18B20,具有獨(dú)特的單總線接口,僅需要占用一個通用I/0端口即可完成與微處理器的通信;在-10~+85℃ 溫度范圍內(nèi)具有0.5℃ 精度;用戶可編程設(shè)定9~12位的分辨率。以上特性使得DS18B20非常適用于構(gòu)建高精度、多點(diǎn)溫度測量系統(tǒng)。</p><p><b>  1.3本課題的任務(wù)</b></p><p>  本

26、課題主要是實(shí)現(xiàn)對溫度進(jìn)行四路同時測量并準(zhǔn)確顯示。整個系統(tǒng)由單片機(jī)控制,要能夠接收傳感器的數(shù)據(jù)并顯示出來,可以從鍵盤輸入命令,系統(tǒng)根據(jù)命令,選擇對應(yīng)的傳感器,并由驅(qū)動電路驅(qū)動溫度顯示。設(shè)計(jì)一種合理、可行的單片機(jī)監(jiān)控軟件,完成四路測量和顯示的任務(wù),并編寫硬件底層驅(qū)動程序。</p><p><b>  1.4系統(tǒng)整體目標(biāo)</b></p><p>  利用一個單片機(jī)設(shè)計(jì)一個能

27、夠進(jìn)行多點(diǎn)溫度進(jìn)行同時測量的系統(tǒng)。該系統(tǒng)能夠同時對四路的溫度進(jìn)行測量和進(jìn)行顯示。</p><p>  第二章 方案論證比較與選擇 </p><p><b>  2.1 引言</b></p><p>  溫度測量的方案有很多種,可以采用傳統(tǒng)的分立式傳感器、模擬集成傳感器以及新興的智能型傳感器。對于控制系統(tǒng)可以采用計(jì)算機(jī)、單片機(jī)等。</p

28、><p><b>  2.2方案設(shè)計(jì)</b></p><p><b>  設(shè)計(jì)方案一</b></p><p>  采用模擬分立元件,如電容、電感或晶體管等非線形元件,實(shí)現(xiàn)多點(diǎn)溫度的測量及顯示,該方案設(shè)計(jì)電路簡單易懂,操作簡單,且價(jià)格便宜,但采用分立元件分散性大,不便于集成數(shù)字化,而且測量誤差大。 設(shè)計(jì)方案二</p>

29、;<p>  本方案采用AT89C51單片機(jī)為核心,通過溫度傳感器AD590采集溫度信號,經(jīng)信號放大器放大后,送到A/D轉(zhuǎn)換芯片,最終經(jīng)單片機(jī)檢測處理溫度信號。 </p><p>  圖2.1 方案二的框圖</p><p>  如圖2.1,采用該方案技術(shù)已經(jīng)成熟,AD轉(zhuǎn)換電路設(shè)計(jì)較煩瑣,而且使用AD590進(jìn)行溫度檢測必須對冷端進(jìn)行補(bǔ)償,以減小誤差。</p>

30、<p><b>  設(shè)計(jì)方案三</b></p><p>  本設(shè)計(jì)運(yùn)用主從分布式思想,由一臺上位機(jī)(PC微型計(jì)算機(jī)),下位機(jī)(單片機(jī))四路溫度數(shù)據(jù)采集,組成兩級分布式四路溫度測量的巡回檢測系統(tǒng)。該系統(tǒng)采用 RS-232串行通訊標(biāo)準(zhǔn),通過上位機(jī)(PC)控制下位機(jī)(單片機(jī))進(jìn)行現(xiàn)場溫度采集。溫度值既可以送回主控PC進(jìn)行數(shù)據(jù)處理,由顯示器顯示。也可以由下位機(jī)單獨(dú)工作,實(shí)時顯示當(dāng)前各點(diǎn)的溫

31、度值,對各點(diǎn)進(jìn)行控制。 </p><p>  下位機(jī)采用的是單片機(jī)基于數(shù)字溫度傳感器DS18B20的系統(tǒng)。DS18B20利用單總線的特點(diǎn)可以方便的實(shí)現(xiàn)多點(diǎn)溫度的測量,輕松的組建傳感器網(wǎng)絡(luò),系統(tǒng)的抗干擾性好、設(shè)計(jì)靈活、方便,而且適合于在惡劣的環(huán)境下進(jìn)行現(xiàn)場溫度測量。本系統(tǒng)可以應(yīng)用在大型工業(yè)及民用常溫多點(diǎn)監(jiān)測場合。如糧食倉儲系統(tǒng)、樓宇自動化系統(tǒng)、溫控制程生產(chǎn)線之溫度影像檢測、醫(yī)療與健診的溫度測試、空調(diào)系統(tǒng)的溫度檢測、

32、石化、機(jī)械…等。系統(tǒng)框圖如下:</p><p>  圖2 .2 方案三的系統(tǒng)框圖</p><p>  2.3 方案的比較與選擇</p><p>  基于數(shù)字式溫度計(jì)DS18B20的溫度測量儀的硬軟件開發(fā)過程,DS18B20將溫度信號直接轉(zhuǎn)換為數(shù)字信號,實(shí)現(xiàn)了與單片機(jī)的直接接口,從而省去了信號調(diào)理電路。該儀器電路簡單、功能可靠、測量效率高,很好地彌補(bǔ)了傳統(tǒng)溫度測量方

33、法的不足。相對與方案1,在功能、性能、可操作性等方面都有較大的提升。相對與方案2,硬件電路簡單,易于操作,具有更高的性價(jià)比,更大的市場。所以我采用方案3完成本設(shè)計(jì)。</p><p>  2.4 方案的闡述與論證</p><p>  方案三以DS18B20為傳感器、AT89C51單片機(jī)為控制核心組成多點(diǎn)溫度測試系統(tǒng),該系統(tǒng)包括傳感器電路、鍵盤與顯示電路、串口通信電路等組成部。采用美國Dall

34、as半導(dǎo)體公司推出的數(shù)字溫度傳感器DS18B20,屬于新一代適配微處理器的智能溫度傳感器。它具有獨(dú)特的單總線接口,僅需要占用一個通用I/0端口即可完成與微處理器的通信。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集要求通過簡單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式。其可以分別93.75ms和750ms內(nèi)完成9位和12位的數(shù)字量,最大分辨率為0.0625℃ , 而且從DS18B20讀出或?qū)懭隓S18B20的信息僅需要一根口線(單線接口)讀寫

35、。</p><p>  它有如下的性能特點(diǎn):</p><p>  1)獨(dú)特的單線接口,既可通過串行口線,也可通過其它I/O口線與微機(jī)接口,無需變換其它電路,直接輸出被測溫度值; </p><p>  2)多點(diǎn)能力使分布式溫度檢測應(yīng)用得以簡化;</p><p>  3)不需要外部元件;</p><p>  4) 既可用數(shù)

36、據(jù)線供電,也可采用外部電源供電;</p><p><b>  5)不需備份電源;</b></p><p>  6) 測量范圍為-55~+125℃ , 固有測溫分辨率為0.5℃ ;</p><p>  7)通過編程可實(shí)現(xiàn)9~12位的數(shù)字讀數(shù)方式;</p><p>  8)用戶可定義非易失性的溫度告警設(shè)置;</p>

37、;<p>  9)警告搜索命令能識別和尋址溫度在編定的極限之外的器件(溫度警告情況);</p><p>  10)應(yīng)用范圍包括恒溫控制、工業(yè)系統(tǒng)、消費(fèi)類產(chǎn)品、溫度計(jì)或任何熱敏系統(tǒng)。</p><p>  以上特性使得DS18B20非常適用于構(gòu)建高精度、多點(diǎn)溫度測量系統(tǒng)。</p><p>  根據(jù)DS18B20以上的特點(diǎn)我選用方案三來實(shí)現(xiàn)本課題。</

38、p><p><b>  硬件設(shè)計(jì)</b></p><p>  本課題研究的多點(diǎn)測溫系統(tǒng)是以單片機(jī)和單總線數(shù)字溫度傳感器DS18B20為核心,充分利用單片機(jī)優(yōu)越的內(nèi)部和外部資源及數(shù)字溫度傳感器DS18B20的優(yōu)越性能構(gòu)成一個完備的測溫系統(tǒng),實(shí)現(xiàn)對溫度的多點(diǎn)測量。整個系統(tǒng)由單片機(jī)控制,能夠接收傳感器的溫度數(shù)據(jù)并顯示出來,可以從鍵盤輸入命令,系統(tǒng)根據(jù)命令,選擇對應(yīng)的溫度傳感器,

39、并由驅(qū)動電路驅(qū)動溫度顯示。本課題設(shè)計(jì)了一種合理、可行的單片機(jī)監(jiān)控軟件,完成測量和顯示的任務(wù)。由于單片機(jī)具有強(qiáng)大的運(yùn)算和控制功能,使得整個系統(tǒng)具有模塊化、硬件電路簡單以及操作方便等優(yōu)點(diǎn)。</p><p>  本課題的整個系統(tǒng)是由單片機(jī)、顯示電路、鍵盤電路、驅(qū)動電路,串口通信等構(gòu)成。</p><p>  3.1  溫度傳感器</p><p>  3.1.1 溫

40、度傳感器選用細(xì)則</p><p>  現(xiàn)代傳感器在原理與結(jié)構(gòu)上千差萬別,如何根據(jù)具體的測量目的、測量對象以及測量環(huán)境合理地選用傳感器,是在進(jìn)行某個量的測量時首先要解決的題。當(dāng)傳感器確定之后,與之相配套的測量方法和測量設(shè)備也就可以確定了。測量結(jié)果的成敗,在很大程度上取決于傳感器的選用是否合理。</p><p>  根據(jù)測量對象與測量環(huán)境確定傳感器的類型</p><p>

41、;  要進(jìn)行—個具體的測量工作,首先要考慮采用何種原理的傳感器,這需要分析多方面的因素之后才能確定。因?yàn)?,即使是測量同一物理量,也有多種原理的傳感器可供選用,哪一種原理的傳感器更為合適,則需要根據(jù)被測量的特點(diǎn)和傳感器的使用條件考慮以下一些具體問題:量程的大小;被測位置對傳感器體積的要求;測量方式為接觸式還是非接觸式;信號的引出方法,有線或是非接觸測量;傳感器的來源,國產(chǎn)還是進(jìn)口,價(jià)格能否承受,還是自行研制。2)靈敏度的選擇</p&

42、gt;<p>  通常,在傳感器的線性范圍內(nèi),希望傳感器的靈敏度越高越好。因?yàn)橹挥徐`敏度高時,與被測量變化對應(yīng)的輸出信號的值才比較大,有利于信號處理。但要注意的是,傳感器的靈敏度高,與被測量無關(guān)的外界噪聲也容易混入,也會被放大系統(tǒng)放大,影響測量精度。因此,要求傳感器本身應(yīng)具有較高的信噪比,盡員減少從外界引入的串?dāng)_信號</p><p><b>  3)頻率響應(yīng)特性</b><

43、/p><p>  傳感器的頻率響應(yīng)特性決定了被測量的頻率范圍,必須在允許頻率范圍內(nèi)保持不失真的測量條件,實(shí)際上傳感器的響應(yīng)總有—定延遲,希望延遲時間越短越好。傳感器的頻率響應(yīng)高,可測的信號頻率范圍就寬,而由于受到結(jié)構(gòu)特性的影響,機(jī)械系統(tǒng)的慣性較大,因有頻率低的傳感器可測信號的頻率較低。</p><p><b>  4)線性范圍</b></p><p&g

44、t;  傳感器的線形范圍是指輸出與輸入成正比的范圍。以理論上講,在此范圍內(nèi),靈敏度保持定值。傳感器的線性范圍越寬,則其量程越大,并且能保證一定的測量精度。在選擇傳感器時,當(dāng)傳感器的種類確定以后首先要看其量程是否滿足要求。但實(shí)際上,任何傳感器都不能保證絕對的線性,其線性度也是相對的。當(dāng)所要求測量精度比較低時,在一定的范圍內(nèi),可將非線性誤差較小的傳感器近似看作線性的,這會給測量帶來極大的方便。</p><p><

45、;b>  5) 穩(wěn)定性</b></p><p>  傳感器使用一段時間后,其性能保持不變化的能力稱為穩(wěn)定性。影響傳感器長期穩(wěn)定性的因素除傳感器本身結(jié)構(gòu)外,主要是傳感器的使用環(huán)境。因此,要使傳感器具有良好的穩(wěn)定性,傳感器必須要有較強(qiáng)的環(huán)境適應(yīng)能力。在選擇傳感器之前,應(yīng)對其使用環(huán)境進(jìn)行調(diào)查,并根據(jù)具體的使用環(huán)境選擇合適的傳感器,或采取適當(dāng)?shù)拇胧?,減小環(huán)境的影響。</p><p&g

46、t;<b>  6) 精度</b></p><p>  精度是傳感器的一個重要的性能指標(biāo),它是關(guān)系到整個測量系統(tǒng)測量精度的一個重要環(huán)節(jié)。傳感器的精度越高,其價(jià)格越昂貴,因此,傳感器的精度只要滿足整個測量系統(tǒng)的精度要求就可以,不必選得過高。這樣就可以在滿足同一測量目的的諸多傳感器中選擇比較便宜和簡單的傳感器。</p><p>  如果測量目的是定性分析的,選用重復(fù)精度高

47、的傳感器即可,不宜選用絕對量值精度高的;如果是為了定量分析,必須獲得精確的測量值,就需選用精度等級能滿足要求的傳感器。對某些特殊使用場合,無法選到合適的傳感器,則需自行設(shè)計(jì)制造傳感器。自制傳感器的性能應(yīng)滿足使用要求。</p><p>  3.1.2  溫度傳感器DS18B20</p><p>  DS18B20型單線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器。全部傳感

48、元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。與傳統(tǒng)的熱敏電阻相比,它能夠直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式。其可以分別93.75ms和750ms內(nèi)完成9位和12位的數(shù)字量,最大分辨率為0.0625℃ , 而且從DS18B20讀出或?qū)懭隓S18B20的信息僅需要一根口線(單線接口)讀寫。</p><p>  DS18B20的性能特點(diǎn)</p><p

49、>  單線數(shù)字化智能集成溫度的傳感器,其特點(diǎn)是:</p><p>  DSI8B20可將被測溫度直接轉(zhuǎn)換成計(jì)算機(jī)能識別的數(shù)字信號輸出,溫度值不需要經(jīng)電橋電路先獲取電壓模擬量,再經(jīng)信號放大和A/D轉(zhuǎn)換成數(shù)字信號,解決了傳統(tǒng)溫度傳感器存在的因參數(shù)不一致性,在更換傳感器時會因放大器零漂而必須對電路進(jìn)行重新調(diào)試的問題,使用方便.</p><p>  DS18B20能提供9到12位溫度讀數(shù),精

50、度高,且其信息傳輸只需1根信號線,與計(jì)算機(jī)接口十分簡便,讀寫及溫度變換的功率來自于數(shù)據(jù)線而不需額外的電源.</p><p>  每一個DS18B20都有一個惟一的序列號,這就允許多個DS18B20連接到同一總線上.尤其適合于多點(diǎn)溫度檢測系統(tǒng).</p><p>  ④ 負(fù)壓特性:當(dāng)電源極性接反時,DS18B20雖然不能正常工作,但不會因發(fā)熱而燒毀 正是由于具有以上特點(diǎn),DS18B20在解決各

51、種誤差、可靠性和實(shí)現(xiàn)系統(tǒng)優(yōu)化等方面與傳統(tǒng)各種溫度傳感器相比,有無可比擬的優(yōu)越性,因而廣泛應(yīng)用于過程控制、環(huán)境控制、建筑物、機(jī)器設(shè)備中的溫度檢測。其外形和管腳如下圖:</p><p>  圖3.1 DS18B20外部形狀及管腳圖</p><p>  ⑵.DS18B20與單片機(jī)的典型接口設(shè)計(jì)</p><p>  DS18B20測溫系統(tǒng)具有測溫系統(tǒng)簡單、測溫精度高、連接

52、方便、占用口線少等優(yōu)點(diǎn)。Dsl8B20與單片機(jī)的硬件連接有兩種方法:一是Vcc接外部電源,GND接地,I/0與單片機(jī)的I/0線相連;二是用寄生電源供電,此時,~UDD和GND接地,I/0接單片機(jī)I/0。無論是哪種供電方式,I/0口線都要接4.7k Q左右的上拉電阻。圖4給出了DSl8B20與微處理器的典型連接。</p><p> ?、?DS18B20寄生電源供電方式:</p><p> 

53、 如下面圖3.2(a)所示,在寄生電源供電方式下,DS18B20從單線信號線上汲取能量:在信號線DQ處于高電平期間把能量儲存在內(nèi)部電容里,在信號線處于低電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。     獨(dú)特的寄生電源方式有三個好處:</p><p>  進(jìn)行遠(yuǎn)距離測溫時,無需本地電源</p><p>  可以在沒有常規(guī)

54、電源的條件下讀取ROM</p><p>  電路更加簡潔,僅用一根I/O口實(shí)現(xiàn)測溫</p><p>  要想使DS18B20進(jìn)行精確的溫度轉(zhuǎn)換,I/O線必須保證在溫度轉(zhuǎn)換期間提供足夠的能量,由于每個DS18B20在溫度轉(zhuǎn)換期間工作電流達(dá)到1mA,當(dāng)幾個溫度傳感器掛在同一根I/O線上進(jìn)行多點(diǎn)測溫時,只靠4.7K上拉電阻就無法提供足夠的能量,會造成無法轉(zhuǎn)換溫度或溫度誤差極大。</p>

55、;<p>  因此,該電路只適應(yīng)于單一溫度傳感器測溫情況下使用,不適宜采用電池供電系統(tǒng)中。并且工作電源VCC必須保證在5V,當(dāng)電源電壓下降時,寄生電源能夠汲取的能量也降低,會使溫度誤差變大。</p><p> ?、?DS18B20寄生電源強(qiáng)上拉供電方式:</p><p>  改進(jìn)的寄生電源供電方式如下面圖3.2(b)所示,為了使DS18B20在動態(tài)轉(zhuǎn)換周期中獲得足夠的電流供應(yīng)

56、,當(dāng)進(jìn)行溫度轉(zhuǎn)換或拷貝到E2存儲器操作時,用MOSFET把I/O線直接拉到VCC就可提供足夠的電流,在發(fā)出任何涉及到拷貝到E2存儲器或啟動溫度轉(zhuǎn)換的指令后,必須在最多10μS內(nèi)把I/O線轉(zhuǎn)換到強(qiáng)上拉狀態(tài)。在強(qiáng)上拉方式下可以解決電流供應(yīng)不走的問題,因此也適合于多點(diǎn)測溫應(yīng)用,缺點(diǎn)就是要多占用一根I/O口線進(jìn)行強(qiáng)上拉切換。</p><p> ?、?DS18B20的外部電源供電方式:</p><p&g

57、t;  如下面圖3.2(c)所示,在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,其VDD端用3~5.5V電源供電,此時I/O線不需要強(qiáng)上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度,同時在總線上理論可以掛接任意多個DS18B20傳感器,組成多點(diǎn)測溫系統(tǒng)。注意:在外部供電的方式下,DS18B20的GND引腳不能懸空,否則不能轉(zhuǎn)換溫度,讀取的溫度總是85℃。 </p><p> ?。╟)D

58、S18B20外部電源供電方式 (a)DS18B20寄生電源供電方式</p><p>  (b) DS18B20溫度轉(zhuǎn)換期間的強(qiáng)上拉供電(寄生電源方式)</p><p>  圖3.2 DS18B20與微處理器的典型連接圖</p><p> ?。?)DS18B20 的內(nèi)部結(jié)構(gòu):</p><p>  圖3.3 為DS18B20

59、 的內(nèi)部框圖,它主要包括寄生電源、溫度傳感器、64 位激光ROM 單線接口、存放中間數(shù)據(jù)的高速暫存器(內(nèi)含便箋式RAM),用于存儲用戶設(shè)定的溫度上下限值的TH 和TL 觸發(fā)器存儲與控制邏輯、8 位循環(huán)冗余校驗(yàn)碼(CRC)發(fā)生器等七部分。64位光刻ROM 的排列是:開始8位是產(chǎn)品類型標(biāo)號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗(yàn)碼。光刻R0M 的作用是使每一個DS18B20都各不相同,這可實(shí)現(xiàn)一根總線

60、上掛接多個DS18B20的目的。暫存存儲器包含了8個連續(xù)字節(jié),前2個字節(jié)是測得的溫度信息,第1個字節(jié)的內(nèi)容是溫度的低8位,第2個字節(jié)是溫度的高8位。第3個和第4個字節(jié)是TH、TL的易失性拷貝,第5個字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這3個字節(jié)的內(nèi)容在每一次上電復(fù)位時被刷新。第6、7、8個字節(jié)用于內(nèi)部計(jì)算。第9個字節(jié)是冗余檢驗(yàn)字節(jié)</p><p>  圖3.3 DS18B20的內(nèi)部結(jié)構(gòu)</p><

61、p> ?。?)DS18B20 的測溫原理:</p><p>  DS1820測溫原理如下圖所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計(jì)數(shù)器1。</p><p>  圖 3.4 DS18B20測溫原理</p><p>  高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被

62、預(yù)置在-55℃所對應(yīng)的一個基數(shù)值。計(jì)數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時,DS1 8B20測量溫度原理停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。</p><p>  在正常測溫情況下,DS18B20 的測溫分辨力為0.5

63、℃,可采用下述方法獲得高分辨率的溫度測量結(jié)果:首先用DS18B20 提供的讀暫存器指令(BEH)讀出以0.5℃為分辨率的溫度測量結(jié)果,然后切去測量結(jié)果中的最低有效位(LSB),得到所測實(shí)際溫度的整數(shù)部分TZ,然后再用BEH 指令取計(jì)數(shù)器1 的計(jì)數(shù)剩余值CS 和每度計(jì)數(shù)值CD??紤]到DS18B20測量溫度的整數(shù)部分以0.25℃、0.75℃為進(jìn)位界限的關(guān)系,實(shí)際溫度TS 可用下式計(jì)算:TS=(TZ-0.25℃) +(CD-CS)/CD<

64、;/p><p><b> ?。?)告警信號:</b></p><p>  DS18B20 完成溫度轉(zhuǎn)換后,就把測得的溫度值與TH、TL 作比較。若T>TH 或T<TL,則將該器件內(nèi)的告警標(biāo)志置位,并對主機(jī)發(fā)出的告警搜索命令作出響應(yīng)。因此,可用多只DS18B20 同時測量溫度并進(jìn)行告警搜索。一旦某測溫點(diǎn)越限,主機(jī)利用告警搜索命令即可識別正在告警的器件,并讀出其序

65、號,而不必考慮非告警器件。</p><p>  (6)CRC 的產(chǎn)生:</p><p>  在64 位ROM 的最高有效字節(jié)中存有循環(huán)冗余校驗(yàn)碼(CRC)。主機(jī)根據(jù)ROM 的前56 位來計(jì)算CRC 值,并和存入DS18B20 中的CRC 值作比較,以判斷主機(jī)收到的ROM 數(shù)據(jù)是否正確。CRC 的函數(shù)表達(dá)式為:CRC=X+X+X+1。此外,DS18B20 尚需依上式為暫存器中的數(shù)據(jù)來產(chǎn)生一個

66、8位CRC 送給主機(jī),以確保暫存器數(shù)據(jù)傳送無誤。</p><p>  在本課題中采用四個數(shù)字式溫度傳感器DS18B20與單片機(jī)89C51連接如下圖</p><p>  圖3.5 DS18B20多點(diǎn)溫度測量連接電路圖</p><p>  (7) DS1820使用中注意事項(xiàng)</p><p>  DS18B20雖然具有測溫系統(tǒng)簡單、測溫精度高、

67、連接方便、占用口線少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問題:</p><p> ?、佥^小的硬件開銷需要相對復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS18B20與微處理器間采用串行數(shù)據(jù)傳送,因此,在對DS18B20進(jìn)行讀寫編程時,必須嚴(yán)格的保證讀寫時序,否則將無法讀取測溫結(jié)果。</p><p>  ②在DS18B20的有關(guān)資料中均未提及單總線上所掛DS18B20數(shù)量問題,容易使人誤認(rèn)為可以掛任意多

68、個DS18B20,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線上所掛DS18B20超過8個時,就需要解決微處理器的總線驅(qū)動問題,這一點(diǎn)在進(jìn)行多點(diǎn)測溫系統(tǒng)設(shè)計(jì)時要加以注意。</p><p>  ③連接DS18B20的總線電纜是有長度限制的。試驗(yàn)中,當(dāng)采用普通信號電纜傳輸長度超過50m時,讀取的測溫?cái)?shù)據(jù)將發(fā)生錯誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時,正常通訊距離

69、進(jìn)一步加長。這種情況主要是由總線分布電容使信號波形產(chǎn)生畸變造成的。因此,在用DS18B20進(jìn)行長距離測溫系統(tǒng)設(shè)計(jì)時要充分考慮總線分布電容和阻抗匹配問題。</p><p> ?、茉贒S18B20測溫程序設(shè)計(jì)中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號,一旦某個DS18B20接觸不好或斷線,當(dāng)程序讀該DS18B20時,將沒有返回信號,程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS18B20硬件連接和

70、軟件設(shè)計(jì)時也要給予一定的重視。</p><p>  3.2.單片機(jī)系統(tǒng)設(shè)計(jì)</p><p>  在當(dāng)今新科學(xué)技術(shù)飛速發(fā)展的年代里,單片機(jī)的應(yīng)用已越來越受到人們的重視,它被廣泛的應(yīng)用于家電、醫(yī)療、智能儀表、工業(yè)自動化等各個領(lǐng)域。單片機(jī)全稱單片微型計(jì)算機(jī),是將計(jì)算機(jī)的基本部分微型化,使之集成在一塊芯片上的微機(jī)。目前市場上較為流行的單片機(jī)有Intel公司和Philip公司的8051系列單片機(jī).M

71、otorola 公司的M 6800系列單片機(jī)。Intel公司的MCS96系列單片機(jī)以及Microchip 公司的PIC 系列單片機(jī)。片內(nèi)含有CPU、ROM、RAM、并行I/O口、串行I/O口、定時/計(jì)數(shù)器、A/D、D/A、中斷控制、系統(tǒng)時鐘及系統(tǒng)總線等。本課題是利用Intel的89c51控制整個系統(tǒng)。89c51單片機(jī)包含下列幾個部件:1個8位CPU、1個片內(nèi)震蕩器及時鐘電路、4KB ROM程序存儲器、128B RAM數(shù)據(jù)存儲器、可尋址6

72、4KB外部數(shù)據(jù)存儲器和64KB外部程序存儲器的控制電路、32條可編程的I/O線、2個16位的定時/計(jì)數(shù)器、1個可編程全雙工串行接口、5個中斷源、2個優(yōu)先級嵌套中斷結(jié)構(gòu)。</p><p>  本課題運(yùn)用Intel公司的8051進(jìn)行系統(tǒng)控制,運(yùn)用到了復(fù)位電路,時鐘電路,串口,I/O口。</p><p>  復(fù)位電路:無論哪種單片機(jī),都會涉及到復(fù)位電路。如果復(fù)位電路不可靠,在工作中就有可能出現(xiàn)“

73、死機(jī)”,“程序走飛”等現(xiàn)象。所以,一個單片機(jī)復(fù)位電路的好壞,直接影響到整個系統(tǒng)工作的可靠性。復(fù)位操作完成單片機(jī)片內(nèi)電路的初始化,使單片機(jī)從一種確定的狀態(tài)開始運(yùn)行。當(dāng)89c51單片機(jī)的復(fù)位引腳RST出現(xiàn)5ms以上的高電平時,單片機(jī)就完成了復(fù)位操作,如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài),而無法執(zhí)行程序,因此要求單片機(jī)復(fù)位后能脫離復(fù)位狀態(tài)。復(fù)位操作通常有上電和開關(guān)復(fù)位。上電復(fù)位要求接通電源后,自動實(shí)現(xiàn)復(fù)位操作。開關(guān)復(fù)位要求在電源接

74、通的條件下,在單片機(jī)運(yùn)行期間,如果發(fā)生死機(jī),用按鈕開關(guān)操作使單片機(jī)復(fù)位。常用的上電復(fù)位且開關(guān)復(fù)位電路如圖3.6所示,上電后,由于電容充電,使RST持續(xù)一段高電平時間。當(dāng)單片機(jī)已在運(yùn)行之中時,按下復(fù)位鍵也能使RST持續(xù)一段時間的高電平,從而實(shí)現(xiàn)上電且開關(guān)復(fù)位的操作。單片機(jī)的復(fù)位操作使單片機(jī)進(jìn)入初始化過程,其中包括是程序計(jì)數(shù)器PC=0000H,P0-P3=FFH,SP=07H,其他寄存器處于零,程序從0000H地址單元開始執(zhí)行,單片機(jī)復(fù)位后

75、不改變片內(nèi)RAM區(qū)中的內(nèi)容。</p><p>  圖3.6 .復(fù)位電路</p><p>  時鐘電路:89c51單片機(jī)的時鐘信號通常用內(nèi)部振蕩和外部振蕩方式。在引腳XTAL1和XTAX2外接晶體振蕩器,就夠成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時鐘脈沖。晶振通常選用6MHZ、12MHZ或24MHZ。內(nèi)部振蕩器方式如下。如圖3.7

76、,電容器C1、C2起穩(wěn)定振蕩頻率、快速起振的作用,電容值一般為5-30PF。內(nèi)部振蕩方式所得的時鐘信號比較穩(wěn)定。外部振蕩方式是把已有的時鐘信號引入單片機(jī)內(nèi),這種方式適于用于用來使單片機(jī)的時鐘與外部信號保持一致。</p><p>  圖3.7 時鐘電路</p><p>  串口:串行通信是CPU與外界交換的一種基本方式。單片機(jī)運(yùn)用于數(shù)據(jù)采集或工業(yè)控制時,往往作為前端機(jī)安裝在工作現(xiàn)場,遠(yuǎn)離主

77、機(jī),現(xiàn)場數(shù)據(jù)采用串行通信方式主機(jī)并進(jìn)行處理,以降低通信成本,提高通信可靠性。51系列單片機(jī)自身有全雙工的異步通信接口,通過軟件編程,它可以作為通用異步接受和發(fā)送器使用,也可作為同步移位寄存器。</p><p>  89c51單片機(jī)串口主要由兩個數(shù)據(jù)緩沖寄存器SBUF和一個輸入移位寄存器組成,其內(nèi)部還有一個串行控制寄存器SCON和一個波特率發(fā)生器。接受緩沖器與發(fā)送緩沖器占用同一個地址99H,其名稱亦同樣為SBUF。

78、CPU寫SBUF,一方面修改發(fā)送寄存器,同時啟動數(shù)據(jù)串行發(fā)送;讀SBUF,就是讀接受寄存器,完成數(shù)據(jù)的接受。特殊功能寄存器SCON用以存放串行口的控制和狀態(tài)信息。根據(jù)對其寫的控制字決定工作方式,從而決定波特率發(fā)生器的時鐘是來自系統(tǒng)時鐘還是來自定時器T1。特殊功能寄存器PCON的最高位SMOD為串行口波特率的倍增控制位。</p><p>  89c51單片機(jī)的串行口正是通過對上述專用寄存器的設(shè)置,檢測與讀取來管理串

79、行通信。在進(jìn)行通信時,外界的串行數(shù)據(jù)是通過引腳RXD輸入的。輸入數(shù)據(jù)先逐位進(jìn)入輸入移位寄存器,在送入接受SBUF。在此采用了雙緩沖結(jié)構(gòu),為了避免在接受到第二幀數(shù)據(jù)之前,CPU未及時響應(yīng)接受器的前一幀的中斷請求而把前一幀數(shù)據(jù)讀走,造成兩幀數(shù)據(jù)重疊的錯誤。對于發(fā)送器,因?yàn)榘l(fā)送時CPU是主動的,不會產(chǎn)生寫重疊問題,不需要雙緩沖器結(jié)構(gòu),為了保持最大傳送速率,僅用了SBUF一個緩沖器。</p><p>  I/O口:計(jì)算機(jī)

80、對外設(shè)進(jìn)行數(shù)據(jù)操作時,外設(shè)的數(shù)據(jù)是不能直接連到CPU的數(shù)據(jù)線上的,必須經(jīng)過接口。這是由于CPU的數(shù)據(jù)線是外設(shè)或存儲器和CPU進(jìn)行數(shù)據(jù)傳輸?shù)奈ㄒ还餐ǖ溃瑸榱耸箶?shù)據(jù)線的使用對象不產(chǎn)生使用總線的沖突,以及協(xié)調(diào)快速的CPU和慢速的外設(shè),CPU和外設(shè)之間必須有接口電路,接口起著緩沖、鎖存數(shù)據(jù)、地址譯碼、信息格式轉(zhuǎn)換、傳遞狀態(tài)、發(fā)布命令等功能,I/O接口有并行接口、串行接口、定時/計(jì)數(shù)器、A/D、D/A等,根據(jù)外設(shè)的不同情況的應(yīng)用要求,選擇不同的

81、接口。單片機(jī)的I/0 口一般是雙向的. 既可以做輸入. 也可以做輸出。以5 1系列為例,其P0、P 1、P2、P3均為雙向口,且可位操作。</p><p>  89c51單片機(jī)內(nèi)部有P0、P1、P2、P3四個8位雙向I/O口,外設(shè)可直接連接于這幾個接口上,而無須另加接口芯片。P0-P3的每個端口可以按字節(jié)輸入或輸出,也可以按位進(jìn)行輸入或輸出,共32根口線,用作控制十分方便。P0口為三態(tài)雙向口,能帶8個TTL電路。

82、P1、P2、P3口為準(zhǔn)雙向口,負(fù)載能力為4個TTL電路,如果外設(shè)需要的驅(qū)動電流大,可加接驅(qū)動器。</p><p>  P0口具有雙重功能:可以作為輸入/輸出用,外接輸入/輸出設(shè)備;在有外接存儲器和I/O接口時常作為低8位地址/數(shù)據(jù)總線,即低8位地址與數(shù)據(jù)線分時使用P0口。此時低8位地址由ALE信號的下跳沿使它鎖存到外部地址鎖存器中,爾后,P0口出現(xiàn)數(shù)據(jù)信息。</p><p>  P1口具有

83、單一接口功能,P1口每一位都能作為可編程的輸入或輸出口線。</p><p>  P2口具有雙重功能:作為輸入口或輸出口使用,外接輸入/輸出設(shè)備;在有外接存儲器I/O接口時,作為系統(tǒng)的地址總線。輸出高位地址,與P0口低8位地址一起組成16位地址總線。</p><p>  P3口為雙重功能口:可以作為輸入/輸出口,外接輸入/輸出設(shè)備;作為第二功能使用。</p><p>

84、  圖 3.8 單片機(jī)</p><p>  3.3 顯示電路設(shè)計(jì)</p><p>  本課題要將傳感器的溫度信號和鍵盤輸入的控制信號都顯示出來,利用單片機(jī)89c51傳輸控制信號。</p><p>  3.3.1 1602液晶顯示器:</p><p>  工業(yè)字符型液晶,能夠同時顯示16x02即32個字符。(16列2行)</p>

85、;<p>  注:為了表示的方便 ,后文皆以1表示高電平,0表示低電平。</p><p>  1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點(diǎn)陣型液晶模塊。它由若干個5X7或者5X11等點(diǎn)陣字符位組成,每個點(diǎn)陣字符位都可以顯示一個字符,每位之間有一個點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒芎芎玫仫@示圖形(用自定義CGRAM,顯示效

86、果也不好)。</p><p>  1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)。</p><p>  市面上字符液晶大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。</p><p>  3.3.2 管腳功能</p>

87、<p>  1602采用標(biāo)準(zhǔn)的16腳接口,其中:</p><p>  第1腳:VSS為電源地</p><p>  第2腳:VCC接5V電源正極 </p><p>  第3腳:V0為液晶顯示器對比度調(diào)整端, LCD1602引腳圖 接正電源時對比度最弱,

88、接地電源時對比度最高(對比度過高時會 產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度)。</p><p>  第4腳:RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。</p><p>  第5腳:RW為讀寫信號線,高電平(1)時進(jìn)行讀操作,低電平(0)時進(jìn)行寫操作。</p><p>  第6腳:E(或EN)端為使能(enable)端,

89、高電平(1)時讀取信息,負(fù)跳變時執(zhí)行指令。</p><p>  第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。</p><p>  第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。</p><p><b>  3.3.3 特性</b></p><p>  3.3V或5V工作電壓,對比度可調(diào)</p>

90、<p><b>  內(nèi)含復(fù)位電路</b></p><p>  提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能</p><p>  有80字節(jié)顯示數(shù)據(jù)存儲器DDRAM</p><p>  內(nèi)建有192個5X7點(diǎn)陣的字型的字符發(fā)生器CGROM</p><p>  8個可由用戶自定義的5X7的

91、字符發(fā)生器CGRAM</p><p>  3.3.4 特征應(yīng)用</p><p>  微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧,常用在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中。</p><p>  3.3.5 操作控制</p><p>  注:關(guān)于E=H脈沖——開始時初始化E為0,然后置E為1。</p><p><b>  

92、字符集</b></p><p>  1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”。</p><p>  因

93、為1602識別的是ASCII碼,試驗(yàn)可以用ASCII碼直接賦值,在單片機(jī)編程中還可以用字符型常量或變量賦值,如'A’。</p><p>  以下是1602的16進(jìn)制ASCII碼表地址:讀的時候,先讀左邊那列,再讀上面那行,如:感嘆號!的ASCII為0x21,字母B的ASCII為0x42(前面加0x表示十六進(jìn)制)</p><p><b>  3.3.6 指令集</b&

94、gt;</p><p>  本課題用了1602液晶顯示器,具體連接如下圖:</p><p>  圖3.9 顯示電路圖</p><p>  3.4 按鍵電路設(shè)計(jì)</p><p>  鍵盤是電子設(shè)備常見的輸入裝置,作為人們與電子設(shè)備交流的重要途徑,一旦出錯,將影響到電子設(shè)備的整體使用,所以鍵盤電路雖然簡單,但鍵盤的穩(wěn)定性、可靠性,應(yīng)引起足夠的

95、重視。鍵盤是計(jì)算機(jī)系統(tǒng)中不可缺少的輸入設(shè)備。單片機(jī)的鍵盤電路主要有矩陣掃描和單鍵電路兩種,其中以使用Ⅳ +Ⅳ 條l/0 線實(shí)現(xiàn)Ⅳ×Ⅳ 的矩陣掃描式鍵盤電路最為常用,4×4的矩陣掃描式鍵盤如圖所示。當(dāng)按鍵少時可接成線性鍵盤;當(dāng)按鍵較多時,可以將鍵盤接成矩陣形式,這種形式節(jié)省口線。矩陣鍵盤按鍵的狀態(tài)同樣需要變成數(shù)字量1和0。開關(guān)的一端通過電阻接VCC,開關(guān)另一段的接地是通過程序輸出數(shù)字0實(shí)現(xiàn)的。矩陣鍵盤每個按鍵都有它的行

96、值和列值,行值和列值的組合就是這個這個按鍵的編碼。矩陣行線和列線分別通過兩個并行接口和CPU通信,其中,一個輸出掃描碼,使按鍵逐行動態(tài)接地,另一個并行口輸入按鍵狀態(tài)。由行掃描值和列回饋信號共同形成鍵編碼。</p><p>  鍵盤一般采用行列掃描方式來設(shè)計(jì)。行列掃描是指:把鍵盤按鍵排列成n行×m列的n×m行列點(diǎn)陣,使用軟件或硬件的方法對其行、列分別進(jìn)行掃描,從而判斷是否有鍵按下,并獲得掃描碼。

97、當(dāng)無鍵按下時,行線與列線斷開,所有列線均為高電平。當(dāng)有一個鍵按下時,則與此鍵對應(yīng)的行線與列線接通。如此行線為低電平,則此列線也為低電平。為確定是否有鍵按下,CPU先通過并行輸出口使所有的行線為低電平,然后通過并行輸入口讀入列信號,若為全“1”,則沒有鍵按下,若有一個為“0”,則表示有一個鍵已按下。若有一個為“0”,則表示有一個鍵已按下。為消去按下時的抖動現(xiàn)象,程序延遲20ms后再判斷具體是哪一個鍵按下先將第一行置為低電平,然后讀入列信號

98、,若有一個為“0”,則按下的鍵在此行;若為全“1”,則按下的鍵不在此行,再將下一行置為低電平,并測試列信號。</p><p>  如果在最后一行也為低電平時仍未找到按下的鍵,則認(rèn)為剛才有鍵按下的情況為誤動作。對找到的鍵,進(jìn)行分析并處理。當(dāng)按鍵時間較為短促時,系統(tǒng)判斷不到有鍵按下。經(jīng)測試,按鍵在按下或釋放時,通常伴隨著幾ms到十幾ms的觸點(diǎn)抖動,然后才能穩(wěn)定下來。在觸點(diǎn)抖動期間檢測按鍵的通斷狀態(tài),會導(dǎo)致一次按鍵或釋

99、放被錯誤地認(rèn)為是多次操作。所以,當(dāng)檢測到有鍵按下或釋放時,應(yīng)通過軟件延時20 ms左右,避開觸點(diǎn)抖動的影響。去抖時間既不能太短也不能太長:如果時間太短,無法起到去抖作用;如果時間太長,超過了鍵按下的持續(xù)時間,則會判不到按鍵。軟件去抖時間不宜太短也不宜太長,定為20ms 。</p><p>  其電路原理圖如下圖所示。</p><p>  圖3.10 鍵盤電路原理圖</p>

100、<p>  本課題使用的是獨(dú)立按鍵控制,即在P3口接入一個按鍵來控制顯示的哪路溫度,具體的電路原理圖如下:</p><p><b>  軟件設(shè)計(jì)</b></p><p>  4.1  軟件開發(fā)工具的選擇</p><p>  要使單片機(jī)系統(tǒng)按照人的意圖辦事,需設(shè)法讓人與計(jì)算機(jī)對話,并聽從人的指揮。程序設(shè)計(jì)語言是實(shí)現(xiàn)人機(jī)交換信

101、息的最基本工具,可分為機(jī)器語言、匯編語言和高級語言。</p><p>  機(jī)器語言用二進(jìn)制編碼表示每一條指令,是計(jì)算機(jī)能直接識別和執(zhí)行的語言。用機(jī)器語言編寫的程序成為機(jī)器語言程序或者指令程序(機(jī)器碼程序)。因?yàn)闄C(jī)器只能識別和執(zhí)行這種機(jī)器碼程序,所以又稱它為目標(biāo)程序。用機(jī)器語言編寫程序不易記憶、不易查錯、不易修改。</p><p>  為了克服機(jī)器語言的上述缺點(diǎn),可采用有一定含義的符號,即指

102、令助記符來表示,一般都采用某些有關(guān)的英文單詞的縮寫。這樣就出現(xiàn)了另一種程序語言—匯編語言。</p><p>  匯編語言是用助記符、符號和數(shù)字等來表示指令的程序語言,容易理解和記憶,它與機(jī)器語言指令是一一對應(yīng)的。匯編語言不像高級語言(如BASIC)那樣通用型強(qiáng),而是屬于某種計(jì)算機(jī)所獨(dú)有,與計(jì)算機(jī)的內(nèi)部硬件結(jié)構(gòu)密切相關(guān)。用匯編語言編寫的程序稱為匯編語言程序。</p><p>  以上兩種語言

103、都是低級語言。盡管匯編語言有不少優(yōu)點(diǎn),但它仍存在著機(jī)器語言的某些缺陷:與CPU的硬件結(jié)構(gòu)密切相關(guān),不同的CPU其匯編語言是不同的。這使得匯編語言程序不能移植,使用不便;其次,要使用匯編語言進(jìn)行程序設(shè)計(jì)必須了解所使用CPU硬件的結(jié)構(gòu)與性能,對程序設(shè)計(jì)人員有較高的要求。為此,又出現(xiàn)了對單片機(jī)進(jìn)行編程的高級語言,如PL\M,C等。</p><p>  Keil C51是美國Keil Software公司出品的51系列兼

104、容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。 </p><p>  Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大

105、型軟件時更能體現(xiàn)高級語言的優(yōu)勢。</p><p>  經(jīng)分析綜合得知,本課題采用C語言進(jìn)行編程。</p><p>  4.2 系統(tǒng)軟件設(shè)計(jì)的一般原則</p><p>  在單片機(jī)應(yīng)用開發(fā)中代碼使用效率、單片機(jī)的抗干擾性以及軟件可靠性是實(shí)際工程設(shè)計(jì)的重點(diǎn)。</p><p>  單片機(jī)應(yīng)用軟件系統(tǒng)設(shè)計(jì)包括功能模塊劃分、程序流程確立、模塊接口設(shè)計(jì)以

106、及程序代碼編寫。我們依據(jù)系統(tǒng)的功能要求,將整體軟件系統(tǒng)分割成若干個獨(dú)立的程序模塊。這些程序模塊可以是幾條語句的集合、功能函數(shù)或程序文件。隨后,根據(jù)個程序模塊的實(shí)現(xiàn)功能寫出流程,一般需要寫出具體的實(shí)現(xiàn)功能描述。程序代碼通常采用匯編語言或高級語言(C語言)編寫。</p><p>  本課題采用C語言編程,在此必須注意以下問題:</p><p> ?。?)提高程序代碼效率</p>

107、<p>  必須熟悉當(dāng)前使用的C語言編譯器,試驗(yàn)每條C語言編譯以后對應(yīng)的匯編語言的語句行數(shù),這樣就可以很明確的知道代碼效率。</p><p><b> ?。?)減少程序錯誤</b></p><p>  我們在編寫程序時,要注重考慮如下方面。</p><p>  [1]物理參數(shù) [2]資源參數(shù) [3]應(yīng)用參數(shù) [4]過程參數(shù)</p

108、><p>  (3)單片機(jī)的抗干擾性</p><p>  防止干擾最有效的方法是去除干擾源、隔離干擾路徑。單片機(jī)干擾最常見的現(xiàn)象就是復(fù)位,導(dǎo)致程序運(yùn)行異常。設(shè)計(jì)系統(tǒng)是一般需要添加一個“看門狗”監(jiān)控模塊,在系統(tǒng)出現(xiàn)不可逆轉(zhuǎn)的干擾時,監(jiān)控模塊將重啟系統(tǒng),并從斷點(diǎn)處繼續(xù)執(zhí)行。</p><p><b> ?。?)系統(tǒng)的可靠性</b></p>

109、<p>  [1]要測試單片機(jī)軟件功能的完善性。</p><p>  [2]上電、掉電測試。</p><p>  [3]系統(tǒng)耗損測試。</p><p>  4.3系統(tǒng)軟件設(shè)計(jì)的一般步驟</p><p>  系統(tǒng)進(jìn)行軟件設(shè)計(jì)時,先要對本課題硬件有一個熟練的掌握,知道系統(tǒng)的組成,數(shù)據(jù)的傳輸,信號是如何被控制的,以及信號的顯示。然后進(jìn)行軟

溫馨提示

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

評論

0/150

提交評論