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