四路實(shí)時(shí)溫度控制課程設(shè)計(jì)的報(bào)告_第1頁(yè)
已閱讀1頁(yè),還剩62頁(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><b>  課程設(shè)計(jì)</b></p><p>  題 目 四路實(shí)時(shí)溫度控制器的設(shè)計(jì) </p><p>  姓 名 XXX </p><p>  學(xué) 號(hào) XXX </p><p>  專業(yè)班級(jí)

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

11、<p>  本課題以AT89C51單片機(jī)系統(tǒng)為核心,能對(duì)多點(diǎn)的溫度進(jìn)行實(shí)時(shí)巡檢。DS18B20是一種可組網(wǎng)的高精度數(shù)字式溫度傳感器,由于其具有單總線的獨(dú)特優(yōu)點(diǎn),可以使用戶輕松地組建起傳感器網(wǎng)絡(luò),并可使多點(diǎn)溫度測(cè)量電路變得簡(jiǎn)單、可靠。本文結(jié)合實(shí)際使用經(jīng)驗(yàn),介紹了DS18B20數(shù)字溫度傳感器在單片機(jī)下的硬件連接及軟件編程,并給出了軟件流程圖。</p><p>  關(guān)鍵詞:溫度測(cè)量;單總線;數(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)境中,溫度扮演著極其重要的角色。無(wú)論你生活在哪里,從事什么工作,無(wú)時(shí)無(wú)刻不在與溫度打著交道。自18世紀(jì)工業(yè)革命以來(lái),工業(yè)發(fā)展對(duì)是否能掌握溫度有著絕對(duì)的聯(lián)系。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)

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

19、距離測(cè)溫、控溫,不需要進(jìn)行非線性校準(zhǔn),外圍電路簡(jiǎn)單。它是目前在國(guó)內(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),工作時(shí)并不受微處理

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

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

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

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

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

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

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

27、夠進(jìn)行多點(diǎn)溫度進(jìn)行同時(shí)測(cè)量的系統(tǒng)。該系統(tǒng)能夠同時(shí)對(duì)四路的溫度進(jìn)行測(cè)量和進(jìn)行顯示。</p><p>  第二章 方案論證比較與選擇 </p><p><b>  2.1 引言</b></p><p>  溫度測(cè)量的方案有很多種,可以采用傳統(tǒng)的分立式傳感器、模擬集成傳感器以及新興的智能型傳感器。對(duì)于控制系統(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)溫度的測(cè)量及顯示,該方案設(shè)計(jì)電路簡(jiǎn)單易懂,操作簡(jiǎn)單,且價(jià)格便宜,但采用分立元件分散性大,不便于集成數(shù)字化,而且測(cè)量誤差大。 設(shè)計(jì)方案二</p>

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

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

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

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

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

34、as半導(dǎo)體公司推出的數(shù)字溫度傳感器DS18B20,屬于新一代適配微處理器的智能溫度傳感器。它具有獨(dú)特的單總線接口,僅需要占用一個(gè)通用I/0端口即可完成與微處理器的通信。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集要求通過(guò)簡(jiǎ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ú)特的單線接口,既可通過(guò)串行口線,也可通過(guò)其它I/O口線與微機(jī)接口,無(wú)需變換其它電路,直接輸出被測(cè)溫度值; </p><p>  2)多點(diǎn)能力使分布式溫度檢測(cè)應(yīng)用得以簡(jiǎn)化;</p><p>  3)不需要外部元件;</p><p>  4) 既可用數(shù)

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

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

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

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

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

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

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

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

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

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

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

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

48、元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。與傳統(tǒng)的熱敏電阻相比,它能夠直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(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可將被測(cè)溫度直接轉(zhuǎn)換成計(jì)算機(jī)能識(shí)別的數(shù)字信號(hào)輸出,溫度值不需要經(jīng)電橋電路先獲取電壓模擬量,再經(jīng)信號(hào)放大和A/D轉(zhuǎn)換成數(shù)字信號(hào),解決了傳統(tǒng)溫度傳感器存在的因參數(shù)不一致性,在更換傳感器時(shí)會(huì)因放大器零漂而必須對(duì)電路進(jìn)行重新調(diào)試的問(wèn)題,使用方便.</p><p>  DS18B20能提供9到12位溫度讀數(shù),精

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

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

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

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

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

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

56、,當(dāng)進(jìn)行溫度轉(zhuǎn)換或拷貝到E2存儲(chǔ)器操作時(shí),用MOSFET把I/O線直接拉到VCC就可提供足夠的電流,在發(fā)出任何涉及到拷貝到E2存儲(chǔ)器或啟動(dòng)溫度轉(zhuǎn)換的指令后,必須在最多10μS內(nèi)把I/O線轉(zhuǎn)換到強(qiáng)上拉狀態(tài)。在強(qiáng)上拉方式下可以解決電流供應(yīng)不走的問(wèn)題,因此也適合于多點(diǎn)測(cè)溫應(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電源供電,此時(shí)I/O線不需要強(qiáng)上拉,不存在電源電流不足的問(wèn)題,可以保證轉(zhuǎn)換精度,同時(shí)在總線上理論可以掛接任意多個(gè)DS18B20傳感器,組成多點(diǎn)測(cè)溫系統(tǒng)。注意:在外部供電的方式下,DS18B20的GND引腳不能懸空,否則不能轉(zhuǎn)換溫度,讀取的溫度總是85℃。 </p><p>  (c)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),用于存儲(chǔ)用戶設(shè)定的溫度上下限值的TH 和TL 觸發(fā)器存儲(chǔ)與控制邏輯、8 位循環(huán)冗余校驗(yàn)碼(CRC)發(fā)生器等七部分。64位光刻ROM 的排列是:開始8位是產(chǎn)品類型標(biāo)號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼。光刻R0M 的作用是使每一個(gè)DS18B20都各不相同,這可實(shí)現(xiàn)一根總線

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

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

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

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

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

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

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

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

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

69、進(jìn)一步加長(zhǎng)。這種情況主要是由總線分布電容使信號(hào)波形產(chǎn)生畸變?cè)斐傻?。因此,在用DS18B20進(jìn)行長(zhǎng)距離測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要充分考慮總線分布電容和阻抗匹配問(wèn)題。</p><p> ?、茉贒S18B20測(cè)溫程序設(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硬件連接和

70、軟件設(shè)計(jì)時(shí)也要給予一定的重視。</p><p>  3.2.單片機(jī)系統(tǒng)設(shè)計(jì)</p><p>  在當(dāng)今新科學(xué)技術(shù)飛速發(fā)展的年代里,單片機(jī)的應(yīng)用已越來(lái)越受到人們的重視,它被廣泛的應(yīng)用于家電、醫(yī)療、智能儀表、工業(yè)自動(dòng)化等各個(gè)領(lǐng)域。單片機(jī)全稱單片微型計(jì)算機(jī),是將計(jì)算機(jī)的基本部分微型化,使之集成在一塊芯片上的微機(jī)。目前市場(chǎng)上較為流行的單片機(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口、定時(shí)/計(jì)數(shù)器、A/D、D/A、中斷控制、系統(tǒng)時(shí)鐘及系統(tǒng)總線等。本課題是利用Intel的89c51控制整個(gè)系統(tǒng)。89c51單片機(jī)包含下列幾個(gè)部件:1個(gè)8位CPU、1個(gè)片內(nèi)震蕩器及時(shí)鐘電路、4KB ROM程序存儲(chǔ)器、128B RAM數(shù)據(jù)存儲(chǔ)器、可尋址6

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

73、死機(jī)”,“程序走飛”等現(xiàn)象。所以,一個(gè)單片機(jī)復(fù)位電路的好壞,直接影響到整個(gè)系統(tǒng)工作的可靠性。復(fù)位操作完成單片機(jī)片內(nèi)電路的初始化,使單片機(jī)從一種確定的狀態(tài)開始運(yùn)行。當(dāng)89c51單片機(jī)的復(fù)位引腳RST出現(xiàn)5ms以上的高電平時(shí),單片機(jī)就完成了復(fù)位操作,如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài),而無(wú)法執(zhí)行程序,因此要求單片機(jī)復(fù)位后能脫離復(fù)位狀態(tài)。復(fù)位操作通常有上電和開關(guān)復(fù)位。上電復(fù)位要求接通電源后,自動(dòng)實(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ù)一段高電平時(shí)間。當(dāng)單片機(jī)已在運(yùn)行之中時(shí),按下復(fù)位鍵也能使RST持續(xù)一段時(shí)間的高電平,從而實(shí)現(xiàn)上電且開關(guān)復(fù)位的操作。單片機(jī)的復(fù)位操作使單片機(jī)進(jìn)入初始化過(guò)程,其中包括是程序計(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>  時(shí)鐘電路:89c51單片機(jī)的時(shí)鐘信號(hào)通常用內(nèi)部振蕩和外部振蕩方式。在引腳XTAL1和XTAX2外接晶體振蕩器,就夠成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。晶振通常選用6MHZ、12MHZ或24MHZ。內(nèi)部振蕩器方式如下。如圖3.7

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

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

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

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

80、對(duì)外設(shè)進(jìn)行數(shù)據(jù)操作時(shí),外設(shè)的數(shù)據(jù)是不能直接連到CPU的數(shù)據(jù)線上的,必須經(jīng)過(guò)接口。這是由于CPU的數(shù)據(jù)線是外設(shè)或存儲(chǔ)器和CPU進(jìn)行數(shù)據(jù)傳輸?shù)奈ㄒ还餐ǖ?,為了使?shù)據(jù)線的使用對(duì)象不產(chǎn)生使用總線的沖突,以及協(xié)調(diào)快速的CPU和慢速的外設(shè),CPU和外設(shè)之間必須有接口電路,接口起著緩沖、鎖存數(shù)據(jù)、地址譯碼、信息格式轉(zhuǎn)換、傳遞狀態(tài)、發(fā)布命令等功能,I/O接口有并行接口、串行接口、定時(shí)/計(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四個(gè)8位雙向I/O口,外設(shè)可直接連接于這幾個(gè)接口上,而無(wú)須另加接口芯片。P0-P3的每個(gè)端口可以按字節(jié)輸入或輸出,也可以按位進(jìn)行輸入或輸出,共32根口線,用作控制十分方便。P0口為三態(tài)雙向口,能帶8個(gè)TTL電路。

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

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

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

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

86、果也不好)。</p><p>  1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符和數(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為液晶顯示器對(duì)比度調(diào)整端, LCD1602引腳圖 接正電源時(shí)對(duì)比度最弱,

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

89、高電平(1)時(shí)讀取信息,負(fù)跳變時(shí)執(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工作電壓,對(duì)比度可調(diào)</p>

90、<p><b>  內(nèi)含復(fù)位電路</b></p><p>  提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能</p><p>  有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM</p><p>  內(nèi)建有192個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM</p><p>  8個(gè)可由用戶自定義的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脈沖——開始時(shí)初始化E為0,然后置E為1。</p><p><b>  

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

93、為1602識(shí)別的是ASCII碼,試驗(yàn)可以用ASCII碼直接賦值,在單片機(jī)編程中還可以用字符型常量或變量賦值,如'A’。</p><p>  以下是1602的16進(jìn)制ASCII碼表地址:讀的時(shí)候,先讀左邊那列,再讀上面那行,如:感嘆號(hào)!的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è)備交流的重要途徑,一旦出錯(cuò),將影響到電子設(shè)備的整體使用,所以鍵盤電路雖然簡(jiǎn)單,但鍵盤的穩(wěn)定性、可靠性,應(yīng)引起足夠的

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

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

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

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

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

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

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

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

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

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

105、型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。</p><p>  經(jīng)分析綜合得知,本課題采用C語(yǔ)言進(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)分割成若干個(gè)獨(dú)立的程序模塊。這些程序模塊可以是幾條語(yǔ)句的集合、功能函數(shù)或程序文件。隨后,根據(jù)個(gè)程序模塊的實(shí)現(xiàn)功能寫出流程,一般需要寫出具體的實(shí)現(xiàn)功能描述。程序代碼通常采用匯編語(yǔ)言或高級(jí)語(yǔ)言(C語(yǔ)言)編寫。</p><p>  本課題采用C語(yǔ)言編程,在此必須注意以下問(wèn)題:</p><p>  (1)提高程序代碼效率</p>

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

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

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

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論