《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 單片機多機通信的交通燈設計
單片機多機通信的交通燈設計
摘要: 單片機利用串行口進行多機通信是一個比較復雜的過程,因此大多數(shù)單片機書籍沒有對這方面的內容進行介紹,或者沒有提供實例,本文對MCS-51單片機的多機通信進行一定的探討,利用單片機多機通信對城市交通燈控制系統(tǒng)實現(xiàn)網(wǎng)絡化集中控制,是一個很好的實例,通過Proteus仿真運行(其運行情況如圖3所示),此方案切實可行。
Abstract:
Key words :

    摘要:文章分析了MCS-51系列單片機" title="單片機">單片機利用串行口進行多機通信" title="多機通信">多機通信的基本原理,對利用單片機多機通信方式實現(xiàn)交通燈" title="交通燈">交通燈控制系統(tǒng)的網(wǎng)絡化控制進行了研究,設計了硬件電路圖及主、從機程序,并在Proteus軟件上進行了仿真運行。
關鍵詞:單片機;多機通信;交通燈系統(tǒng);控制網(wǎng)絡

    由于微機技術的飛速發(fā)展和控制系統(tǒng)的復雜化,多機通信的應用越來越廣泛,特別在一些對工業(yè)過程的控制中,多機通信已經成為通信控制領域的主流通信方式。
    本文針對目前單片機書籍(包括教材)很少介紹多機通信的實現(xiàn)技術的情況,在交通燈控制系統(tǒng)的基礎上設計了一個交通燈控制網(wǎng)絡系統(tǒng),以此為實例給出了單片機多機通信的解決方案。

1 單片機多機通信的基本原理
    計算機之間的通信除了點對點通信外,還有一機對多機或多機之間的通信,構成計算機網(wǎng)絡,其中主從式多機通信是比較常用的一種方式。在主從式多機通信系統(tǒng)中,只有一臺主機,但可以有多臺從機。主機發(fā)送的信息可以傳送到各個從機或指定從機,從機發(fā)送的信息只能為主機所接收,各從機之間不能直接通信。主機通常由PC機擔任,也可用單片機擔當(本文研究的是用單片機作主機),從機通常為單片機。  MCS-51單片機串行口的方式2和方式3具有多機通信功能,可實現(xiàn)一臺主機和若干臺從機構成總線式的多機分布式系統(tǒng),其連接方式如圖1所示。

a.JPG


    在多機通信中,可充分利用MCS-51單片機的多機通信控制位SM2。用作主機的單片機的SM2應設定為0,作從機的SM2設定為1。主機發(fā)送并為從機接收的數(shù)據(jù)有兩類:一類是地址,用于指示需要和主機通信的從機的地址,由串行數(shù)據(jù)第9位為“1”標志;另一類是數(shù)據(jù),由串行數(shù)據(jù)第9位為“0”標志。由于所有從機的SM2=1,故每個從機總能在RI=0時收到主機發(fā)來的地址(因為串行數(shù)據(jù)第9位為“1”),并進入各自的中斷服務程序。在中斷服務程序中,每臺從機把接收到的從機地址和它的本機地址(系統(tǒng)設計時分配)進行比較。所有比較不相等的從機均從各自的中斷服務程序中退出(SM2仍為1),只有比較地址相等的從機才是被主機尋址通信的從機。被尋址從機在程序中使SM2=0,以便接收隨之而來的數(shù)據(jù)或命令(RB8=0)。上述過程進一步歸結如下:
    (1)主機的SM2=0,所有從機的SM2=1,都處于監(jiān)聽狀態(tài)(只能接收地址幀),以便接收主機發(fā)來的地址。
    (2)主機給從機發(fā)送一幀地址信息時,其中的8位是地址,第9位為1表示是地址幀。
    (3)所有從機在SM2=1、RB8=1且RI=0時,接收到主機發(fā)來的從機地址幀后,進行中斷處理,進入相應的中斷服務程序,并和本機地址進行比較以確認是否為被尋址從機。
    (4)被尋址的從機通過指令清除SM2,使SM2=0進入接收數(shù)據(jù)狀態(tài),可以接收主機隨后發(fā)送的數(shù)據(jù)(包括命令),并向主機發(fā)回接收到的從機地址作為響應信號,供主機核對,實現(xiàn)主機與被尋址從機的雙機通信;未被尋址從機保持SM2=1,并退出中斷服務程序。
    (5)完成主機和被尋址從機之間的數(shù)據(jù)通信,被尋址從機在通信完成后重新使SM2=1,并退出中斷服務程序,恢復到監(jiān)聽狀態(tài),等待下次通信。

2 交通燈控制網(wǎng)絡硬件電路設計
2.1 硬件電路
    城市交通控制系統(tǒng)是一個聯(lián)動的系統(tǒng),所有路口的交通燈控制系統(tǒng)由一臺中心主機控制,當某一路口將出現(xiàn)緊急情況時(如交通管制、交通堵塞、路段維修等),單擊中心主機的對應按鈕即可使該路口的所有紅燈亮,禁止所有普通車輛通行。本文利用Proteus軟件仿真設計了一臺主機控制兩臺從機的主從式多機系統(tǒng),實施時可以擴展到253臺主機,硬件電路如圖2所示。單片機U1為主機,U2、U3為從機,代表兩個路口的控制機,S1、S2為按鈕,分別與U1的P1.1、P1.0連接,當按下時分別控制兩個路口的交通信號燈為所有紅燈亮,表示該路口出現(xiàn)緊急情況。與主機U1相連的兩個BCD數(shù)碼管用于顯示從機接收到的響應幀,即出現(xiàn)緊急情況的路口地址號,如果接收到的響應幀傳送出現(xiàn)錯誤,與主機發(fā)出的地址號不同時,這兩個數(shù)碼管顯示FF,當S1和S2沒有按下時,這兩個數(shù)碼管也顯示FF。

b.JPG


    由于串行口通信時傳輸?shù)?ldquo;0”或者“1”是通過相對于“地”的電壓區(qū)分的,因此使用串行口通信時,必須將主、從機的“地”線相連以使其具有相同的電壓參考點。

2.2 通信協(xié)議
    多機通信是一個復雜的通信過程,必須有通信協(xié)議來保證多機通信的可操作性和操作秩序,實現(xiàn)收/發(fā)雙方的響應與協(xié)調。這些通信協(xié)議,至少應包括從機的地址、主機的控制命令、從機的響應幀格式和數(shù)據(jù)通信格式等的約定,本文建立交通燈控制網(wǎng)絡系統(tǒng)的通信協(xié)議如表1
所示。

c.JPG



3 軟件程序的設計
3.1 主機程序設計
    主機主要負責呼叫從機,發(fā)送控制命令以及從機響應幀的接收,數(shù)據(jù)的顯示等功能。為了保證主、從機之間握手的成功,主機采用查詢方式發(fā)送和接收數(shù)據(jù),串行口的工作方式設置為方式2,SMOD=0。其流程圖如圖3所示。
    h.JPG
   e.JPG

 

f.JPG


3.2 從機程序設計
    從機循環(huán)運行交通燈控制程序,交通燈控制程序利用定時器/計數(shù)器0實現(xiàn)定時,為了能正常和主機通信,從機的串行口也工作于方式2,SMOD=0,以保持和主機相同的波特率。由于主機呼叫從機時發(fā)送的地址幀與命令幀沒有重復,為了使程序簡單,本文針對從機接收到主機發(fā)來的數(shù)據(jù)后不通過第九位數(shù)據(jù)來判斷是地址幀還是命令幀。對接收到的數(shù)據(jù)如果與本機地址相等則表明是地址幀,立即向主機發(fā)送自己的地址作為響應信號;如果是命令則按命令執(zhí)行相關操作(所有路口紅機亮或恢復交通燈信號);如果既不與本機地址相等也不是兩個命令之一,則認為該數(shù)據(jù)不是發(fā)送給本機的,該機繼續(xù)監(jiān)聽,從機U2串行口接收和發(fā)送數(shù)據(jù)中斷服務程序清單如下:
d.JPG
    i.JPG

4 結束語
    單片機利用串行口進行多機通信是一個比較復雜的過程,因此大多數(shù)單片機書籍沒有對這方面的內容進行介紹,或者沒有提供實例,本文對MCS-51單片機的多機通信進行一定的探討,利用單片機多機通信對城市交通燈控制系統(tǒng)實現(xiàn)網(wǎng)絡化集中控制,是一個很好的實例,通過Proteus仿真運行(其運行情況如圖3所示),此方案切實可行。

j.JPG

此內容為AET網(wǎng)站原創(chuàng),未經授權禁止轉載。
主站蜘蛛池模板: 亚洲欧美成人日韩| 国产性天天综合网| 中文字幕无码不卡一区二区三区 | 国产在线观看首页123| free哆拍拍免费永久视频| 日韩a级毛片免费视频| 人妻体体内射精一区二区| 视频在线一区二区| 欧美三级一级片| 口国产成人高清在线播放| 男女抽搐一进一出无遮挡| 小蝌蚪app在线观看| 久久精品国产99国产| 国产精品酒店视频免费看| 一边摸一边桶一边脱免费视频 | 无码h黄肉3d动漫在线观看| 亚洲冬月枫中文字幕在线看| 男女免费爽爽爽在线视频| 国产a级小龙女乱理片| 很黄很污的视频网站| 国产自产21区| √天堂资源最新版中文种子| 欧美高清熟妇啪啪内射不卡自拍 | 国产国语**毛片高清视频| 91国内揄拍国内精品对白不卡| 欧美日韩激情一区二区三区| 国产真实迷j在线播放| 三级黄色片免费看| 最近中文字幕mv图| 亚洲综合在线视频| 老鸭窝在线视频观看| 国产精品99久久精品爆乳| chinese乱子伦xxxx视频播放| 日本a中文字幕| 亚洲中文字幕无码av永久| 狠狠做深爱婷婷综合一区| 国产男女猛烈无遮挡免费网站| 一个人看的片免费高清大全| 日本边添边摸边做边爱喷水| 亚洲国产精品综合久久网络| 琪琪女色窝窝777777|