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