版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、摘摘 要要在工業(yè)生產(chǎn)中,人們需要對各類加熱爐、熱處理爐、反應(yīng)爐和鍋爐中的溫度進行檢測和控制。采用單片機對溫度進行控制具有控制方便、簡單和靈活性大、精度高等優(yōu)點。本文介紹了一種基于 AT89S52 單片機與 PC 機串口通信的溫度控制系統(tǒng),用單片機作下位機完成溫度數(shù)據(jù)的采集和執(zhí)行 PC 機發(fā)出的控制執(zhí)行命令;用 PC 機作上位機接收單片機發(fā)送的數(shù)據(jù),進行數(shù)據(jù)處理,向單片機發(fā)送控制命令。 PC 機與單片機采甪串行通信,可實現(xiàn)遠距離溫度檢測和控制。本設(shè)計充分利用 PC 機 VB6.0 軟件強大的數(shù)據(jù)處理功能和友好的人機界面,對溫度進行實時曲線顯示。本設(shè)計由硬件和軟件二部分組成,本文主要進行硬件部分設(shè)
2、計。經(jīng)樣機實驗證明本設(shè)計性能穩(wěn)定可靠,各項性能指標(biāo)高,可用于實際工程。關(guān)鍵詞關(guān)鍵詞:單片機,PC 機,溫度控制,串行通信目目 錄錄摘摘 要要 .I I第一章第一章 緒論緒論 .4 41.11.1 概述概述.41.21.2 溫度測控技術(shù)的發(fā)展與現(xiàn)狀溫度測控技術(shù)的發(fā)展與現(xiàn)狀.41.31.3 系統(tǒng)總體設(shè)計思想系統(tǒng)總體設(shè)計思想 .61.41.4 功能要求功能要求.7第二章第二章 系統(tǒng)硬件設(shè)計系統(tǒng)硬件設(shè)計 .8 82.12.1 硬件系統(tǒng)框圖硬件系統(tǒng)框圖 .82.22.2 硬件電路硬件電路.82.32.3 最小單片機系統(tǒng)最小單片機系統(tǒng) .82.42.4 溫度傳感器的選取溫度傳感器的選取.122.52.5
3、溫度傳感器溫度傳感器 DS18B20DS18B20 的介紹的介紹 .122.62.6 輸出通道設(shè)計輸出通道設(shè)計.182.72.7 串行通信接口串行通信接口.202.82.8 電源電路電源電路.232.92.9 系統(tǒng)特點系統(tǒng)特點.24第三章第三章 系統(tǒng)軟件簡介系統(tǒng)軟件簡介 .25253.13.1 系統(tǒng)開發(fā)工具介紹系統(tǒng)開發(fā)工具介紹.253.23.2 軟件系統(tǒng)簡介及界面軟件系統(tǒng)簡介及界面.26第四章第四章 系統(tǒng)調(diào)試系統(tǒng)調(diào)試 .2828總總 結(jié)結(jié) .2929參考文獻參考文獻 .3030附附 錄錄 .3131附錄一、單片機程序.31附錄二、PC 機程序 .38第一章第一章 緒論緒論1.11.1 概述概述
4、隨著現(xiàn)代工業(yè)的逐步發(fā)展,在工業(yè)生產(chǎn)中,溫度、壓力、流量和液位是四種最常見的過程變量。其中,溫度是一個非常重要的過程變量。例如:在冶金工業(yè)、化工工業(yè)、電力工業(yè)、機械加工和食品加工等許多領(lǐng)域,都需要對各種加熱爐、熱處理爐、反應(yīng)爐和鍋爐的溫度進行控制。然而,用常規(guī)的控制方法,潛力是有限的,難以滿足較高的性能要求。采用單片機來對它們進行控制不僅具有控制方便、簡單和靈活性大的優(yōu)點,而且可以大幅度提高被測溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。因此,單片機對溫度的控制問題是一個工業(yè)生產(chǎn)中經(jīng)常會遇到的控制問題。(1)研究的目的和意義電阻加熱爐是熱處理生產(chǎn)中應(yīng)用最廣的加熱設(shè)備,這樣加熱時升溫過程的測
5、量與控制就成為關(guān)鍵性的技術(shù)。首先,控溫度精度要高。其次,當(dāng)生產(chǎn)環(huán)境發(fā)生變化而影響到控溫精度時,要有合適的手段進行調(diào)整以達到精度要求。而且,為了方便進行工藝的研究,需要能保存溫度數(shù)據(jù)。最后,由于生產(chǎn)中的實際情況,電阻加熱爐要求操作方便,易于維護,成本較低等等。(2)國內(nèi)外發(fā)展情況目前,我國電阻爐控制設(shè)備的現(xiàn)狀時是小部分比較先進的設(shè)備和大部分比較落后的設(shè)備并存。整體上,我國的電阻爐控制系統(tǒng)與國外發(fā)達國家相比還比較落后。占主導(dǎo)地位的是儀表控制,這種系統(tǒng)的控制參數(shù)由人工選擇,需要配置專門的儀表調(diào)試人員,費時、費力且不準(zhǔn)確。控制精度依賴于試驗者的調(diào)節(jié)??刂凭炔桓撸坏┥a(chǎn)環(huán)境發(fā)生變化就需要重新設(shè)置。操
6、作不方便,控制數(shù)據(jù)無法保存。因而,對生產(chǎn)工藝的研究很困難,因此造成產(chǎn)品質(zhì)量低、廢品率高、工作人員勞動強度大、勞動效率低,這些都影響企業(yè)的效率。1.21.2 溫度測控技術(shù)的發(fā)展與現(xiàn)狀溫度測控技術(shù)的發(fā)展與現(xiàn)狀溫度是生活及生產(chǎn)中最基本的物理量,它表征的是物體的冷熱程度。自然界中任何物理、化學(xué)過程都緊密地與溫度相聯(lián)系。在很多生產(chǎn)過程中,溫度的測量和控制都直接和安全生產(chǎn)、提高生產(chǎn)效率、保證產(chǎn)品質(zhì)量、節(jié)約能源等重大技術(shù)經(jīng)濟指標(biāo)相聯(lián)系。因此,溫度的測量在國民經(jīng)濟各個領(lǐng)域中均受到了相當(dāng)程度的重視。近年來,溫度的檢測在理論上發(fā)展比較成熟,但在實際測量和控制中,如何保證快速實時地進行采樣,確保數(shù)據(jù)的正確傳輸,并能
7、對所測溫場進行較精確的控制,仍然是目前需要解決的問題。溫度測控技術(shù)包括溫度測量技術(shù)和溫度控制技術(shù)兩個方面。在溫度的測量技術(shù)中,接觸式測溫發(fā)展較早,這種測量方法的優(yōu)點是:簡單、可靠、低廉,測量精度較高,一般能夠測得真實溫度;但由于檢測元件熱慣性的影響,響應(yīng)時間較長,對熱容量小的物體難以實現(xiàn)精確的測量,并且該方法不適宜于對腐蝕性介質(zhì)測溫,不能用于極高溫測量,難于測量運動物體的溫度。非接觸式測溫是通過對輻射能量的檢測來實現(xiàn)溫度測量的方法,其優(yōu)點是:不破壞被測溫場,可以測量熱容量小的物體,適于測量運動溫度,還可以測量區(qū)域的溫度分布,響應(yīng)速度較快。但也存在測量誤差較大,儀表指示值一般僅代表表觀溫度,結(jié)構(gòu)
8、復(fù)雜,價格昂貴等缺點。因此,在實際的測量中,要根據(jù)具體的測量對象選擇合適的測量方法,在滿足測量精度要求的前提下盡量減少人力和物力的投入。溫度控制技術(shù)按照控制目標(biāo)的不同可分為兩類:動態(tài)溫度跟蹤與恒值溫度控制。動態(tài)溫度跟蹤實現(xiàn)的控制目標(biāo)是使被控對象的溫度值按預(yù)先設(shè)定好的曲線進行變化。在工業(yè)生產(chǎn)中很多場合需要實現(xiàn)這一控制目標(biāo),如在發(fā)酵過程控制,化工生產(chǎn)中的化學(xué)反應(yīng)溫度控制,冶金工廠中燃燒爐中的溫度控制等。恒值溫度控制的目的是使被控對象的溫度恒定在某一數(shù)值上,且要求其波動幅度(即穩(wěn)態(tài)誤差)不能超過某一給定值。本課題所研制的電阻爐智能溫度控制儀就是要實現(xiàn)恒值溫度控制的要求,故以下僅對恒值溫度控制進行討論
9、。從工業(yè)溫度控制器的發(fā)展過程來看,溫度控制技術(shù)大致可分以下幾種:(1)定值開關(guān)控溫法所謂定值開關(guān)控溫法,就是通過硬件電路或軟件計算判別當(dāng)前溫度值與設(shè)定目標(biāo)溫度值之間的關(guān)系,進而對系統(tǒng)加熱源(或冷卻裝置)進行通斷控制。若當(dāng)前溫度值比設(shè)定溫度值高,則關(guān)斷加熱器,或者開動制冷裝置;若當(dāng)前溫度值比設(shè)定溫度值低,則開啟加熱器并同時關(guān)斷制冷器。這種開關(guān)控溫方法比較簡單,在沒有計算機參與的情況下,用很簡單的模擬電路就能夠?qū)崿F(xiàn)。目前,采用這種控制方法的溫度控制器在我國許多工廠的老式工業(yè)電爐中仍被使用。由于這種控制方式是當(dāng)系統(tǒng)溫度上升至設(shè)定點時關(guān)斷電源,當(dāng)系統(tǒng)溫度下降至設(shè)定點時開通電源,因而無法克服溫度變化過程
10、的滯后性,致使系統(tǒng)溫度波動較大,控制精度低,完全不適用于高精度的溫度控制。(2)PID 線性控溫法這種控溫方法是基于經(jīng)典控制理論中的調(diào)節(jié)器控制原理,PID 控制是最早發(fā)展起來的控制策略之一,由于其算法簡單、魯棒性好、可靠性高等優(yōu)點被廣泛應(yīng)用工業(yè)過程控制中,尤其適用于可建立精確數(shù)學(xué)模型的確定性控制系統(tǒng)。由于 PID 調(diào)節(jié)器模型中考慮了系統(tǒng)的誤差,誤差變化及誤差積累三個因素,因此,其控制性能大大地優(yōu)越于定值開關(guān)控溫法。其具體電路可以采用模擬電路或計算機軟件方法來實現(xiàn) PID 調(diào)節(jié)功能。前者稱為模擬 PID 調(diào)節(jié)器,后者稱為數(shù)字 PID 調(diào)節(jié)器。其中數(shù)字 PID 調(diào)節(jié)器的參數(shù)可以在現(xiàn)場實現(xiàn)在線整定,
11、因此具有較大的靈活性,可以得到較好的控制效果。采用這種方法實現(xiàn)的溫度控制器,其控制品質(zhì)的好壞主要取決于三個 PID 參數(shù)(即比例值、積分值、微分值)。只要 PID 參數(shù)選取的正確,對于一個確定的受控系統(tǒng)來說,其控制精度是比較令人滿意的。但是,它的不足也恰恰在于此,當(dāng)對象特性一旦發(fā)生改變,三個控制參數(shù)也必須相應(yīng)地跟著改變,否則其控制品質(zhì)就難以得到保證。(3)智能溫度控制法為了克服 PID 線性控溫法的弱點,人們相繼提出了一系列自動調(diào)整 PI 參數(shù)的方法,如 PID 參數(shù)的自學(xué)習(xí),自整定等等。并通過將智能控制與 PID 控制相結(jié)合,從而實現(xiàn)溫度的智能控制。智能控溫法1采用神經(jīng)元網(wǎng)絡(luò)和模糊數(shù)學(xué)為理論
12、基礎(chǔ),并適當(dāng)加以專家系統(tǒng)來實現(xiàn)智能化。其中應(yīng)用較多的有模糊控制、神經(jīng)網(wǎng)絡(luò)控制以及專家系統(tǒng)等。尤其是模糊控溫法在實際工程技術(shù)中得到了極為廣泛的應(yīng)用。目前已出現(xiàn)一種高精度模糊控制器,可以更好的模擬人的操作經(jīng)驗來改善控制性能,從理論上講,可以完全消除穩(wěn)態(tài)誤差。所謂第三代智能溫控儀表,就是指基于智能控溫技術(shù)而研制的具有自適應(yīng) PID 算法的溫度控制儀表。目前國內(nèi)溫控儀表的發(fā)展,相對國外而言在性能方面還存在一定的差距,它們之間最大的差別主要還是在控制算法方面,具體表現(xiàn)為國內(nèi)溫控儀在全量程范圍內(nèi)溫度控制精度低,自適應(yīng)性較差。這種不足的原因是多方面造成的,如針對不同的溫控對象,由于控制算法的不足而導(dǎo)致控制精
13、度不穩(wěn)定等。針對上述不足,本文以探索新的 PID 自整定方法為目的,設(shè)計和開發(fā)一種新型電阻爐智能溫度控制儀,以簡化控制電路,提高系統(tǒng)運行的可靠性。1.31.3 系統(tǒng)總體設(shè)計思想系統(tǒng)總體設(shè)計思想(1)系統(tǒng)硬件方案分析目前,溫度控制儀的硬件電路一般采用模擬電路2(Analog Circuit)和單片機(Single-chip Computer)兩種形式。模擬控制電路的各控制環(huán)節(jié)一般由運算放大器、電壓比較器、模擬集成電路及電容、電阻等外圍元器件組成。它的最大優(yōu)點是系統(tǒng)響應(yīng)速度快,能實現(xiàn)對系統(tǒng)的實時控制。根據(jù)計算機控制理論可知,數(shù)字控制系統(tǒng)的采樣速率并非越快越好,還取決于被控系統(tǒng)的響應(yīng)特性。在本系統(tǒng)中
14、,由于溫度的變化是一個相對緩慢的過程,對溫控系統(tǒng)的實時性要求不高,所以模擬電路的優(yōu)勢得不到體現(xiàn)。另外,模擬電路依靠元器件之間的電氣關(guān)系來實現(xiàn)控制算法,很難實現(xiàn)復(fù)雜的控制算法。單片機是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,屬于第四代電子計算機。它是把中央處理器 CPU(Centeral Processing Unit)、隨機存取存儲器 RAM(Random Access Memory)、只讀存儲器 ROM(ReadOnly Memory)、定時器/計數(shù)器以及 I/0(Input/Output)接口電路等主要計算機部件集成在一塊集成電路芯片上的微型計算機,它的特點是:功能強大、運算速度快、體積小巧、價格低
15、廉、穩(wěn)定可靠、應(yīng)用廣泛。由此可見,采用單片機設(shè)計控制系統(tǒng),不僅可以降低開發(fā)成本,精簡系統(tǒng)結(jié)構(gòu),而且控制算法由軟件實現(xiàn),可以提高系統(tǒng)的兼容性和可移植性。另外,隨著微電子技術(shù)和半導(dǎo)體工業(yè)的不斷創(chuàng)新和發(fā)展,SoC(System on chip,片上系統(tǒng))得到了十足的發(fā)展。一些廠家根據(jù)系統(tǒng)功能的復(fù)雜程度,將這種 Soc 芯片應(yīng)用到先進的控制儀表中。SoC 芯片通常含有一個微處理器核(CPU),同時,它還含有多個外圍特殊功能模塊和一定規(guī)模的存儲器(RAM,ROM),并且這種片上系統(tǒng)一般具有用戶自定義接口模塊,使得其功能非常強大,適用領(lǐng)域也非常廣。它不僅能滿足復(fù)雜的系統(tǒng)性能的需要,而且還使整個系統(tǒng)的電路緊
16、湊,硬件結(jié)構(gòu)簡化。從實現(xiàn)復(fù)雜系統(tǒng)功能和簡化硬件結(jié)構(gòu)的角度出發(fā),SoC 是實現(xiàn)電阻爐智能溫度控制儀的最佳選擇,但目前市場上 SoC 的價格還比較昂貴,并且 SoC 的封裝形式幾乎都采用貼片式封裝,不利于實驗電路板的搭建。從降低成本,器件供貨渠道充足的角度看,應(yīng)用單片機實現(xiàn)溫度控制系統(tǒng)是比較經(jīng)濟實用的。目前,市面上的單片機不僅種類繁多,而且在性能方面也各有所長。針對這些單片機的不同特點,尤其從降低成本和方便實驗的角度出發(fā),以 89S52 為核心器件組成的控制系統(tǒng)是比較理想的選擇。此外,在選取外圍擴展芯片時,本著節(jié)約成本的原則,盡量選取典型的、易于擴展和替換的芯片及器件。(2)系統(tǒng)軟件方案分析溫度控
17、制算法方面,基于解析模型的經(jīng)典控制方法主要體現(xiàn)在 PID 控制上,這主要是由于 PID 控制器的原理簡單,使用方便的緣故。但是,經(jīng)典控制方法一般是建立在被控對象精確或近似的數(shù)學(xué)模型上,而數(shù)學(xué)模型的建立本身就存在許多不足之處,因而其表面上看是精確控制,而實際上卻是簡單的控制器。此外,在設(shè)計 PID 控制器時,傳統(tǒng)的做法是依靠經(jīng)驗和試驗在系統(tǒng)調(diào)試時確定 PID 控制器的參數(shù) Kp,Ki,Kd,在隨后的控制過程中 PID 參數(shù)一般是保持不變的,當(dāng)外部條件發(fā)生重大變化時,再由工程人員重新手動進行選擇。然而,被控系統(tǒng)在實際運行中會受到負(fù)荷變化、外界噪聲等各種因素的干擾,都會引起被控對象的近似數(shù)學(xué)模型參數(shù)
18、變化較大,從而導(dǎo)致控制效果大打折扣?;谏鲜銮樾危绻軐⒔频臄?shù)學(xué)模型與實際情況結(jié)合起來,這樣的控制方式往往要比經(jīng)典控制方法精確得多,這就意味著 PID 參數(shù)能夠在線調(diào)整,以適應(yīng)改變了的模型。顯然常規(guī) PID 控制器是不能滿足這一要求。因此在設(shè)計控制器時,一個關(guān)鍵的問題就是如何實現(xiàn) PID 參數(shù)的實時整定。1.41.4 功能要求功能要求基于單片機與 PC 機的溫度控制設(shè)計系統(tǒng)應(yīng)能達到以下功能要求:(一) 可以人為方便地設(shè)定所需控制的溫度值,溫控儀器能自動將電爐加熱至此設(shè)定值并能保持,直至重新設(shè)定為另一溫度值,即能自動控制溫度;(二)采用適當(dāng)?shù)目刂品椒ǎ?dāng)設(shè)定溫度突變(由 40提高到 60)時
19、,減小系統(tǒng)的調(diào)節(jié)時間和超調(diào)量。(三) 實現(xiàn)無觸點式控制,消除機械噪聲;(四) 改進控制方法,控制精度達到05 C 或更高;(五) 具有自動加熱保護功能的安全性要求。如果實際測得的溫度值超過了系統(tǒng)要求的溫度范圍,單片機就會發(fā)出斷電指令,并進行報警;(六) 裝置可將溫度數(shù)據(jù)通過串口送到上位機,上位機軟件將接收到的數(shù)據(jù)存貯并顯示溫度變化曲線。第二章第二章 系統(tǒng)硬件設(shè)計系統(tǒng)硬件設(shè)計2.12.1 硬件系統(tǒng)框圖硬件系統(tǒng)框圖系統(tǒng)總體方案框圖如圖2-1所示PC機鍵盤顯示器RS232單片機驅(qū)動SSR電阻爐DS18B20圖2-1 系統(tǒng)總體方案框圖2.22.2 硬件電路硬件電路2.2.3 3 最小單片機系統(tǒng)最小單片
20、機系統(tǒng)(1)單片機概述AT89S523是一種低功耗、高性能 CMOS8 位微控制器,具有 8K 在系統(tǒng)可編程 Flash 存儲器。使用 Atmel 公司高密度非 易失性存儲器技術(shù)制造,與工業(yè) 80C51 產(chǎn)品指令和引腳完全兼容。片上 Flash 允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧 8 位 CPU 和在系統(tǒng) 可編程 Flash,使得 AT89S52 為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52 具有以下標(biāo)準(zhǔn)功能:8k 字節(jié) Flash,256 字節(jié) RAM,32 位 I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個 16 位定時器/計數(shù)器,
21、一個6 向量 2 級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52 可降至 0Hz靜態(tài)邏輯操作,支持 2 種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許 RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM 內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。8 位微控制器 8K 字節(jié)在系統(tǒng)可編程 Flash AT89S52。功能強大的 AT89S52 可為許多嵌入式控制應(yīng)用系統(tǒng)和工業(yè)控制系統(tǒng)提供高性價比的解決方案。鑒于以上優(yōu)點,并結(jié)合設(shè)計目標(biāo),特選用此款單片機。 (3) AT89S52 引腳功能與封裝圖 2-2 是 AT89S
22、52 封裝結(jié)構(gòu)圖。圖 2-2 AT89S52 封裝引腳圖按照功能,AT89S52 的引腳可分為主電源、外接晶體振蕩或振蕩器、多功能 I/O 口、控制和復(fù)位等。1.多功能 I/O 口AT89S52 共有四個 8 位的并行 I/O 口:P0、P1、P2、P3 端口,對應(yīng)的引腳分別是P0.0 P0.7,P1.0 P1.7,P2.0 P2.7,P3.0 P3.7,共 32 根 I/O 線。每根線可以單獨用作輸入或輸出。P0 端口,該口是一個 8 位漏極開路的雙向 I/O 口。在作為輸出口時,每根引腳可以帶動 8 個 TTL 輸入負(fù)載。當(dāng)把“1”寫入 P0 時,則它的引腳可用作高阻抗輸入。當(dāng)對外部程序或
23、數(shù)據(jù)存儲器進行存取時,P0 可用作多路復(fù)用的低字節(jié)地址/數(shù)據(jù)總線,在該模式,P0 口擁有內(nèi)部上拉電阻。在對 Flash 存儲器進行編程時,P0 用于接收代碼字節(jié);在校驗時,則輸出代碼字節(jié);此時需要外加上拉電阻。P1 端口,該口是帶有內(nèi)部上拉電阻的 8 位雙向 I/O 端口,P1 口的輸出緩沖器可驅(qū)動(吸收或輸出電流方式)4 個 TTL 輸入。對端口寫“1”時,通過內(nèi)部的上拉電阻把端口拉到高電位,此時可用作輸入口。P1 口作輸入口使用時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸出一個電流。在對 Flash 編程和程序校驗時,P1 口接收低8 位地址。另外,P1.0 與 P1.1 可以配
24、置成定時/計數(shù)器 2 的外部計數(shù)輸入端(P1.0/T2)與定時/計數(shù)器 2 的觸發(fā)輸入端(P1.0/T2EX) ,如表 2-1 所示。表 2-1 P1 口管腳復(fù)用功能端口引腳復(fù)用功能P1.0T2(定時器/計算器 2 的外部輸入端)P1.1T2EX(定時器/計算器 2 的外部觸發(fā)端和雙向控制)P1.5MOSI(用于在線編程)P1.6MISO(用于在線編程)P1.7SCK(用于在線編程) P2 端口,該口是帶有內(nèi)部上拉電阻的 8 位雙向 I/O 端口,P2 口的輸出緩沖器可驅(qū)動(吸收或輸出電流方式)4 個 TTL 輸入。對端口寫“1”時,通過內(nèi)部的上拉電阻把端口拉到高電位,此時可用作輸入口。P2
25、口作輸入口使用時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸出一個電流。在訪問外部程序存儲器或 16 位的外部數(shù)據(jù)存儲器(如執(zhí)行 MOVX DPTR 指令)時,P2 口送出高 8 位地址,在訪問 8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行 MOVX RI 指令)時,P2 口引腳上的內(nèi)容(就是專用寄存器(SFR)區(qū)中 P2 寄存器的內(nèi)容) ,在整個訪問期間不會改變。在對 Flash 編程和程序校驗期間,P2 口也接收高位地址或一些控制信號。 P3 端口,該口是帶有內(nèi)部上拉電阻的 8 位雙向 I/O 端口,P3 口的輸出緩沖器可驅(qū)動(吸收或輸出電流方式)4 個 TTL 輸入。對端口寫“1”時,通過
26、內(nèi)部的上拉電阻把端口拉到高電位,此時可用作輸入口。P3 口作輸入口使用時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸出一個電流。在 AT89S52 中,同樣 P3 口還用于一些復(fù)用功能,如表 2-2 所列。在對 Flash 編程和程序校驗期間,P3 口還接收一些控制信號。表 2-2 P3 端口引腳與復(fù)用功能表端口引腳復(fù)用功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外部中斷 0)P3.3INT1(外部中斷 1)P3.4T0(定時器 0 的外部輸入)P3.5T1(定時器 1 的外部輸入)P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器讀選通
27、)1.RST 復(fù)位輸入端。在振蕩器運行時,在此腳上出現(xiàn)兩個機器周期的高電平將使其單片機復(fù)位??撮T狗定時器(Watchdog)溢出后,該引腳會保持 98 個振蕩周期的高電平。在 SFR AUXR(地址 8EH)寄存器中的 DISRTO 位可以用于屏蔽這種功能。DISRTO 位的默認(rèn)狀態(tài),是復(fù)位高電平輸出功能使能。2.ALE/PROG 地址鎖存允許信號。在存取外部存儲器時,這個輸出信號用于鎖存低字節(jié)地址。在對 Flash 存儲器編程時,這條引腳用于輸入編程脈沖 PROG。一般情況下,ALE 是振蕩器頻率的 6 分頻信號,可用于外部定時或時鐘。但是,在對外部數(shù)據(jù)存儲器每次存取中,會跳過一個 ALE
28、脈沖。在需要時,可以把地址 8EH 中的 SFR 寄存器的 0 位置為“1” ,從而屏蔽 ALE 的工作;而只有在 MOVX 或 MOVC 指令執(zhí)行時 ALE 才被激活。在單片機處于外部執(zhí)行方式時,對 ALE 屏蔽位置“1”并不起作用。3.PSEN 程序存儲器允許信號。它用于讀外部程序存儲器。當(dāng) AT89S52 在執(zhí)行來自外部存儲器的指令時,每一個機器周期 PSEN 被激活 2 次。在對外部數(shù)據(jù)存儲器的每次存取中,PSEN 的 2 次激活會被跳過。4.EA/Vpp 外部存取允許信號。為了確保單片機從地址為 0000HFFFFH 的外部程序存儲器中讀取代碼,故要把 EA 接到 GND 端,即地端
29、。但是,如果鎖定位 1 被編程,則 EA在復(fù)位時被鎖存。當(dāng)執(zhí)行內(nèi)部程序時,EA 應(yīng)接到 Vcc。在對 Flash 存儲器編程時,這條引腳接收 12V 編程電壓 Vpp。5.XTAL1 振蕩器的反相放大器輸入,內(nèi)部時鐘工作電路的輸入。6.XTAL2 振蕩器的反相放大器輸出。(2)AT89S52 單片機最小系統(tǒng)4電路圖如圖 2-3 所示。圖 2-3 單片機 AT89S52 最小系統(tǒng)(1) 復(fù)位電路:單片機上電時,當(dāng)振蕩器正在運行時,只要持續(xù)給出 RST 引腳連個機器周期的高電平,便可完成系統(tǒng)復(fù)位。外部復(fù)位電路是為內(nèi)部復(fù)位電路提供兩個機器周期以上的電平而設(shè)計的。系統(tǒng)采用上電自動復(fù)位,上電瞬間電容器上
30、的電壓不能突變,RST 上的電壓是Vcc 上的電壓與電容器上的電壓之差,因而 RST 上的電壓與 Vcc 上的電壓相同。隨著充電的進行,電容器上的電壓不斷上升,RST 上的 電壓就隨著下降,RST 腳上只要保持 10ms以上高電平,系統(tǒng)就會有效復(fù)位。電容 C 可取 1033uF,電阻 R 可取 1.210k。在本系統(tǒng)設(shè)計中,C 取 22uf,R 取 4.7k,充電時間常數(shù)為 22*10-6 *4.7*103=104ms。(2)振蕩電路:XTAL1 腳和 XTAL2 腳分別構(gòu)成片內(nèi)振蕩器的反相放大器的輸入和輸出端,外接石英晶振或陶瓷晶振以及補償電容 C1、C2 選 47uF 構(gòu)成并聯(lián)諧振電路。當(dāng)
31、外接石英晶振時,電容 C1、C2 選 30Pf10pF;當(dāng)外接陶瓷振蕩器時,電容 C1、C2 選 47uF10uF。AT89S52系統(tǒng)中晶振可在 024MHz 選擇。外接電 C1、C2 的大小會影響振蕩器頻率的穩(wěn)定度、起振時間及溫度穩(wěn)定性。在設(shè)計電路板時,晶振和電容應(yīng)靠近單片機芯片,以便減少寄生電容,保證振蕩器穩(wěn)定可靠工作。在本硬件系統(tǒng)設(shè)計中,為保證串行通行波特率的誤差,選擇了 11.0592MHz 的標(biāo)準(zhǔn)石英晶振,電容 C1、C2 為 47uF。(3)接高電平,選用片內(nèi)程序存儲器。EA(4) 單片機編程2.42.4 溫度傳感器的選取溫度傳感器的選取 目前市場上溫度傳感器較多,有以下幾種: 方
32、案一:選用鉑電阻溫度傳感器,此類溫度傳感器線性度、穩(wěn)定性等方面性能都很好, 其成本較高。 方案二:采用熱敏電阻,選用此類元器件有價格便宜的優(yōu)點,但由于熱敏電阻的非線性特性會影響系統(tǒng)的精度。 方案三:DS18B20 是 DALLAS 公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有 3 引腳 TO92小體積封裝形式;溫度測量范圍為55125,可編程為 9 位12 位 A/D 轉(zhuǎn)換精度,測溫分辨率可達 0.0625。此器件具有體積小、質(zhì)量輕、線形度好、性能穩(wěn)定等優(yōu)點其各方面特性都滿足此系統(tǒng)的設(shè)計要求。 比較以上三種方案,方案三具有明顯的優(yōu)點,因此選用方案三。 2.52.5 溫度傳感器溫度傳感器 DS18B20
33、DS18B20 的介紹的介紹DS18B205是 Dallas 半導(dǎo)體公司推出的一線總線數(shù)字化溫度傳感器件,它能在現(xiàn)場采集溫度數(shù)據(jù),并將溫度數(shù)據(jù)直接轉(zhuǎn)換成數(shù)字量輸出。此外,一線總線獨特而且經(jīng)濟的特點,使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念DS18B20 測量溫度范圍為-55C+125C,在-10+85C 范圍內(nèi),精度為0.5C。DS1822 的精度較差為2C?,F(xiàn)場溫度直接以一線總線的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消費電子產(chǎn)品等。DS18B20 可以程序設(shè)定 912 位的分辨率,精度為0.5C??蛇x更小
34、的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶設(shè)定的報警溫度存儲在 EEPROM 中,掉電后依然保存。DS18B20 的性能是新一代產(chǎn)品中最好的!性能價格比也非常出色!DS1822 與DS18B20 軟件兼容,是 DS18B20 的簡化版本。省略了存儲用戶定義報警溫度、分辨率參數(shù)的 EEPROM,精度降低為2C,適用于對性能要求不高,成本控制嚴(yán)格的應(yīng)用。DS18B20 可用傳統(tǒng)方式供電6,將外部電源連在 VDD 腳上,其工作電壓范圍為3.05.5V, 也可以用數(shù)據(jù)線供電,稱為寄生供電模式,電源由總線為高電平時 DQ 腳上的上拉電阻提供,此時 VDD 腳必須接地。在 12 位分辨率時,最多在
35、 750ms 內(nèi)可以把溫度值轉(zhuǎn)換成數(shù)字。并具有負(fù)壓特性,即當(dāng)電源極性接反時,溫度計雖然不會正常工作,但卻不會因發(fā)熱而燒毀。一、DS18B20 的主要特性(1)適應(yīng)電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù)據(jù)線供電(2)獨特的單線接口方式,DS18B20 在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與 DS18B20 的雙向通訊。(3)DS18B20 支持多點組網(wǎng)功能,多個 DS18B20 可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。(4)DS18B20 在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)(5)測溫范圍55125,在-10+8
36、5時精度為0.5(6)可編程的分辨率為 912 位,對應(yīng)的可分辨溫度分別為 0.5、0.25、0.125和 0.0625,可實現(xiàn)高精度測溫。(7)在 9 位分辨率時最多在 93.75ms 內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12 位分辨率時最多在750ms 內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。(8)測量結(jié)果直接輸出數(shù)字溫度信號,以一線總線串行傳送給 CPU,同時可傳送CRC 校驗碼,具有極強的抗干擾糾錯能力。(9)負(fù)壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。 二、DS18B20 的外形和內(nèi)部結(jié)構(gòu)DS18B20 內(nèi)部結(jié)構(gòu)主要由四部分組成:64 位光刻 ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器
37、TH 和 TL、配置寄存器。圖 2-4 為 DS18B20 內(nèi)部結(jié)構(gòu)圖,圖 2-5 為 DS18B20 的引腳(PR35 封裝)。引腳含義如下:(1)DQ:數(shù)字信號輸入/輸出端;(2)GND:電源地;(3)VDD:外接供電電源輸入端(在寄生電源接線方式時接地)。三、DS18B20 工作原理DS18B20 測溫原理如圖 2-6 所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器 1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器 2 的脈沖輸入。計數(shù)器 1 和溫度寄存器被預(yù)置在55所對應(yīng)的一個基數(shù)值。計數(shù)器 1 對低溫度系數(shù)晶振產(chǎn)生的脈沖信號
38、進行減法計數(shù),當(dāng)計數(shù)器 1 的預(yù)置值減到 0 時,溫度寄存器的值將加 1,計數(shù)器 1 的預(yù)置將重新被裝入,計數(shù)器1 重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到計數(shù)器 2 計數(shù)到 0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖 2-6 中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器 1 的預(yù)置值。圖 2-6 DS18B20 測溫原理DS18B20 有 4 個主要的數(shù)據(jù)部件:圖 2-4 DS18B20 內(nèi)部結(jié)構(gòu)圖圖 2-5 DS18B20 引腳圖(1)光刻 ROM 中的 64 位序列號是出廠前被光刻好的,它可以看作是該 DS18B20
39、的地址序列碼。64 位光刻 ROM 的排列是:開始 8 位(28H)是產(chǎn)品類型標(biāo)號,接著的 48 位是該 DS18B20 自身的序列號,最后 8 位是前面 56 位的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1)。光刻 ROM 的作用是使每一個 DS18B20 都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個 DS18B20 的目的。(2)DS18B20 中的溫度傳感器可完成對溫度的測量,以 12 位轉(zhuǎn)化為例:用 16 位符號擴展的二進制補碼讀數(shù)形式提供,以 0.0625/LSB 形式表達,其中 S 為符號位。表 2-3: DS18B20 溫度值格式表這是 12 位轉(zhuǎn)化后得到的 12 位數(shù)據(jù),存儲
40、在 DS18B20 的兩個 8 比特的 RAM 中,二進制中的前面 5 位是符號位,如果測得的溫度大于 0,這 5 位為 0,只要將測到的數(shù)值乘于0.0625 即可得到實際溫度;如果溫度小于 0,這 5 位為 1,測到的數(shù)值需要取反加 1 再乘于 0.0625 即可得到實際溫度。例如+125的數(shù)字輸出為 07D0H,+25.0625的數(shù)字輸出為 0191H,-25.0625的數(shù)字輸出為 FF6FH,-55的數(shù)字輸出為 FC90H。(3)DS18B20 溫度傳感器的存儲器DS18B20 溫度傳感器的內(nèi)部存儲器包括一個高速暫存 RAM 和一個非易失性的可電擦除的 EEPRAM,后者存放高溫度和低溫
41、度觸發(fā)器 TH、TL 和結(jié)構(gòu)寄存器。(4)配置寄存器該字節(jié)各位的意義如下:表 2-5:配置寄存器結(jié)構(gòu)低五位一直都是1,TM 是測試模式位,用于設(shè)置 DS18B20 在工作模式還是在測試模式。在 DS18B20 出廠時該位被設(shè)置為 0,用戶不要去改動。R1 和 R0 用來設(shè)置分辨率,如下表所示:(DS18B20 出廠時被設(shè)置為 12 位)表 2-6:溫度分辨率設(shè)置表四、高速暫存存儲器高速暫存存儲器由 9 個字節(jié)組成,其分配如表 5 所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補碼形式存放在高速暫存存儲器的第 0 和第 1 個字節(jié)。單片機可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后
42、,數(shù)據(jù)格式如表 1 所示。對應(yīng)的溫度計算:當(dāng)符號位 S=0 時,直接將二進制位轉(zhuǎn)換為十進制;當(dāng) S=1 時,先將補碼變?yōu)樵a,再計算十進制值。表 2-7 是對應(yīng)的一部分溫度值。第九個字節(jié)是冗余檢驗字節(jié)。表 2-7:DS18B20 暫存寄存器分布根據(jù) DS18B20 的通訊協(xié)議,主機(單片機)控制 DS18B20 完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對 DS18B20 進行復(fù)位操作,復(fù)位成功后發(fā)送一條 ROM 指令,最后發(fā)送 RAM 指令,這樣才能對 DS18B20 進行預(yù)定的操作。復(fù)位要求主 CPU 將數(shù)據(jù)線下拉 500 微秒,然后釋放,當(dāng) DS18B20 收到信號后等待 1660
43、 微秒左右,后發(fā)出 60240微秒的存在低脈沖,主 CPU 收到此信號表示復(fù)位成功。表 2-8:ROM 指令表表 2-9:RAM 指令表六、DS18B20 使用中注意事項DS18B20 雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點,但在實際應(yīng)用中也應(yīng)注意以下幾方面的問題:1) 較小的硬件開銷需要相對復(fù)雜的軟件進行補償,由于 DS18B20 與微處理器間采用串行數(shù)據(jù)傳送,因此,在對 DS18B20 進行讀寫編程時,必須嚴(yán)格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在使用 PL/M、C 等高級語言進行系統(tǒng)程序設(shè)計時,對 DS18B20 操作部分最好采用 C 語言實現(xiàn)。2) 在 DS1
44、8B20 的有關(guān)資料中均未提及單總線上所掛 DS18B20 數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個 DS18B20,在實際應(yīng)用中并非如此。當(dāng)單總線上所掛 DS18B20 超過 8個時,就需要解決微處理器的總線驅(qū)動問題,這一點在進行多點測溫系統(tǒng)設(shè)計時要加以注意。3) 連接 DS18B20 的總線電纜是有長度限制的。試驗中,當(dāng)采用普通信號電纜傳輸長度超過 50m 時,讀取的測溫數(shù)據(jù)將發(fā)生錯誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達 150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時,正常通訊距離進一步加長。這種情況主要是由總線分布電容使信號波形產(chǎn)生畸變造成的。因此,在用 DS18B
45、20 進行長距離測溫系統(tǒng)設(shè)計時要充分考慮總線分布電容和阻抗匹配問題。4) 在 DS18B20 測溫程序設(shè)計中,向 DS18B20 發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20 的返回信號,一旦某個 DS18B20 接觸不好或斷線,當(dāng)程序讀該 DS18B20 時,將沒有返回信號,程序進入死循環(huán)。這一點在進行 DS18B20 硬件連接和軟件設(shè)計時也要給予一定的重視。測溫電纜線建議采用屏蔽 4 芯雙絞線,其中一對線接地線與信號線,另一組接 VCC和地線,屏蔽層在源端單點接地。2.62.6 輸出通道設(shè)計輸出通道設(shè)計(1)電阻爐的功率調(diào)節(jié)方式電阻爐的溫度控制是通過調(diào)節(jié)電阻爐的輸入電功率來實現(xiàn)的。目前多
46、數(shù)溫控儀采用晶閘管來實現(xiàn)功率調(diào)節(jié)。由晶閘管實現(xiàn)交流功率調(diào)節(jié)的途徑有兩條:一種是通過改變交流電壓每周期內(nèi)電壓波形的導(dǎo)通角,使得負(fù)載端電壓有效值得以調(diào)節(jié),進而實現(xiàn)電功率調(diào)節(jié)。由于這種調(diào)節(jié)方式下觸發(fā)脈沖的觸發(fā)時刻與電壓波形的相位有關(guān),因此稱為相位控制調(diào)功;另一種調(diào)節(jié)方式是電壓波形不變而只改變電壓周波在控制周期內(nèi)出現(xiàn)的次數(shù),這種調(diào)節(jié)方式稱為通斷控制調(diào)功。就觸發(fā)方式而言,前者為移相觸發(fā),后者為過零觸發(fā)。兩者的電壓波形比較如圖 2-7 所示。圖 2-7 功率調(diào)節(jié)方式比較通過比較發(fā)現(xiàn):相位控制的電壓波形不“規(guī)整” ,但正負(fù)半周對稱,無直流成分,可直接用于電感負(fù)載。其最大的缺點是:大電流的切入造成對電網(wǎng)的沖擊
47、,不規(guī)整的脈沖負(fù)載電流引起電網(wǎng)波形的畸變及對其它電設(shè)備的中頻干擾。輸出的線性范圍窄而線性度又不好,只能靠反饋來改善。通斷控制的輸出波形仍為正弦波,其優(yōu)點是,不會對電網(wǎng)造成嚴(yán)重污染和干擾其它用電設(shè)備,而且電爐的功率愈大,優(yōu)點愈突出。但通斷控制也存在抗電源干擾能力弱等缺點。對于純阻性負(fù)載的電阻爐來說,溫控儀采用過零觸發(fā)方式可使電路結(jié)構(gòu)簡單,軟件計算方便。因此,在本系統(tǒng)中采用通斷控制的方式來進行功率調(diào)節(jié)。(2)固態(tài)繼電器及應(yīng)用固態(tài)繼電器7(Solid State Relays),簡寫成“SSR” ,是一種全部由固態(tài)電子元件(如光電耦合器、晶體管、可控硅、電阻、電容等)組成的新型無觸點開關(guān)器件。與普通
48、繼電器一樣,它的輸入側(cè)與輸出側(cè)之間是電絕緣的。但是與普通電磁繼電器比,SSR 體積小,開關(guān)速度快,無機械觸點,因而沒有機械磨損,不怕有害氣體腐蝕,沒有機械噪聲,耐振動、耐沖擊,使用壽命長。它在通、斷時沒有火花和電弧,有利于防爆,干擾?。ㄌ貏e對微弱信號回路) 。另外,SSR 的驅(qū)動電壓低,電流小,易于與計算機接口。因此 SSR 作為自動控制的執(zhí)行部件得到越來越廣泛的應(yīng)用。SSR 按使用場合可以分成交流型和直流型兩大類。圖 2-8 交流 SSR 工作原理框圖交流型 SSR 的工作原理框圖如圖 2-8 所示,圖中的部件構(gòu)成交流 SSR 的主體。從整體上看,SSR 只有兩個輸入端(A 和 B)及兩個輸
49、出端(C 和 D),是一種四端器件。工作時只要在 A、B 上加上一定的控制信號,就可以控制 C、D 兩端之間的“通”和“斷” ,實現(xiàn)“開關(guān)”的功能,其中耦合電路的功能是為 A、B 端輸入的控制信號提供一個輸入/輸出端之間的通道,但又在電氣上斷開 SSR 中輸入端和輸出端之間的(電)聯(lián)系,以防止輸出端對輸入端的影響,耦合電路用的元件是“光耦合器” ,它動作靈敏、響應(yīng)速度高、輸入/輸出端間的絕緣(耐壓)等級高;由于輸入端的負(fù)載是發(fā)光二極管,這使 SSR 的輸入端很容易做到與輸入信號電平相匹配,在使用時可直接與計算機輸出接口相接,即受“1”與“0”的邏輯電平控制。觸發(fā)電路的功能是產(chǎn)生合乎要求的觸發(fā)信
50、號,驅(qū)動開關(guān)電路工作,但由于開關(guān)電路在不加特殊控制電路時,將產(chǎn)生射頻干擾并以高次諧波或尖峰等污染電網(wǎng),為此特設(shè)“過零控制電路” 。所謂“過零”是指,當(dāng)加入控制信號,交流電壓過零時,SSR 即為通態(tài);而當(dāng)斷開控制信號后,SSR 要等待交流電的正半周與負(fù)半周的交界點(零電位)時,SSR 才為斷態(tài)。這種設(shè)計能防止高次諧波的干擾和對電網(wǎng)的污染。吸收電路是為防止從電源中傳來的尖峰、浪涌(電壓)對開關(guān)器件雙向可控硅管的沖擊和干擾(甚至誤動作)而設(shè)計的,一般是用“R-C”串聯(lián)吸收電路或非線性電阻(壓敏電阻器)。2.72.7 串行通信接口串行通信接口串口通信8的概念非常簡單,串口按位(bit)發(fā)送和接收字節(jié)。
51、盡管比按字節(jié)(byte)的并行通信慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)。它很簡單并且能夠?qū)崿F(xiàn)遠距離通信。比如 IEEE488 定義并行通行狀態(tài)時,規(guī)定設(shè)備線總常不得超過 20 米,并且任意兩個設(shè)備間的長度不得超過 2 米;而對于串口而言,長度可達 1200 米(RS485) 。典型的串口用于 ASCII 碼字符的傳輸。通信使用 3 根線完成:(1)地線, (2)發(fā)送,(3)接收。由于串口通信是異步的,端口能夠在一根線上發(fā)送數(shù)據(jù)同時在另一根線上接收數(shù)據(jù)。其他線用于握手,但是不是必須的。串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗。對于兩個進行通行的端口,這些參數(shù)
52、必須匹配: a,波特率:這是一個衡量通信速度的參數(shù)。它表示每秒鐘傳送的 bit 的個數(shù)。例如300 波特表示每秒鐘發(fā)送 300 個 bit。當(dāng)我們提到時鐘周期時,我們就是指波特率例如如果協(xié)議需要 4800 波特率,那么時鐘是 4800Hz。這意味著串口通信在數(shù)據(jù)線上的采樣率為4800Hz。通常電話線的波特率為 14400,28800 和 36600。波特率可以遠遠大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通信,典型的例子就是 GPIB 設(shè)備的通信。 b,數(shù)據(jù)位:這是衡量通信中實際數(shù)據(jù)位的參數(shù)。當(dāng)計算機發(fā)送一個信息包,實際的數(shù)據(jù)不會是 8 位的,標(biāo)準(zhǔn)的值是 5、7
53、和 8 位。如何設(shè)置取決于你想傳送的信息。比如,標(biāo)準(zhǔn)的 ASCII 碼是 0127(7 位) 。擴展的 ASCII 碼是 0255(8 位) 。如果數(shù)據(jù)使用簡單的文本(標(biāo)準(zhǔn) ASCII 碼) ,那么每個數(shù)據(jù)包使用 7 位數(shù)據(jù)。每個包是指一個字節(jié),包括開始/停止位,數(shù)據(jù)位和奇偶校驗位。由于實際數(shù)據(jù)位取決于通信協(xié)議的選取,術(shù)語“包”指任何通信的情況。 c,停止位:用于表示單個包的最后一位。典型的值為 1,1.5 和 2 位。由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設(shè)備有其自己的時鐘,很可能在通信中兩臺設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計算機校正時鐘同步的機會。適用于
54、停止位的位數(shù)越多,不同時鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時也越慢。 d,奇偶校驗位:在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當(dāng)然沒有校驗位也是可以的。對于偶和奇校驗的情況,串口會設(shè)置校驗位(數(shù)據(jù)位后面的一位) ,用一個值確保傳輸?shù)臄?shù)據(jù)有偶個或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是011,那么對于偶校驗,校驗位為 0,保證邏輯高的位數(shù)是偶數(shù)個。如果是奇校驗,校驗位位 1,這樣就有 3 個邏輯高位。高位和低位不真正的檢查數(shù)據(jù),簡單置位邏輯高或者邏輯低校驗。這樣使得接收設(shè)備能夠知道一個位的狀態(tài),有機會判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。目前RS-232是
55、PC機與通信工業(yè)中應(yīng)用最廣泛的一種串行接口。RS-232被定義為一種在低速率串行通訊中增加通訊距離的單端標(biāo)準(zhǔn)。RS-232采取不平衡傳輸方式,即所謂單端通訊。圖2-9 RS232引腳圖收、發(fā)端的數(shù)據(jù)信號是相對于信號地,如從DTE設(shè)備發(fā)出的數(shù)據(jù)在使用DB25連接器時是2腳相對7腳(信號地)的電平,DB25各引腳定義參見圖2-9。典型的RS-232信號在正負(fù)電平之間擺動,在發(fā)送數(shù)據(jù)時,發(fā)送端驅(qū)動器輸出正電平在+5+15V,負(fù)電平在-5-15V電平。當(dāng)無數(shù)據(jù)傳輸時,線上為TTL,從開始傳送數(shù)據(jù)到結(jié)束,線上電平從TTL電平到RS-232電平再返回TTL電平。接收器典型的工作電平在+3+12V與-3-1
56、2V。由于發(fā)送電平與接收電平的差僅為2V至3V左右,所以其共模抑制能力差,再加上雙絞線上的分布電容,其傳送距離最大為約15米,最高速率為20kb/s。RS-232是為點對點(即只用一對收、發(fā)設(shè)備)通訊而設(shè)計的,其驅(qū)動器負(fù)載為37k。所以RS-232適合本地設(shè)備之間的通信。上位機和下位機的接線方法如圖2-10:圖 2-10 上位機和下位機的接線方法MCS-51 內(nèi)部含有一個可編程全雙工串行通信接口,具有 UART 的全部功能。該接口電路不僅能同時進行數(shù)據(jù)的發(fā)送和接收,也可作為一個同步移位寄存器使用。 在進行異步通信時,數(shù)據(jù)的發(fā)送和接收分別在各自的時鐘(TCLK 和 RCLK)控制下進行的,但都必
57、須與字符位數(shù)的波特率保持一致。MCS-51 串行口的發(fā)送和接收時鐘可由兩種方式產(chǎn)生,一種是由主機頻率 fosc 經(jīng)分頻后產(chǎn)生,另一種方式是由內(nèi)部定時器 T1 或T2 的溢出率經(jīng) 16 分頻后提供。一、發(fā)送和接收的過程如下:串行口的發(fā)送過程由指令 MOV SBUF,A 啟動,即 CPU 由一條寫發(fā)送緩沖器的指令把數(shù)據(jù)(字符)寫入串行口的發(fā)送緩沖器 SBUF(發(fā))中,再由硬件電路自動在字符的始、末加上起始位(低電平)、停止位(高電平)及其它控制位(如奇偶位等),然后在移位脈沖 SHIFT 的控制下,低位在前,高位在后,從 TXD 端(方式 0 除外)一位位地向外發(fā)送。串行口的接收與否受制于允許接收
58、位 REN 的狀態(tài),當(dāng) REN 被軟件置“1”后,允許接收器接收。接收端 RXD 一位位地接收數(shù)據(jù),直到收到一個完整的字符數(shù)據(jù)后,控制電路進行最后一次移位,自動去掉啟始位,使接收中斷標(biāo)志 RI 置“1”,并向 CPU 申請中斷。CPU 響應(yīng)中斷,用一條指令(MOV A,SBUF)把接收緩沖器 SBUF(收)的內(nèi)容讀入累加器。TI 和 RI 是由硬件置位的,但需要用軟件復(fù)位。二、相關(guān)的寄存器1、SBUF 是兩個在物理上獨立的接收、發(fā)送緩沖器,可同時發(fā)送、接收數(shù)據(jù)。兩個緩沖器只用一個字節(jié)地址 99H,可通過指令對 SBUF 的讀寫來區(qū)別是對接收緩沖器的操作還是對發(fā)送緩沖器的操作。串行口對外有兩條獨
59、立的收發(fā)信號線 RXD(P3.0)、TXD(P3.1),因此可以同時發(fā)送、接收數(shù)據(jù),實現(xiàn)全雙工。 2、SCON 寄存器用來控制串行口的工作方式和狀態(tài),可按位尋址,其字節(jié)地址為98H。 3、PCON 中的 SMOD 用來控制波特率加倍。 4、TMOD 設(shè)置定時器 1 的工作方式,用來產(chǎn)生波特率 5、如果用到中斷,則還需要用到中斷相關(guān)的寄存器 IE,IP 等三、四種工作方式:方式 0:同步移位寄存器方式,其波特率是固定為振蕩頻率 fosc 的 1/12。在這種工作方式下,發(fā)送和接收串行數(shù)據(jù)都通過 RXD(P3.0)進行,從 TXD(P3.1)輸出移位脈沖,控制外部的移位寄存器移位。1 幀信息為 8
60、 位,沒有起始位,停止位。方式 1:8 位 UART,1 幀信息為 10 位,其中一位起始位“0”、八位數(shù)據(jù)位(先低位后高位)和一個停止位“1”,波特率可變,根據(jù)定時器 1 的溢出率計算。方式 2:9 位 UART,1 幀信息為 11 位,其中一位起始位“0”、八位數(shù)據(jù)位(先低位后高位),一位控制位(第九位)和一個停止位“1”。波特率為振蕩頻率的 1/64 或 1/32。方式 3:9 位 UART,幀信息為 11 位,其中一位起始位“0”、八位數(shù)據(jù)位(先低位后高位),一位控制位(第九位)和一個停止位“1”。波特率可變,根據(jù)定時器 1 的溢出率計算。附加的第 9 位數(shù)據(jù)為 SCON 中的 TB8
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人北京市房屋租賃合同自行成交
- 住宅裝修合同范本
- 打更免責(zé)合同范例
- 兄弟房子出售合同范例
- 農(nóng)藥化肥合同范例
- 廁所隔板質(zhì)保合同范例
- 工作服定制合同范例
- 快遞員勞務(wù)合同范例
- 刺繡廠購銷合同范例
- 園林機器租賃合同范例
- 2024江蘇省常熟市事業(yè)單位招聘176人歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 中藥表格完整版本
- 居民健康檔案電子建檔工作實施方案
- 外研版(2024新版)七年級上冊英語期末(Units 1~6)學(xué)業(yè)質(zhì)量測試卷(含答案)
- 2024年湖南省長沙市中考數(shù)學(xué)試題(含解析)
- 供應(yīng)鏈與生產(chǎn)制造L1-L4級高階流程規(guī)劃框架 相關(guān)兩份資料
- 廚房里的危險課件
- 海底撈崗位晉升流程
- 牛津譯林版(2024新版)七年級上冊英語Unit 8 單元測試卷(含答案)
- 貴州大學(xué)新型智庫建設(shè)實施方案
- 當(dāng)代世界經(jīng)濟與政治學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
評論
0/150
提交評論