

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