基于單片機(jī)控制的多路溫度檢測(cè)系統(tǒng)設(shè)計(jì)論文.doc_第1頁(yè)
基于單片機(jī)控制的多路溫度檢測(cè)系統(tǒng)設(shè)計(jì)論文.doc_第2頁(yè)
基于單片機(jī)控制的多路溫度檢測(cè)系統(tǒng)設(shè)計(jì)論文.doc_第3頁(yè)
基于單片機(jī)控制的多路溫度檢測(cè)系統(tǒng)設(shè)計(jì)論文.doc_第4頁(yè)
基于單片機(jī)控制的多路溫度檢測(cè)系統(tǒng)設(shè)計(jì)論文.doc_第5頁(yè)
已閱讀5頁(yè),還剩29頁(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)介

i 摘要摘要 多路溫度檢測(cè)系統(tǒng)以8051單片機(jī)系統(tǒng)為核心,能對(duì)多點(diǎn)的溫度進(jìn)行實(shí)時(shí)控制 巡檢。各檢測(cè)單元(從機(jī))能獨(dú)立完成各自功能,根據(jù)主控機(jī)的指令對(duì)溫度進(jìn)行 實(shí)時(shí)或定時(shí)采集,測(cè)量結(jié)果不僅能在本地儲(chǔ)存,顯示,而且可以利用單片機(jī)串行 口,通過(guò)rs-485總線及通信協(xié)議將采集的數(shù)據(jù)傳送到主控機(jī),進(jìn)行進(jìn)一步的分析, 存檔,處理和研究。 主控機(jī)負(fù)責(zé)控制指令發(fā)送,控制各個(gè)從機(jī)進(jìn)行溫度采集,收集測(cè)量數(shù)據(jù),并 對(duì)測(cè)量結(jié)果(包括歷史數(shù)據(jù))進(jìn)行整理,顯示和打印。主控機(jī)與各從機(jī)之間能夠 相互聯(lián)系、相互協(xié)調(diào),從而達(dá)到了系統(tǒng)整體統(tǒng)一,和諧的控制效果。 系統(tǒng)檢測(cè)溫度范圍為 0-400,檢測(cè)分辨率0.1,使用 rs-485 串行總 線進(jìn)行傳輸,max485 驅(qū)動(dòng)芯片進(jìn)行電平轉(zhuǎn)換,傳送距離大于 1200m,抗干擾能力 強(qiáng),各檢測(cè)器單元可顯示檢測(cè)的溫度,設(shè)計(jì)并制造了各檢測(cè)器及主控器所用的直 流穩(wěn)壓電源。由單相 220v 交流電壓供電。 關(guān)鍵詞:關(guān)鍵詞:pt100,多機(jī)遠(yuǎn)程通信,8051 單片機(jī),儀器放大器 620,模數(shù)轉(zhuǎn)換器, ii abstract the multichannel temperature examination system take 8,051 microcomputer systems as a core.it can inspect and controll the temperature of many spots. each examination unit (the litter machine) can complete respective function independently. it can collect the temperature in a time according to the instruction of the major controlling machine. the measurement result can be stored and demonstrated in local place. moreover,it can use the mouth of the microcomputer to transfer the data gathered to the major controlling machine through the rs-485 main line and the correspondence agreement .then we can have the further analysis and the archive and processing and the research. the major controlling machine is responsible for transmissing the command, controlling the temperature gathering of the other machines.it can collect the surveying data.it can also reorganize and demonstration and then print the measurement result(including historical data).the major controlling machine can relate with other machine and coordinate with other machine. thus it has achieved the harmonious effect of the whole system。 this system has realized: 1 the temperature of the examination range from 0 to 400 . 2 examination resolution 0.1 . 3 using the rs-485 serial main line to transfer.the max485 make chip transform and the transmission distance is longger than 1200m, the antijamming ability is strong.4 each detecting unit can demonstrate the temperature of the examination. 5 design and make the detectors and the current direct voltage-stabilized source that the major controlling machine uses。it comes from the single alternating voltage power of 220v keywords:pt100, microcomupter8051, ad620,max187 iii 目目 錄錄 摘要.i abstract.ii 目 錄 iii 1 緒言 1.1 課題背景. 1.2 選題意義 2 系統(tǒng)設(shè)計(jì)方案的研究 2.1 系統(tǒng)的性能要求 . 2.2 方案的分析比較 . 2.2.1 測(cè)量部分 2.2.2多機(jī)遠(yuǎn)程通信部分. 3 系統(tǒng)的設(shè)計(jì) 3.1 框圖. 3.1.1 總體框圖 3.1.2 從機(jī)系統(tǒng)框圖 . 3.2 從機(jī)部分. 3.2.1 溫度信號(hào)的獲取與放大 . 3.3.2 模數(shù)轉(zhuǎn)換單元 . 3.3.3 信號(hào)處理和顯示單元 . 3.3.4 聲光報(bào)警部分 . 3.4 通訊部分 . 3.4.1 電路設(shè)計(jì) 3.4.2 多機(jī)系統(tǒng) 3.4.3 主從式多機(jī)系統(tǒng)設(shè)計(jì)要點(diǎn) . 3.4.4 rs485 方式構(gòu)成的多機(jī)通信原理 . 3.5 主控機(jī)部分 . 3.5.1 電路設(shè)計(jì) 3.5.2 所用器件介紹 3.6 電源部分. 3.7 軟件流程圖 . 4 結(jié)論 . 5 總結(jié)與展望 . iv 致謝 參考文獻(xiàn) 附錄 1.1 程序 1 1 緒言緒言 本文闡述了多點(diǎn)溫度檢測(cè)系統(tǒng)的研究背景,介紹了多點(diǎn)溫度檢測(cè)系統(tǒng)的實(shí)現(xiàn) 及所能達(dá)到的功能,明確指出了多點(diǎn)溫度檢測(cè)系統(tǒng)所面臨的問(wèn)題。 1.11.1 課題背景課題背景 溫度的精確測(cè)量是工業(yè)生產(chǎn)領(lǐng)域中的一個(gè)經(jīng)典課題,在溫度檢測(cè)系統(tǒng)中,特 別是智能儀表中,測(cè)量變換電路起著非常重要的作用。 設(shè)計(jì)測(cè)量變換電路時(shí),我們是從分析傳感器性能入手,通過(guò)適當(dāng)?shù)难a(bǔ)償,綜 合出一個(gè)較滿足期望指標(biāo)的測(cè)量變換電路來(lái)。 目前,廣泛使用的溫度傳感器有 4 類:熱電阻,熱電偶,熱敏電阻及集成電 路溫度傳感器。本文介紹的檢測(cè)系統(tǒng),采用的是熱電阻元件測(cè)溫。熱電阻具有精 度高,性能穩(wěn)定,互換性好,耐腐蝕及使用方便等一系列優(yōu)點(diǎn),一直是工業(yè)測(cè)控 系統(tǒng)中廣泛使用的一種比較理想的測(cè)溫元件,缺點(diǎn)是不能在高溫環(huán)境中使用1。 使用熱電阻時(shí),必須把它放在測(cè)溫現(xiàn)場(chǎng),因此從測(cè)溫點(diǎn)到測(cè)量變換電路之間 引線較長(zhǎng),即使不計(jì)熱噪電阻,導(dǎo)線自身電阻 r 也相當(dāng)可觀(50100m 時(shí) r410)。與熱電阻變化率相比,顯然,連線電阻對(duì)測(cè)量精度影響很大。當(dāng) 采用模擬開(kāi)關(guān)作多點(diǎn)間的切換測(cè)溫時(shí),由于模擬開(kāi)關(guān)導(dǎo)通電阻有幾十歐姆幾百 歐姆,并且通道間導(dǎo)通電阻相互差有幾歐姆幾十歐姆,這也給測(cè)量電路引入不 可忽視的測(cè)量誤差,熱電阻數(shù)學(xué)模型中的二次非線性項(xiàng)對(duì)測(cè)量精度的影響更是不 言而喻2。 因此,只有消除上述誤差,或是控制在期望指標(biāo)的允許誤差內(nèi)才能設(shè)計(jì)出一 個(gè)比較完好實(shí)用的多點(diǎn)溫度檢測(cè)系統(tǒng)。 1.2 選題意義選題意義 隨著現(xiàn)代信息技術(shù)的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實(shí)現(xiàn),溫度檢測(cè)和顯示 系統(tǒng)已經(jīng)應(yīng)用于諸多領(lǐng)域。傳統(tǒng)的溫度檢測(cè)以熱敏電阻為溫度敏感元件,熱敏電 阻成本低,但需要后續(xù)信號(hào)處理電路,而且熱敏電阻的可靠性相對(duì)較差,測(cè)量溫 度的準(zhǔn)確度低,檢測(cè)系統(tǒng)的精度差。 系統(tǒng)采用是熱電阻元件測(cè)溫,熱電阻具有精度高,性能穩(wěn)定,互換性好,耐 腐蝕及使用方便等一系列優(yōu)點(diǎn),一直是工業(yè)測(cè)控系統(tǒng)中廣泛使用的一種比較理想 的測(cè)溫元件。能對(duì)多點(diǎn)的溫度進(jìn)行實(shí)時(shí)控制巡檢,各檢測(cè)單元能獨(dú)立完成各自功 能,根據(jù)主控機(jī)的指令對(duì)溫度進(jìn)行實(shí)時(shí)或定時(shí)采集。能廣泛用也各種工業(yè)領(lǐng)域, 如:自行車烤漆,糧食的儲(chǔ)存等,所以具有實(shí)用的現(xiàn)實(shí)意義。 2 2 系統(tǒng)設(shè)計(jì)方案的研究系統(tǒng)設(shè)計(jì)方案的研究 2.12.1 系統(tǒng)的性能要求系統(tǒng)的性能要求 設(shè)計(jì)一個(gè)多路溫度監(jiān)測(cè)系統(tǒng),要求檢測(cè)范圍為:0-400,檢測(cè)分辨率為: 0.1,各檢測(cè)器與主控器之間的距離100 米,各顯示器單元可顯示檢測(cè)的溫度 值,設(shè)計(jì)并制作個(gè)檢測(cè)器以及主控器所用的直流穩(wěn)壓電源,由單相 220v 交流電 壓供電。經(jīng)過(guò)改進(jìn)的系統(tǒng)具有較好的快速型與較小的超調(diào),以及數(shù)碼管顯示及測(cè) 量精度提高等。 2.22.2 方案的分析比較方案的分析比較 2.2.12.2.1 測(cè)量部分測(cè)量部分 方案一 采用熱敏電阻,可滿足 4090的測(cè)量范圍,但熱敏電阻精度,重 復(fù)性,可靠性都比較差,對(duì)于檢測(cè)小于 1的溫度信號(hào)是不適用的。 方案二 采用溫度傳感器 ad590。它具有較高的精度和重復(fù)性,相比于熱敏電 阻精度有所提高,但非線性誤差為0.3,且檢測(cè)溫度范圍為:-55+155,不 滿足題目要求。 方案三 采用 pt100。它的國(guó)際測(cè)溫標(biāo)準(zhǔn)為:-40+450,可選環(huán)境溫度為: -4070,精度為:0.1,完全符合要求。且安裝尺寸小,可直接安裝在印 刷電路板上,可焊 sip 封裝3。 方案四 熱電偶是工業(yè)上最常用的溫度檢測(cè)元件之一,其優(yōu)點(diǎn)是測(cè)量精度高、 測(cè)量范圍廣,常用的熱電偶從-50至+1600均可連續(xù)測(cè)量。但需采用電路或軟 件設(shè)計(jì)等修正方法來(lái)補(bǔ)償冷端溫度 t00時(shí)對(duì)測(cè)溫的影響,使用不便。 綜上比較分析,選擇方案三,以便于更好的提高測(cè)量精度。 2 2. .2 2. .2 2多機(jī)遠(yuǎn)程通信部分多機(jī)遠(yuǎn)程通信部分 方案一 一般微機(jī)提供的標(biāo)準(zhǔn)接口為 rs232,它的接口是一種用于近距離(最 大 3060 米)、慢速度、點(diǎn)對(duì)點(diǎn)通訊的通訊協(xié)議,在 rs232 中一個(gè)信號(hào)只用到一 條信號(hào)線,采取與地電壓參考的方式,因而在長(zhǎng)距離傳輸后,發(fā)送端和接收端地 電壓有出入,容易造成通訊出錯(cuò)或速度降低。 方案二 rs485 接口采用不同的方式:每個(gè)信號(hào)都采用雙絞線(兩根信號(hào)線)傳 送,兩條線間的電壓差用于表示數(shù)字信號(hào)。例如把雙絞線中的一根標(biāo)為 a(正), 另一根標(biāo)為 b(負(fù)),當(dāng) a 為正電壓(通常為+5v),b 為負(fù)電壓時(shí)(通常為 0),表示 信號(hào)“1” ;反之,a 為負(fù)電壓,b 為正電壓時(shí)表示信號(hào)“0” 。rs485/422 允許通 訊距離可達(dá)到 1200 米,采用合適的電路可達(dá)到 2.5mb/s 的傳輸速率4。 綜上比較分析,方案二具有更高的精度和測(cè)量距離遠(yuǎn)的優(yōu)勢(shì),選擇方案二。 3 3 系統(tǒng)的設(shè)計(jì)系統(tǒng)的設(shè)計(jì) 3.13.1 框圖框圖 3.1.13.1.1 總體框圖總體框圖 圖 3.1 系統(tǒng)框圖 圖 3.1 為多點(diǎn)溫度檢測(cè)系統(tǒng)的整體框圖,主要由主機(jī)和從機(jī)兩部分構(gòu)成,主 機(jī)和從機(jī)由 rs-485 總線連接,主機(jī)外接鍵盤(pán),顯示器,打印機(jī)和聲光報(bào)警裝置。 3.1.23.1.2 從機(jī)系統(tǒng)框圖從機(jī)系統(tǒng)框圖 圖 3.2 從機(jī)系統(tǒng)框圖 圖 3.2 是從機(jī)系統(tǒng)框圖,溫度檢測(cè)點(diǎn)將采集到的電壓信號(hào)送到傳感器,經(jīng)放 大后送入 a/d 轉(zhuǎn)換芯片轉(zhuǎn)化為數(shù)字量,然后送入單片機(jī)。 3.23.2 從機(jī)部分從機(jī)部分 3.2.13.2.1 溫度信號(hào)的獲取與放大溫度信號(hào)的獲取與放大 (1) 電路的設(shè)計(jì) 熱電阻測(cè)溫是基于金屬導(dǎo)體的電阻值隨溫度的增加而增加這一特性來(lái)進(jìn)行溫 度測(cè)量的。所以通常將其放在電橋橋臂上,溫度變化時(shí),熱電阻兩端的電壓信號(hào) 被送到儀器放大器 ad620 的輸入端,經(jīng)過(guò)儀器放大器放大后的電壓輸出送給 a/d 轉(zhuǎn)換芯片,從而把熱電阻的阻值轉(zhuǎn)換成數(shù)字量。電路原理圖如圖 3.3 所示。 對(duì)信號(hào)放大,我們使用了低價(jià)格、高精度的儀器放大器 ad620,它運(yùn)用方便, 可以通過(guò)外接電阻方便的進(jìn)行各種增益(1-1000)的調(diào)整。其增益計(jì)算公式為: r k a 4 . 49 1 圖 3.3 熱電阻測(cè)溫電路原理圖 (2)溫度值計(jì)算過(guò)程: 由于 a/d 檢測(cè)到的模擬電壓值,計(jì)算可到的 rta rr r rr r u t t 2)( 32 2 1 值,然后利用如下公式求出溫度值: 2 3 1btat r rt 其中, 5 7 10096847 . 3 a 3 10847 . 5 b 實(shí)際測(cè)量中,為提高測(cè)量精度,我們分兩擋進(jìn)行測(cè)量,當(dāng)溫度處于 0210時(shí),繼電器 j2 所在橋臂電阻為,繼電器 j1 選擇 ad620 的反饋電 23 r 阻 r5,溫度處于 195400時(shí),控制繼電器 j2 將電阻 r31串接上,并相應(yīng)控 制繼電器 j1 選擇 r6做為 ad620 的反饋電阻,在切換橋臂電阻時(shí)同步改變放大倍 數(shù),從而達(dá)到自動(dòng)改變量程6,提高測(cè)量精度的目的。 (3) 所用器件的介紹 pt100: pt100 的國(guó)際測(cè)溫標(biāo)準(zhǔn)為:-40+450,可選環(huán)境溫度為:-4070, 精度為:0.1,完全符合要求。且安裝尺寸小,可直接安裝在印刷電路板上, 可焊 sip 封裝。 3.3.23.3.2 模數(shù)轉(zhuǎn)換單元模數(shù)轉(zhuǎn)換單元 (1) 電路的設(shè)計(jì) a/d轉(zhuǎn)換的好與壞直接關(guān)系到整個(gè)系統(tǒng)的精確度,題目要求分辨率達(dá)到0.1, 由于本系統(tǒng)測(cè)量的是溫度信號(hào),響應(yīng)時(shí)間長(zhǎng),滯后大,不要求快速轉(zhuǎn)換,因此選 用12位串行admax186。max186是美國(guó)maxim公司設(shè)計(jì)的12位串行a/d 轉(zhuǎn)換器,其內(nèi)部集成了大帶寬跟蹤/保持電路和串行接口,轉(zhuǎn)換速率高且功耗低, 特別適合對(duì)體積,功耗和精度有較高要求的便攜式智能化儀器儀表產(chǎn)品。 max186 具有 12 位的分辨力,其基準(zhǔn)電壓為 4.096v,故最小分辨電壓為 ,能分辨的最小溫度變化為,能達(dá)到題目v001 . 0 2 096 . 4 12 cv0976 . 0 001 . 0 2 400 12 的基本要求。為進(jìn)一步提高精度,可以直接采用 16 位 ad 轉(zhuǎn)換器,也可以采用 過(guò)采樣和求均值技術(shù)來(lái)提高測(cè)量分辨率7。系統(tǒng)采用了后一種方法。 所謂過(guò)采樣技術(shù)是指以高于奈奎斯特頻率的采樣頻率進(jìn)行采樣,也就是說(shuō)當(dāng) adc 以高于系統(tǒng)所需采樣頻率 fs的速率對(duì)信號(hào)采樣時(shí),能增加有效位數(shù)。每增 加一位分辨率,信號(hào)必須被以 4 倍的速率過(guò)采樣,即 s w os ff 4 其中 w希望增加的分辨率位數(shù); fs初始采樣頻率要求; fos過(guò)采樣頻率。 圖 3.4 模數(shù)轉(zhuǎn)換電路原理圖 假設(shè)每秒鐘輸出一個(gè)溫度值(1hz) 。為了將測(cè)量分辨率增加到 16 位,按下 式計(jì)算過(guò)采樣頻率,即: hzhzfos256)( 144 因此,如果以 fs=256hz 的采樣頻率對(duì)溫度信號(hào)進(jìn)行采樣,則將在所要求的 采樣周期內(nèi)采集到足夠的樣本,對(duì)這些樣本求均值便可得到 16 位的輸出數(shù)據(jù)。 為此,先累加(將 256 個(gè)連續(xù)樣本加在一起) ,然后將總和除以 16。這樣得到的 結(jié)果便是 16 位的有效數(shù)據(jù),增加了 4 位有效數(shù)據(jù)。 用過(guò)采樣和求均值技術(shù)后,新的 ad 分辨率計(jì)算如下: 最小分辨電壓=mv625 . 0 2 096 . 4 16 這樣,可以測(cè)量的最小溫度變化為,在采用過(guò)cv0061 . 0 0000625 . 0 2 400 16 采樣和求均值技術(shù)的情況下,用同一個(gè) 12 位 adc 可以測(cè)量的最小溫度變化為 0.0061,就允許了以高于 8的精度對(duì)溫度進(jìn)行測(cè)量。 c 100 1 另外,為了減小工頻信號(hào)引起的誤差,我們?cè)O(shè)計(jì)了在 40ms(20ms 的兩倍) 時(shí)間內(nèi)采樣,然后再取平均值,將工頻信號(hào)誤差濾除。 (2) 所用器件的介紹 max186:max186 是美信公司推出的 12 位 ad 轉(zhuǎn)換芯片,內(nèi)部含有采樣 保持電路,單 5 v 操作電源,轉(zhuǎn)換速度為 85s,具有片上 4096 v 參考電壓, 模擬量輸入范圍為 0vbef。三線串行接口,兼容 spi,qspi,microwire 總線, 設(shè)計(jì)精巧,工作速度快。小巧的封裝體積適合在傳感器中使用。 max186 有 8 個(gè)引腳,引腳 1:+5v 電源。引腳 2:模擬量輸入,范圍 0vbef 。引腳 3:操作模式選擇,低電平為休眠模式。正常操作模式為高電平或 懸空。高電平時(shí)使用內(nèi)部參考,懸空時(shí)禁止內(nèi)部參考。引腳 4:參考電壓,內(nèi)部 參考為 4.096v,使用內(nèi)部參考時(shí)此引腳對(duì)地接一個(gè) 4.7f,電容,使用外部參考 時(shí),接 2.5vvdd 的基準(zhǔn)電壓。引腳 5:接地。引腳 6:數(shù)據(jù)輸出。引腳 7:片 選。引腳 8:時(shí)鐘,最高為 5mhz. max186 用采樣保持電路和逐位比較寄存器將輸入的模擬信號(hào)轉(zhuǎn)換為 12 位 的數(shù)字信號(hào),其采樣保持電路不需要外接電容。max186 有 2 種操作模式:正常 模式和休眠模式,將置為低電平進(jìn)入休眠模式,這時(shí)的電流消耗降到 10a 以下。置為高電平或懸空進(jìn)入正常操作模式。 使用內(nèi)參考時(shí),在電源開(kāi)啟后,經(jīng)過(guò) 20 ms 后參考引腳的 47f 電容充電 完成,可進(jìn)行正常的轉(zhuǎn)換操作。a/d 轉(zhuǎn)換的工作過(guò)程是:當(dāng)為低電平時(shí),在下 降沿 max186 的 th 電路進(jìn)入保持狀態(tài),并開(kāi)始轉(zhuǎn)換,8.5s 后 dout 輸出為高 電平作為轉(zhuǎn)換完成標(biāo)志。這時(shí)可在 sclk 端輸入一串脈沖將結(jié)果從 dout 端移出, 讀入單片機(jī)中處理。數(shù)據(jù)讀取完成后將置為高電平。要注意的是:在置為 低電平啟動(dòng) a/d 轉(zhuǎn)換后,檢測(cè)到 dout 有效(或者延時(shí) 8.5s 以上),才能發(fā) sclk 移位脈沖讀數(shù)據(jù),sclk 至少為 13 個(gè)9。發(fā)完脈沖后應(yīng)將置為高電平。 3.3.3 信號(hào)處理和顯示單元信號(hào)處理和顯示單元 (1) 電路的設(shè)計(jì) 圖 3.5 從機(jī)單片機(jī)部分原理圖 信號(hào)處理及顯示單元采用 8051 單片機(jī)作為信息處理單元,它是從機(jī)的核心 器件,對(duì)傳感器采集來(lái)的數(shù)字信號(hào)進(jìn)行處理,轉(zhuǎn)換成相應(yīng)的溫度信號(hào),送液晶進(jìn) 行顯示。而且從機(jī)能夠通過(guò)通訊電路將測(cè)量數(shù)據(jù)上傳,接收主機(jī)數(shù)據(jù)(包括系統(tǒng) 時(shí)間信息、修正值和報(bào)警上下限)進(jìn)行自身信息設(shè)置。 (2) 器件的介紹 mcs-51:mcs-51 單片機(jī)是美國(guó) inte 公司于 1980 年推出的產(chǎn)品,與 mcs- 48 單片機(jī)相比,它的結(jié)構(gòu)更先進(jìn),功能更強(qiáng),在原來(lái)的基礎(chǔ)上增加了更多的電路 單元和指令,指令數(shù)達(dá) 111 條,mcs-51 單片機(jī)可以算是相當(dāng)成功的產(chǎn)品10,一直 到現(xiàn)在,mcs-51 系列或其兼容的單片機(jī)仍是應(yīng)用的主流產(chǎn)品。 mcs-51 系列單片機(jī)主要包括 8031、8051 和 8751 等通用產(chǎn)品,其主要功能 如下: 8 位 cpu 4kbytes 程序存儲(chǔ)器(rom) 128bytes 的數(shù)據(jù)存儲(chǔ)器(ram) 32 條 i/o 口線 111 條指令,大部分為單字節(jié)指令 21 個(gè)專用寄存器 2 個(gè)可編程定時(shí)/計(jì)數(shù)器 5 個(gè)中斷源,2 個(gè)優(yōu)先級(jí) 一個(gè)全雙工串行通信口 外部數(shù)據(jù)存儲(chǔ)器尋址空間為 64kb 外部程序存儲(chǔ)器尋址空間為 64kb 邏輯操作位尋址功能 雙列直插 40pindip 封裝11 單一+5v 電源供電 mcs-51 以其典型的結(jié)構(gòu)和完善的總線專用寄存器的集中管理,眾多的邏輯 位操作功能及面向控制的豐富的指令系統(tǒng),堪稱為一代“名機(jī)”,為以后的其它單 片機(jī)的發(fā)展奠定了基礎(chǔ)。正因?yàn)槠鋬?yōu)越的性能和完善的結(jié)構(gòu),導(dǎo)致后來(lái)的許多廠 商多沿用或參考了其體系結(jié)構(gòu),有許多世界大的電氣商豐富和發(fā)展了 mcs-51 單 片機(jī),象 philips,dallas,atmel 等著名的半導(dǎo)體公司都推出了兼容 mcs-51 的單片機(jī)產(chǎn)品,就連我國(guó)的臺(tái)灣 winbond 公司也發(fā)展了兼容 c51(人們習(xí)慣將 mcs-51 簡(jiǎn)稱 c51,如果沒(méi)有特別聲明,二者同指 mcs-51 系列單片機(jī))的單片品種。 近年來(lái) c51 獲得了飛速的發(fā)展,c51 的發(fā)源公司 intel 由于忙于開(kāi)發(fā) pc 及高端 微處理器而無(wú)精力繼續(xù)發(fā)展自己的單片機(jī),而由其它廠商將其發(fā)展,最典型的是 philips 和 atml 公司,philips 公司主要是改善其性能,在原來(lái)的基礎(chǔ)上發(fā)展 了高速 i/o 口,a/d 轉(zhuǎn)換器,pwm(脈寬調(diào)制),wdt 等增強(qiáng)功能,并在低電壓 微功耗,擴(kuò)展串行總線(i2c)和控制網(wǎng)絡(luò)總線(can)等功能加以完善12。 a 輸入輸出口 8051 有 4 組 8 位 i/o 口:p0、p1、p2 和 p3 口,p1、p2 和 p3 為準(zhǔn)雙向口, p0 口則為雙向三態(tài)輸入輸出口,下面我們分別介紹這幾個(gè)口線: p0 口和 p2 口: 電路中包含一個(gè)數(shù)據(jù)輸出鎖存器和兩個(gè)三態(tài)數(shù)據(jù)輸入緩沖器,另外還有一個(gè) 數(shù)據(jù)輸出的驅(qū)動(dòng)和控制電路。這兩組口線用來(lái)作為 cpu 與外部數(shù)據(jù)存儲(chǔ)器、外 部程序存儲(chǔ)器和 i/o 擴(kuò)展口,而不能象 p1、p3 直接用作輸出口。它們一起可以 作為外部地址總線,p0 口身兼兩職,既可作為地址總線,也可作為數(shù)據(jù)總線。 p2 口作為外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器的地址總線的高 8 位輸出口 ab8- ab15,p0 口由 ale 選通作為地址總線的低 8 位輸出口 ab0-ab7。外部的程序 存儲(chǔ)器由 psen 信號(hào)選通,數(shù)據(jù)存儲(chǔ)器則由 wr 和 rd 讀寫(xiě)信號(hào)選通,因?yàn)?216=64k,所以 8051 最大可外接 64kb 的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。 p1 口: p1 口為 8 位準(zhǔn)雙向口,每一位均可單獨(dú)定義為輸入或輸出口,當(dāng)作為輸入 口時(shí),1 寫(xiě)入鎖存器,q(非)=0,t2 截止,內(nèi)上拉電阻將電位拉至“1“,此時(shí)該口 輸出為 1,當(dāng) 0 寫(xiě)入鎖存器,q(非)=1,t2 導(dǎo)通,輸出則為 0。作為輸入口時(shí),鎖 存器置 1,q(非)=0,t2 截止,此時(shí)該位既可以把外部電路拉成低電平,也可由 內(nèi)部上拉電阻拉成高電平,正因?yàn)檫@個(gè)原因,所以 p1 口常稱為準(zhǔn)雙向口。需要 說(shuō)明的是,作為輸入口使用時(shí),有兩種情況,其一是:首先是讀鎖存器的內(nèi)容, 進(jìn)行處理后再寫(xiě)到鎖存器中,這種操作即讀修改寫(xiě)操作,象 jbc(邏輯判斷)、 cpl(取反)、inc(遞增)、dec(遞減)、anl(與邏輯)和 orl(邏輯或)指令均屬于這 類操作。其二是:讀 p1 口線狀態(tài)時(shí),打開(kāi)三態(tài)門(mén) g2,將外部狀態(tài)讀入 cpu。 b mcs-51的串行通信口 mcs-51 單片機(jī)內(nèi)部有一個(gè)全雙工的串行通信口,即串行接收和發(fā)送緩沖器 (sbuf) ,這兩個(gè)在物理上獨(dú)立的接收發(fā)送器,既可以接收數(shù)據(jù)也可以發(fā)送數(shù)據(jù)。 但接收緩沖器只能讀出不能寫(xiě)入,而發(fā)送緩沖器則只能寫(xiě)入不能讀出,它們的地 址為 99h。這個(gè)通信口既可以用于網(wǎng)絡(luò)通信,亦可實(shí)現(xiàn)串行異步通信,還可以構(gòu) 成同步移位寄存器使用。如果在傳行口的輸入輸出引腳上加上電平轉(zhuǎn)換器,就可 方便地構(gòu)成標(biāo)準(zhǔn)的 rs-232 接口13。下面我們分別介紹。 基本概念 數(shù)據(jù)通信的傳輸方式有單工,半雙工,全雙工和多工方式。 單工方式:數(shù)據(jù)僅按一個(gè)固定方向傳送。因而這種傳輸方式的用途有限,常 用于串行口的打印數(shù)據(jù)傳輸與簡(jiǎn)單系統(tǒng)間的數(shù)據(jù)采集。 半雙工方式:數(shù)據(jù)可實(shí)現(xiàn)雙向傳送,但不能同時(shí)進(jìn)行,實(shí)際的應(yīng)用采用某種 協(xié)議實(shí)現(xiàn)收/發(fā)開(kāi)關(guān)轉(zhuǎn)換。 全雙工方式:允許雙方同時(shí)進(jìn)行數(shù)據(jù)雙向傳送,但一般全雙工傳輸方式的線路 和設(shè)備較復(fù)雜。 多工方式:以上三種傳輸方式都是用同一線路傳輸一種頻率信號(hào),為了充分 地利用線路資源,可通過(guò)使用多路復(fù)用器或多路集線器,采用頻分,時(shí)分或碼分 復(fù)用技術(shù),即可實(shí)現(xiàn)在同一線路上資源共享功能,我們盛之為多工傳輸方式。 串行數(shù)據(jù)通信兩種形式。 異步通信 在這種通信方式中,接收器和發(fā)送器有各自的時(shí)鐘,它們的工作是非同步的, 異步通信用一幀來(lái)表示一個(gè)字符,其內(nèi)容如下:一個(gè)起始位,僅接著是若干個(gè)數(shù) 據(jù)位。 同步通信 同步通信格式中,發(fā)送器和接收器由同一個(gè)時(shí)鐘源控制,為了克服在異步通 信中,每傳輸一幀字符都必須加上起始位和停止位,占用了傳輸時(shí)間,在要求傳 送數(shù)據(jù)量較大的場(chǎng)合,速度就慢得多。同步傳輸方式去掉了這些起始位和停止位, 只在傳輸數(shù)據(jù)塊時(shí)先送出一個(gè)同步頭(字符)標(biāo)志即可14。 同步傳輸方式比異 步傳輸方式速度快,這是它的優(yōu)勢(shì)。但同步傳輸方式也有其缺點(diǎn),即它必須要用 一個(gè)時(shí)鐘來(lái)協(xié)調(diào)收發(fā)器的工作,所以它的設(shè)備也較復(fù)雜。 串行數(shù)據(jù)通信的傳輸速率。 串行數(shù)據(jù)傳輸速率有兩個(gè)概念,即每秒轉(zhuǎn)送的位數(shù) bps(bit per second)和 每秒符號(hào)數(shù)波特率(band rate) ,在具有調(diào)制解調(diào)器的通信中,波特率與調(diào)制 速率有關(guān)。 mcs-51 的串行口和控制寄存器 串行口控制寄存器 mcs-51 單片機(jī)串行口寄存器結(jié)構(gòu)如圖 3.6 所示。sbuf 為串行口的收發(fā)緩沖 器,它是一個(gè)可尋址的專用寄存器,其中包含了接收器和發(fā)送器寄存器,可以實(shí) 現(xiàn)全雙工通信。但這兩個(gè)寄存器具有同一地址(99h) 。mcs-51 的串行數(shù)據(jù)傳輸 很簡(jiǎn)單,只要向發(fā)送緩沖器寫(xiě)入數(shù)據(jù)即可發(fā)送數(shù)據(jù)。而從接收緩沖器讀出數(shù)據(jù)即 可接收數(shù)據(jù)15。此外,接收緩沖器前還加上一級(jí)輸入移位寄存器,mcs-51 這種 結(jié)構(gòu)目的在于接收數(shù)據(jù)時(shí)避免發(fā)生數(shù)據(jù)幀重疊現(xiàn)象,以免出錯(cuò),部分文獻(xiàn)稱這種 結(jié)構(gòu)為雙緩沖器結(jié)構(gòu)。而發(fā)送數(shù)據(jù)時(shí)就不需要這樣設(shè)置,因?yàn)榘l(fā)送時(shí),cpu 是主 動(dòng)的,不可能出現(xiàn)這種現(xiàn)象。 圖 3.6 mcs-51 串行口寄存器結(jié)構(gòu) 串行通信控制寄存器 scon 控制寄存器是一個(gè)可尋址的專用寄存器,用于串行數(shù)據(jù)的通信控制, 單元地址是 98h,其結(jié)構(gòu)格式如表 3.1: 表 3.1 scon 寄存器結(jié)構(gòu) d7d6d5d4d3d2d1d0 scon sm0sm1sm2rentb8rb8tiri 位地址9fh9eh8dh9ch9bh9ah99h98h 下面我們對(duì)各控制位功能介紹如下: a sm0、sm1:串行口工作方式控制位。 sm0,sm1 工作方式 00方式 0 01方式 1 10方式 2 11 方式 3 b sm2:多機(jī)通信控制位。 多機(jī)通信是工作于方式 2 和方式 3,sm2 位主要用于方式 2 和方式 3。接收 狀態(tài),當(dāng)串行口工作于方式 2 或 3,以及 sm2=1 時(shí),只有當(dāng)接收到第 9 位數(shù)據(jù) (rb8)為 1 時(shí),才把接收到的前 8 位數(shù)據(jù)送入 sbuf,且置位 ri 發(fā)出中斷申請(qǐng), 否則會(huì)將接受到的數(shù)據(jù)放棄16。當(dāng) sm2=0 時(shí),就不管第位數(shù)據(jù)是 0 還是 1,都 難得數(shù)據(jù)送入 sbuf,并發(fā)出中斷申請(qǐng)。工作于方式 0 時(shí),sm2 必須為 0。 c ren:允許接收位。 ren 用于控制數(shù)據(jù)接收的允許和禁止,ren=1 時(shí),允許接收,ren=0 時(shí), 禁止接收。 d tb8:發(fā)送接收數(shù)據(jù)位 8。 在方式 2 和方式 3 中,tb8 是要發(fā)送的即第 9 位數(shù)據(jù)位。在多機(jī)通信中 同樣亦要傳輸這一位,并且它代表傳輸?shù)牡刂愤€是數(shù)據(jù),tb8=0 為數(shù)據(jù),tb8=1 時(shí)為地址。 e rb8:接收數(shù)據(jù)位 8。 在方式 2 和方式 3 中,rb8 存放接收到的第 9 位數(shù)據(jù),用以識(shí)別接收到的數(shù) 據(jù)特征。 f ti:發(fā)送中斷標(biāo)志位。 可尋址標(biāo)志位。方式 0 時(shí),發(fā)送完第 8 位數(shù)據(jù)后,由硬件置位,其它方式下, 在發(fā)送或停止位之前由硬件置位,因此,ti=1 表示幀發(fā)送結(jié)束,ti 可由軟件清 “0”。 g ri:接收中斷標(biāo)志位。 可尋址標(biāo)志位。接收完第 8 位數(shù)據(jù)后,該位由硬件置位,在其他工作方式下, 該位由硬件置位,ri=1 表示幀接收完成。 電源管理寄存器 pcon pcon 主要是為 chmos 型單片機(jī)的電源控制而設(shè)置的專用寄存器,單元地址是 87h,其結(jié)構(gòu)格式如表 3.2: 表 3.2 pcon 電源管理寄存器結(jié)構(gòu) pcond7d6d5d4d3d2d1d0 位符號(hào)smod-gf1gf0pdidl 在 chmos 型單片機(jī)中,除 smod 位外,其他位均為虛設(shè)的,smod 是串 行口波特率倍增位,當(dāng) smod=1 時(shí),串行口波特率加倍。系統(tǒng)復(fù)位默認(rèn)為 smod=0。 中斷允許寄存器 ie17。 es 為串行中斷允許控制位,es=1 允許串行中斷,es=0,禁止串行中斷。 表 3.3 ie 中斷允許控制寄存器結(jié)構(gòu) 位符號(hào)ea-eset1ex1et0ex0 位地址afhaehadhachabhaaha9ha8h 3.3.43.3.4 聲光報(bào)警部分聲光報(bào)警部分 溫度檢測(cè)系統(tǒng)多有聲光報(bào)警功能,當(dāng)檢測(cè)溫度超過(guò)上下限時(shí),進(jìn)行聲光提示。 本系統(tǒng)在從機(jī)和主機(jī)部分均設(shè)計(jì)了報(bào)警電路。各從機(jī)的報(bào)警上下限由主機(jī)預(yù)置, 從機(jī)實(shí)時(shí)監(jiān)測(cè)的過(guò)程中,一旦發(fā)現(xiàn)檢測(cè)溫度值連續(xù)超出閾值范圍,便啟動(dòng)自身報(bào) 警電路,同時(shí)向主控機(jī)發(fā)送報(bào)警信號(hào)18。報(bào)警電路原理如下所示: 圖 3.7 聲光報(bào)警電路原理圖 3.43.4 通訊部分通訊部分 3.4.13.4.1 電路設(shè)計(jì)電路設(shè)計(jì) 由于單片機(jī)串行口輸出的是 ttl 電平,要想實(shí)現(xiàn)多機(jī)通訊,必須要將其轉(zhuǎn)換 成常用的串行通信總線標(biāo)準(zhǔn)接口電平,如 rs-232 或 rs-485。 其中 rs-232 適于短距離或帶調(diào)制解調(diào)器的通信場(chǎng)合,其邏輯電平與 ttl、mos 邏輯電平完全不同,需要用 max232 驅(qū)動(dòng)芯片進(jìn)行電平轉(zhuǎn)換。其主要缺 點(diǎn)是數(shù)據(jù)傳輸速率慢、傳送距離短(不超過(guò) 30m) ,抗干擾能力差,不能滿足題目 的要求。rs-485 標(biāo)準(zhǔn)接口為差分驅(qū)動(dòng)結(jié)構(gòu),它通過(guò)傳輸線驅(qū)動(dòng)器把邏輯電平變換 為電位差,完成信號(hào)的傳遞,具有傳輸速率快、傳送距離長(zhǎng)(可傳 1200m) 、抗干 擾能力強(qiáng)等優(yōu)點(diǎn),允許一對(duì)雙絞線上一個(gè)發(fā)送器驅(qū)動(dòng)多個(gè)負(fù)載設(shè)備。所以系統(tǒng)使 用 rs-485 總線進(jìn)行傳輸,采用 sn75176 驅(qū)動(dòng)芯片進(jìn)行電平轉(zhuǎn)換。 圖 3.8 sn75176 芯片及其邏輯關(guān)系 3.4.23.4.2 多機(jī)系統(tǒng)多機(jī)系統(tǒng) 多機(jī)系統(tǒng)是指由多臺(tái)計(jì)算機(jī)組成的系統(tǒng)。多機(jī)系統(tǒng)的結(jié)構(gòu)有很多種,如果從 系統(tǒng)中各臺(tái)計(jì)算機(jī)的關(guān)系上分,可分為緊密耦合型和松散耦合型兩類。 在緊密耦合的多機(jī)系統(tǒng)中,各臺(tái)計(jì)算機(jī)之間的聯(lián)系緊密,一般情況下他們通 過(guò)總線(包括公共存儲(chǔ)器)進(jìn)行頻繁的信息交換,并在一個(gè)總的操作系統(tǒng)分布 式操作系統(tǒng)的控制下協(xié)調(diào)地工作。 在松散耦合的多機(jī)系統(tǒng)中,計(jì)算機(jī)之間的聯(lián)系較少,每一臺(tái)計(jì)算機(jī)都有獨(dú)立 的存貯器,并在各自的操作系統(tǒng)下獨(dú)立地工作。計(jì)算機(jī)之間通過(guò)通訊來(lái)協(xié)同工作。 這類多機(jī)系統(tǒng)又可分為分布式和主從式兩類19。分布式多機(jī)系統(tǒng)中,各臺(tái)計(jì)算機(jī) 具有平等的地位和相似的結(jié)構(gòu)。主從式多機(jī)系統(tǒng)中,有一臺(tái)功能較強(qiáng)的主計(jì)算機(jī) 和若干臺(tái)結(jié)構(gòu)相似的從計(jì)算機(jī)。我們采用主從式系統(tǒng)完成本設(shè)計(jì)。 在主從式多機(jī)系統(tǒng)中,計(jì)算機(jī)之間的通信由主機(jī)控制。主機(jī)主動(dòng)和從機(jī)聯(lián)絡(luò) 通信,向從機(jī)發(fā)出各種命令,如設(shè)計(jì)從機(jī)的工作參數(shù),修改從機(jī)的實(shí)時(shí)時(shí)鐘,詢 問(wèn)從機(jī)的狀態(tài),收集從機(jī)的數(shù)據(jù)等。而從機(jī)不能主動(dòng)向主機(jī)或其他從機(jī)進(jìn)行通訊 聯(lián)系,他只有在主機(jī)向它發(fā)出命令時(shí)才做出相應(yīng),向主機(jī)回送信息。因此主計(jì)算 機(jī)處于主導(dǎo)地位,而從計(jì)算機(jī)處于處于從屬地位20。 在主從式多機(jī)系統(tǒng)中,主機(jī)的功能往往是監(jiān)視各從機(jī)的工作,定時(shí)收集各個(gè) 從機(jī)的實(shí)時(shí)數(shù)據(jù)信息并將收集到的數(shù)據(jù)信息進(jìn)行處理、存檔、格式化顯示和打印 等。同時(shí),操作人員通過(guò)人-機(jī)通訊,在主機(jī)上查詢從機(jī)的狀態(tài),診斷系統(tǒng)中各 個(gè)從機(jī)是否出現(xiàn)故障,以便系統(tǒng)維護(hù)。從機(jī)的功能一般是進(jìn)行現(xiàn)場(chǎng)數(shù)據(jù)信息的采 集、計(jì)算和對(duì)現(xiàn)場(chǎng)的控制,從機(jī)自動(dòng)完成對(duì)各要素的定時(shí)采樣和計(jì)算,在接到主 機(jī)的命令時(shí)將結(jié)果送給主機(jī)。 3.4.33.4.3 主從式多機(jī)系統(tǒng)設(shè)計(jì)要點(diǎn)主從式多機(jī)系統(tǒng)設(shè)計(jì)要點(diǎn) 在設(shè)計(jì)主從式多機(jī)系統(tǒng)時(shí),除了掌握單片及應(yīng)用系統(tǒng)的設(shè)計(jì)方法外,還必須 注意以下幾個(gè)方面: 機(jī)和從機(jī)的功能劃分 在設(shè)計(jì)一個(gè)多機(jī)系統(tǒng)時(shí),應(yīng)著眼于整個(gè)系統(tǒng)的功能,設(shè)法提高整個(gè)系統(tǒng)的性 能價(jià)格比,因此合理規(guī)定主機(jī)和從機(jī)的功能是十分重要的。 系統(tǒng)的有些功能,例如數(shù)據(jù)的計(jì)算分析,可以由各個(gè)從機(jī)來(lái)完成,只把結(jié)果 送給主機(jī),也可以把原始數(shù)據(jù)直接送給主機(jī),由主機(jī)處理。這兩種方法對(duì)中央處 理機(jī)的工作時(shí)間、存儲(chǔ)器的容量以及主機(jī)和從機(jī)之間需傳送的信息量會(huì)產(chǎn)生影響。 在確定主從機(jī)功能的同時(shí),應(yīng)從系統(tǒng)的實(shí)時(shí)行要求,主機(jī)和從機(jī)的工作量,主從 機(jī)之間的距離和現(xiàn)場(chǎng)操作需求來(lái)考慮。 通訊方式 多機(jī)系統(tǒng)和單機(jī)系統(tǒng)在硬件上的最大不同是需要通訊口。通訊可采用各種方 法來(lái)實(shí)現(xiàn),對(duì)于距離在幾米以上的系統(tǒng),一般均采用串行通訊。它又分為同步和 異步兩種方式,前者速度快,通訊距離較近,后者速度慢,但通訊距離遠(yuǎn)。一般 的工業(yè)控制和數(shù)據(jù)采集系統(tǒng),在數(shù)據(jù)傳輸量不大的情況下,采用異步方式比較方 便21。通訊的物理物理媒介也有許多種,如采用無(wú)線電通訊或電話線通訊,這是 一般采用異步方式,并應(yīng)加入調(diào)制解調(diào)器,它的通訊距離最遠(yuǎn)可達(dá)幾十公里以上; 如果采用電纜通訊,可采用 rs 232 或 rs-422、rs-456 等方式,后二者可采用 一般的雙絞線進(jìn)行通訊,具有傳輸距離遠(yuǎn)、抗干擾能力強(qiáng)等優(yōu)點(diǎn),在通訊距離較 遠(yuǎn)時(shí),應(yīng)采用 rs-485 等接口方式 主機(jī)選擇 多機(jī)系統(tǒng)的主機(jī)應(yīng)根據(jù)應(yīng)用要求和現(xiàn)有條件來(lái)選擇。如果該系統(tǒng)需要有外部 存儲(chǔ)設(shè)備以存儲(chǔ)各種數(shù)據(jù)時(shí),應(yīng)采用由磁盤(pán)驅(qū)動(dòng)器地主機(jī),特別是在存儲(chǔ)數(shù)據(jù)量 較大時(shí),應(yīng)采用由硬盤(pán)的主機(jī)。如果主機(jī)需執(zhí)行較多的實(shí)時(shí)控制功能,則應(yīng)選擇 可配備實(shí)時(shí)操作系統(tǒng)的主機(jī)。一般情況下,可采用等通用的個(gè)人計(jì)算機(jī)。由于一 般的個(gè)人計(jì)算機(jī)配有串行接口,如果主從機(jī)采用通訊時(shí),應(yīng)該再加入通訊處理機(jī), 它與主機(jī)用相連,與各從機(jī)用同步通訊方式相連。 通訊規(guī)程選擇 這里的通訊規(guī)程主要是指主機(jī)之間的通訊約定,它包括從機(jī)尋址方式、通訊 檢驗(yàn)及通訊應(yīng)答等方式等。一般主機(jī)和多臺(tái)從機(jī)通訊時(shí),只使用一套公共的的通 訊線路,主機(jī)應(yīng)能和指定的任何一個(gè)從機(jī)通訊,也能向全部從機(jī)發(fā)命令。因?yàn)橐?臺(tái)主機(jī)只能和一臺(tái)從機(jī)通訊,所以有一個(gè)怎樣尋址從機(jī)的問(wèn)題。對(duì) mcs-51 單片 機(jī),它們的串行口由主從機(jī)通訊方式,允許發(fā)送地址或數(shù)據(jù)。但是如果通訊距離 較遠(yuǎn)或現(xiàn)場(chǎng)有干擾時(shí),就不宜采用此方法。因?yàn)?mcs-51 等的主從機(jī)通訊方式中, 地址與數(shù)據(jù)的區(qū)別只是發(fā)送的最后一位不同,如果有干擾改變了了這位的狀態(tài), 會(huì)打亂整個(gè)系統(tǒng)的運(yùn)行22。這是可采用在命令中增加幾位地址地方法。在有干擾 時(shí),主從機(jī)通訊應(yīng)加入檢驗(yàn),對(duì)異步通訊,可采用字符或字節(jié)的奇偶校驗(yàn)加上一 幀信息的累加和校驗(yàn)。 從機(jī)設(shè)計(jì)方法 從機(jī)是一個(gè)獨(dú)立地控制器或數(shù)據(jù)采集裝置,它的設(shè)計(jì)方法基本上與一般的單 片機(jī)系統(tǒng)相同,只是需增加通訊口硬件和通訊處理軟件。為了減少通訊量,從機(jī) 常用于完成對(duì)一個(gè)子系統(tǒng)的控制或數(shù)據(jù)采集。每臺(tái)從機(jī)所需完成地功能一般比較 多,而且是綜合性地,這是它的結(jié)構(gòu)比較復(fù)雜,再加上通訊處理軟件需與控制或 數(shù)據(jù)采集并行進(jìn)行,所以在多機(jī)系統(tǒng)的從機(jī)中,應(yīng)該配備實(shí)時(shí)多任務(wù)操作系統(tǒng)。 3.4.43.4.4 rsrs485485 方式構(gòu)成的多機(jī)通信原理方式構(gòu)成的多機(jī)通信原理 在由單片機(jī)構(gòu)成的多機(jī)串行通信系統(tǒng)中,一般采用主從式結(jié)構(gòu):從機(jī)不主動(dòng) 發(fā)送命令或數(shù)據(jù),一切都由主機(jī)控制。并且在一個(gè)多機(jī)通信系統(tǒng)中,只有一臺(tái)單 機(jī)作為主機(jī),各臺(tái)從機(jī)之間不能相互通訊,即使有信息交換也必須通過(guò)主機(jī)轉(zhuǎn)發(fā)。 采用 rs485 構(gòu)成的多機(jī)通訊原理框圖,如圖 3.9 所示。 圖 3.9 采用 rs485 構(gòu)成的多機(jī)通訊原理框圖 在總線末端接一個(gè)匹配電阻,吸收總線上的反射信號(hào),保證正常傳輸信號(hào)干 凈,無(wú)毛刺。匹配電阻的取值應(yīng)該與總線的特性阻抗相當(dāng)。 當(dāng)總線上沒(méi)有信號(hào)傳輸時(shí),總線處于懸浮狀態(tài),容易受干擾信號(hào)的影響。將 總線上差分信號(hào)的正端 a+和+5 電源間接一個(gè) 10k 的電阻;正端 a+和負(fù)端 b-間 接一個(gè) 10k 的電阻;負(fù)端 b-和地間接一個(gè) 10k 的電阻,形成一個(gè)電阻網(wǎng)絡(luò)。當(dāng) 總線上沒(méi)有信號(hào)傳輸時(shí),正端 a+的電平大約為 3.2v,負(fù)端 b-的電平大約為 1.6v,即使有干擾信號(hào),卻很難產(chǎn)生串行通信的起始信號(hào) 0,從而增加了總線抗 干擾的能力。 通信規(guī)則 由于 rs485 通訊是一種半雙工通訊,發(fā)送和接收共用同一物理信道。在任 意時(shí)刻只允許一臺(tái)單機(jī)處于發(fā)送狀態(tài)。因此要求應(yīng)答的單機(jī)必須在偵聽(tīng)到總線上 呼叫信號(hào)已經(jīng)發(fā)送完畢,并且沒(méi)有其它單機(jī)發(fā)出應(yīng)答信號(hào)的情況下,才能應(yīng)答。 半雙工通訊對(duì)主機(jī)和從機(jī)的發(fā)送和接收時(shí)序有嚴(yán)格的要求。如果在時(shí)序上配合不 好,就會(huì)發(fā)生總線沖突,使整個(gè)系統(tǒng)的通訊癱瘓,無(wú)法正常工作。要做到總線上 的設(shè)備在時(shí)序上的嚴(yán)格配合,必須要遵從以下幾項(xiàng)原則: 復(fù)位時(shí),主從機(jī)都應(yīng)該處于接收狀態(tài)。sn75176 芯片的發(fā)送和接收功能轉(zhuǎn) 換是由芯片的 re* ,de 端控制的。re*=1,de=1 時(shí),sn75176 發(fā)送狀態(tài); re*=0,de=0 時(shí),sn75176 處于接收狀態(tài)。一般使用單片機(jī)的一根口線連接 re*,de 端。在上電復(fù)位時(shí),由于硬件電路穩(wěn)定需要一定的時(shí)間,并且單片機(jī) 各端口復(fù)位后處于高電平狀態(tài),這樣就會(huì)使總線上各個(gè)分機(jī)處于發(fā)送狀態(tài),加上 上電時(shí)各電路的不穩(wěn)定,可能向總線發(fā)送信息。因此,如果用一根口線作發(fā)送和 接收控制信號(hào),應(yīng)該將口線反向后接入 sn75176 的控制端,使上電時(shí) sn75176 處于接收狀態(tài)。另外,在主從機(jī)軟件上也應(yīng)附加若干處理措施,如:上電時(shí)或正 式通訊之前,對(duì)串行口做幾次空操作,清除端口的非法數(shù)據(jù)和命令。 控制端 re*,de 的信號(hào)的有效脈寬應(yīng)該大于發(fā)送或接收一幀信號(hào)的寬度。 在 rs232,rs422 等全雙工通訊過(guò)程中,發(fā)送和接收信號(hào)分別在不同的物理 鏈路上傳輸,發(fā)送端始終為發(fā)送端,接收端始終為接收端,不存在發(fā)送、接收控 制信號(hào)切換問(wèn)題。在 rs485 半雙工通訊中,由于 sn75176 的發(fā)送和接收都由 同一器件完成,并且發(fā)送和接收使用同一物理鏈路,必須對(duì)控制信號(hào)進(jìn)行切換。 控制信號(hào)何時(shí)為高電平,何時(shí)為低電平,一般以單片機(jī)的 ti,ri 信號(hào)作參考。 發(fā)送時(shí),檢測(cè) ti 是否建立起來(lái),當(dāng) ti 為高電平后關(guān)閉發(fā)送功能轉(zhuǎn)為接收功 能。 接收時(shí),檢測(cè) ri 是否建立起來(lái),當(dāng) ri 為高電平后,接收完畢,又可以轉(zhuǎn)為 發(fā)送23。 在理論上雖然行得通,但在實(shí)際聯(lián)調(diào)中卻出現(xiàn)傳輸數(shù)據(jù)時(shí)對(duì)時(shí)錯(cuò)的現(xiàn)象。根 據(jù)查證有關(guān)資料,并在聯(lián)調(diào)中借助存儲(chǔ)示波器反復(fù)測(cè)試,才發(fā)現(xiàn)一個(gè)值得注意的 問(wèn)題,我們可以查看單片機(jī)的時(shí)序: 圖 3.10 串行口模式 3 時(shí)序圖 單片機(jī)在串行口發(fā)送數(shù)據(jù)時(shí),只要將 8 位數(shù)據(jù)位傳送完畢,ti 標(biāo)志即建立, 但此時(shí)應(yīng)發(fā)送的第九位數(shù)據(jù)位(若發(fā)送地址幀時(shí))和停止位尚未發(fā)出。如果在這 是關(guān)閉發(fā)送控制,勢(shì)必造成發(fā)送幀數(shù)據(jù)不完整。如果單片機(jī)多機(jī)通訊采用較高的 波特率,幾條操作指令的延時(shí)就可能超過(guò) 2 位(或 1 位)數(shù)據(jù)的發(fā)送時(shí)間,問(wèn)題 或許不會(huì)出現(xiàn)。但是如果采用較低波特率,如 9600,發(fā)送一位數(shù)據(jù)需 100s 左 右,單靠幾條操作指令的延時(shí)遠(yuǎn)遠(yuǎn)不夠,問(wèn)題就明顯地暴露出來(lái)。接收數(shù)據(jù)時(shí)也 同樣如此,單片機(jī)在接收完 8 個(gè)數(shù)據(jù)位后就建立起 ri 信號(hào),但此時(shí)還未接收到 第九位數(shù)據(jù)位(若接收地址幀時(shí))和停止位。所以,接收端必須延時(shí)大于 2 位數(shù) 據(jù)位的時(shí)間(1 位數(shù)據(jù)位時(shí)間=1/波特率),再作應(yīng)答,否則會(huì)發(fā)生總線沖突。 總線上所連接的各單機(jī)的發(fā)送控制信號(hào)在時(shí)序上完全隔開(kāi)。為了保證發(fā)送 和接收信號(hào)的完整和正確,避免總線上信號(hào)的碰撞,對(duì)總線的使用權(quán)必須進(jìn)行分 配才能避免競(jìng)爭(zhēng),連接到總線上的單機(jī),其發(fā)送控制信號(hào)在時(shí)間上要完全隔離。 總之,發(fā)送和接收控制信號(hào)應(yīng)該足夠?qū)挘员WC完整地接收一幀數(shù)據(jù),任意 兩個(gè)單機(jī)的發(fā)送控制信號(hào)在時(shí)間上完全分開(kāi),避免總線爭(zhēng)端。 3.53.5 主控機(jī)部分主控機(jī)部分 3.5.13.5.1 電路設(shè)計(jì)電路設(shè)計(jì) 主控機(jī)主要負(fù)責(zé)控制從機(jī),包括設(shè)置從機(jī)信息和收集從機(jī)檢測(cè)信號(hào),然后將 收集到的數(shù)據(jù)進(jìn)行存儲(chǔ)、分析、顯示、打印,并能根據(jù)用戶設(shè)置的報(bào)警閾值進(jìn)行 聲光報(bào)警。這部分的硬件電路設(shè)計(jì)除了鍵盤(pán)、液晶、打印機(jī)等常規(guī)外設(shè)外,增加 了一片 24c04 用來(lái)保存溫度數(shù)據(jù),另外,增加了一片日歷時(shí)鐘芯片 pcf8563。 24c04 是基于 i2c 總線的串行 e2prom,存儲(chǔ)容量 512 個(gè)字節(jié),它占用單片 機(jī)資源很少,僅占用了兩根 i/o 線,數(shù)據(jù)一旦寫(xiě)入可保存 100 年,避免了普通 ram 掉電保護(hù)的麻煩,非常適合于各類儀器儀表和控制裝置的參數(shù)保存。 主控機(jī)每個(gè)整點(diǎn)收集一次數(shù)據(jù),并將數(shù)據(jù)保存到 e2prom。每個(gè)溫度數(shù)據(jù)占 用 2 個(gè)字節(jié),這樣,我們?cè)O(shè)計(jì)共保存 24 組歷史數(shù)據(jù),占用個(gè)字節(jié)。1922424 當(dāng)存滿 24 組數(shù)據(jù)后,整點(diǎn)再次接收數(shù)據(jù)時(shí),將最早保存的數(shù)據(jù)刪除,其他數(shù)據(jù) 依次前移為新數(shù)據(jù)空出位置。 pcf8563 是低功耗的 cmos 實(shí)時(shí)時(shí)鐘/日歷芯片,它提供一個(gè)可編程時(shí)鐘輸 出,一個(gè)中斷輸出和掉電檢測(cè)器,所有的地址和數(shù)據(jù)通過(guò) i2c 總線串行傳遞24。 這兩部分電路設(shè)計(jì)原理圖如下: 圖 3.11 主機(jī) 24c04 與 8563 部分電路原理圖 3.5.23.5.2 所用器件介紹所用器件介紹 pcf8563:pcf8563 是 philips 公司推出的一款工業(yè)級(jí)內(nèi)含 i2c 總線接口功 能的具有極低功耗的多功能時(shí)鐘/日歷芯片。pcf8563 的多功能報(bào)警功能,定時(shí) 功能,時(shí)鐘輸出功能以及中斷輸出功能能完成各種復(fù)雜的定時(shí)服務(wù),甚至為單片 機(jī)提供看門(mén)狗功能。內(nèi)部時(shí)鐘電路,內(nèi)部振蕩電路,內(nèi)部低電壓檢測(cè)電路 (1.0v)以及兩線制 i2c 總線通訊方式,不但使外圍電路極其簡(jiǎn)潔,而且也增加 了芯片的可靠性。同時(shí)每次寫(xiě)數(shù)據(jù)后,內(nèi)嵌的字地址寄存器會(huì)自動(dòng)產(chǎn)生增量。當(dāng) 然作為時(shí)鐘芯片,pcf8563 亦解決了 2000 年問(wèn)題。因而,pcf8563 是一款性價(jià) 比極高的時(shí)鐘芯片,它已被廣泛用于電表,水表,氣表,電話,傳真機(jī),便攜式 儀器以及電池供電的儀器儀表等產(chǎn)品領(lǐng)域。 pcf8563 的特性:寬電壓范圍 1.05.5v,復(fù)位電壓標(biāo)準(zhǔn)值 0.9v;超低功耗; 可編程時(shí)鐘輸出頻率為 32.768khz,1024hz,32hz,1hz;四種報(bào)警功能和定時(shí)器功能; 內(nèi)含復(fù)位電路,振蕩器電路和掉電檢測(cè)電路;開(kāi)路中斷輸出;400khzi2c 總線, 其從地址:讀,0a3h;寫(xiě),0a2h。 pcf8563 原理:pcf8563 有 16 個(gè) 8 位寄存器;一個(gè)可自動(dòng)增量的地址寄存 器,一個(gè)內(nèi)置 32.768khz 的震蕩器(帶有一個(gè)內(nèi)部集成的電容) ,一個(gè)分頻器, 一個(gè)可編程時(shí)鐘輸出,一個(gè)定時(shí)器,一個(gè)報(bào)警器,一個(gè)掉電檢測(cè)器和一個(gè) 400khzi2c 總線接口。 所有 16 個(gè)寄存器設(shè)計(jì)成可尋址的 8 位并行寄存器,但不是所有位都有用。 前兩個(gè)寄存器(內(nèi)存地址 00h,01h)用

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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)論