摘 要:現(xiàn)在單片機的應(yīng)用越來越廣泛,本文探討單片機多機通訊系統(tǒng)設(shè)計方法了。首先分析單片機的原理,進(jìn)而探討通信系統(tǒng)硬件模塊中的電平接口轉(zhuǎn)換,然后探討計算機單片機通信系統(tǒng)設(shè)計的基本方法。
關(guān)鍵詞:計算機單片機;通信系統(tǒng);設(shè)計方法
一、單片機的原理
單片機是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的計算機系統(tǒng)。在我國單片機已經(jīng)不是一個陌生的名詞,它的出現(xiàn)是近代計算機技術(shù)發(fā)展史上的一個重要里程碑,因為單片機的誕生標(biāo)志著計算機正式形成了通用計算機系統(tǒng)和嵌入式計算機系統(tǒng)兩大分支。在單片機誕生之前,為了滿足工程對象的嵌入式應(yīng)用要求,只能將通用計算機進(jìn)行機械加固、電氣加固后嵌入到對象系統(tǒng)中構(gòu)成。由于通用計算機的巨大體積和高成本,無法嵌入到大多數(shù)對象體系中。單片機則應(yīng)嵌入式應(yīng)用而誕生。單片機作為最典型的嵌入式系統(tǒng),它的成功應(yīng)用推動了嵌入式系統(tǒng)的發(fā)展。近年來。除了各種類型的工控機,各種以通用微處理器構(gòu)成的計算機主模板快、以通用處理器為核,片內(nèi)擴(kuò)展一些外圍功能電路單元構(gòu)成的嵌入式微處理器,甚至單片形式的PC及等,都實現(xiàn)了嵌入式應(yīng)用,成為嵌入式系統(tǒng)的龐大家族。
二、計算機單片機通信系統(tǒng)的設(shè)計
雙機通信的實質(zhì)就是解決兩單片機串行通信問題。針對于89C52單片機全雙工異步串行通信口,我們采用單片機直接交叉互連的串行通信方式??紤]到設(shè)計應(yīng)用于短距離傳輸、兩單片機具有相同的數(shù)據(jù)格式及電平且為使設(shè)計簡單,我們最終決定采用方式二單片機直接交叉連接的串行通信方式,上位機發(fā)送的數(shù)據(jù)由串行口TXD端輸出,直接由下位機的串行口數(shù)據(jù)接收端RXD接收。
(1)串行通信
串行數(shù)據(jù)通信要解決兩個關(guān)鍵問題,一個是數(shù)據(jù)傳送,另一個是數(shù)據(jù)轉(zhuǎn)換。所謂數(shù)據(jù)傳送就是指數(shù)據(jù)以什么形式進(jìn)行傳送。所謂數(shù)據(jù)轉(zhuǎn)換就是指單片機在接收數(shù)據(jù)時,如何把接收到的串行數(shù)據(jù)轉(zhuǎn)化為并行數(shù)據(jù),單片機在發(fā)送數(shù)據(jù)時,如何把并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)進(jìn)行發(fā)送。單片機的串行通信使用的是異步串行通信,所謂異步就是指發(fā)送端和接收端使用的不是同一個時鐘。異步串行通信通常以字符(或者字節(jié))為單位組成字符幀傳送。字符幀由發(fā)送端一幀一幀地傳送,接收端通過傳輸線一幀一幀地接收。而對于兩個單片機之間的串行通信,由于具有相同的數(shù)據(jù)格式及電平且是短距離通信則不必要使用一些電平轉(zhuǎn)化芯片( 如max232等)便可直接實現(xiàn)串行通訊,需要注意的是兩單片機硬件要共地,軟件中需要設(shè)置相同波特率STC89C51單片機有一個全雙工的異步串行通信口,串行結(jié)構(gòu)如下:①數(shù)據(jù)緩沖器(SBUF)接受或發(fā)送的數(shù)據(jù)都要先送到SBUF緩存。有兩個,一個緩存,另一個接受,用同一直接地址99H,發(fā)送時用指令將數(shù)據(jù)送到SBUF即可啟動發(fā)送;接收時用指令將SBUF中接收到的數(shù)據(jù)取出。②串行控制寄存器( SCON)SCON用于串行通信方式的選擇,收發(fā)控制及狀態(tài)指示,各位含義如表1:
SM0,SM1:串行接口工作方式選擇位,這兩位組合成00,01,10,11 對應(yīng)于工作方式0、1、2、3。串行接口工作方式特點見表1。
SM2:多機通信控制位。
REN:接收允許控制位。軟件置i允許接收:軟件置0禁止接收。
TB8:方式2或3時,TB8為要發(fā)送的第9位數(shù)據(jù),根據(jù)需要由軟件置1或清0。RB8:在方式2或3時,RB8位接收到的第9位數(shù)據(jù),實際為主機發(fā)送的第9位數(shù)據(jù)TB8,使從機根據(jù)這- -位來判斷主機發(fā)送的時呼叫地址還是要傳送的數(shù)據(jù)。TI: 發(fā)送中斷標(biāo)志。發(fā)送完一幀數(shù)據(jù)后由硬件自動置位,并申請中斷。必須要軟件清零后才能繼續(xù)發(fā)送。RI:接收中斷標(biāo)志。接收完一幀數(shù)據(jù)后由硬件自動置位,并申請中斷。必須要軟件清零后才能繼續(xù)接收。③輸入移位寄存器。接收的數(shù)據(jù)先串行進(jìn)入輸入移位寄存器,8位數(shù)據(jù)全移入后,再并行送入接收SBUF中。④波特率發(fā)生器預(yù)覽與源文檔一致下載高清無水印波特率發(fā)生器用來控制串行通信的數(shù)據(jù)傳輸速率的,51系列單片機用定時器T1作為波特率發(fā)生器,T1設(shè)置在定時方式。波特率時用來表示串行通信數(shù)據(jù)傳輸快慢程度的物理量,定義為每秒鐘傳送的數(shù)據(jù)位數(shù)。⑤電源控制寄存器PCON其最高位為SMOD:波特率倍增位,在串行口方式1、方式2、方式3時,波特率與SMOD有關(guān),當(dāng)SMOD=1時,波特率提高一倍,復(fù)位時,SMOD=0。⑥波特率計算當(dāng)定時器T1工作在定時方式的時候,定時器T1溢出率= (T1計數(shù)率) / (產(chǎn)生溢出所需機器周期)。由于是定時方式,T1計數(shù)率= fORC/12。產(chǎn)生溢出所需機器周期數(shù)=模M-計數(shù)初值X。(2)基本設(shè)計原理概述雙機通信系統(tǒng)通過主從單片機的串行口來實現(xiàn)數(shù)據(jù)的收發(fā)。主單片機通過開關(guān)電路來啟動發(fā)送程序,當(dāng)開關(guān)按下時向從機發(fā)送一個數(shù)據(jù),從機通過接收中斷來接收主機發(fā)送過來的數(shù)據(jù),并通過編寫好的數(shù)據(jù)代碼在LED數(shù)碼管上顯示主機發(fā)送過來的數(shù)據(jù)。同時從寫好的數(shù)據(jù)代碼在LED數(shù)碼管上顯示主機發(fā)送過來的數(shù)據(jù)。同時從
機給主機發(fā)送一個應(yīng)答信號來表示已經(jīng)接收到了主機發(fā)送過來的數(shù)據(jù),在主機接收應(yīng)答并校驗正確,以二極管顯示,這樣就完成了一個數(shù)據(jù)的通信過程,等待按鍵按下,然后繼續(xù)下一次數(shù)據(jù)的發(fā)送直到結(jié)束。
三、結(jié)語
本文介紹了多機通訊中主從式多機型結(jié)構(gòu)的通訊,這種結(jié)構(gòu)具有接口簡單和使用靈活等優(yōu)點,由單片機構(gòu)成的多機通訊系統(tǒng)在一-些較大型的工業(yè)過程控制、自動控制等方面得到了廣泛的應(yīng)用,因此,這種通訊系統(tǒng)的研究和使用具有很大的應(yīng)用價值。
參考文獻(xiàn)
[1]顧德峰. 基于LabVIEW的計算機與單片機的通信系統(tǒng)設(shè)計[J]. 電子制作,2019(22):79-81.
[2]孟慶波,曲素榮. 基于計算機-多單片機系統(tǒng)的表決通信軟件設(shè)計[J]. 計算機與數(shù)字工程,2013,41(7):1122-1125.
[3]姚高華,廖秋香,李琛. 計算機與單片機多機通信系統(tǒng)的實現(xiàn)[J]. 大眾科技,2016,18(2):1-2,5.
[4]劉文君. 基于LabVIEW的計算機與單片機串口通信系統(tǒng)[J]. 中國教育技術(shù)裝備,2012(6):114-115.
[5]李韋璇,孫會民,王夏. 單片機與計算機遠(yuǎn)程通信的實現(xiàn)探究[J]. 煤炭技術(shù),2013,32(2):232-234.
[6]何中勝,趙紅玉,莊燕濱. 基于單片機的通信機房環(huán)境監(jiān)控系統(tǒng)的開發(fā)研究[J]. 制造業(yè)自動化,2013(15):32-35
作者簡介:
王文魁,(1973.10--)男,漢族,遼寧遼陽人,本科,副教授,研究方向:自動化。