新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 組態王與單片機多機串口通信的設計

        組態王與單片機多機串口通信的設計

        作者: 時間:2011-12-12 來源:網絡 收藏

        Sta:設備地址,1個字節,設備地址范圍為0~255,此地址為單片機的地址,由單片機中的程序決定;
        R:讀標志,1個字節(0x52);
        W:寫標志,1個字節(0x57);
        DataType:需要交換的數據類型,1字節。其中“1”代表字節,“2”代表字,“3”代表浮點型;
        DataNum:讀取數據的個數,1字節;
        DataAddr:數據偏移地址,2字節,低字節在前,高字節在后;
        Data:實際傳輸的數據,低字節在前,高字節在后;
        DataLong:單片機返回Data的字節數,2字節,低字節在前,高字節在后:
        CRC:為從第1個字節至CRC前的所有字節的異或值,1字節;
        ErrorCode:錯誤代碼,“0”代表正確應答,“1”代表數據類型錯誤,“2”代表數據范圍超限,“3”代表指令無法識別。

        5 單片機通訊程序流程設計
        圖4為程序流程,圖5為單片機通訊程序流程。80C51系列單片機多機通訊可歸納如下:

        上位機的SM2=0,所有下位機的SM2=1,以便只接收上位機發來的地址;
        上位機給下位機發送地址時,第9數據位應該為1,以指示下位機接收這個地址;
        所有下位機在SM2=1,RB8=1和RI=0時,接收上位機發來的地址,進入相應中斷服務程序,并與本機地址相比較,以確認是否為被尋址的下位機;
        被尋址下位機通過指令清除SM2,以便正常接收上位機發送來的數據,并向上位機發回接收到的地址以便核實。未被尋址的下位機保持SM2=1,并退出各自的中斷服務程序;
        完成上位機和被尋址下位機之間的數據通信后,被尋址從機使SM2=1,并退出中斷服務程序,等待下次通信。

        6 結束語
        該系統實現軟件與單片機多機的實時通信,已經在實際項目中得到應用。應用的結果表明該設計方法簡單有效,實時性好,成本低廉,可以在控制與監控系統中推廣應用。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 芜湖市| 灌南县| 普宁市| 娱乐| 鹿泉市| 扎鲁特旗| 池州市| 称多县| 建湖县| 阆中市| 台中县| 五寨县| 杭州市| 漠河县| 湖口县| 无锡市| 田林县| 建始县| 遂平县| 磐安县| 长春市| 垣曲县| 高雄县| 罗江县| 汝阳县| 怀安县| 韩城市| 蚌埠市| 张掖市| 海门市| 壤塘县| 呼和浩特市| 行唐县| 泗洪县| 远安县| 石棉县| 凯里市| 阿瓦提县| 宁海县| 郴州市| 陆丰市|