新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 80C196KB與PC機之間的遠程通訊系統設計

        80C196KB與PC機之間的遠程通訊系統設計

        作者: 時間:2012-03-14 來源:網絡 收藏

        3.1 下位機部分

        串行口的波特率取決于16位波特率寄存器的內容。該寄存器應以連續2個字節進行裝載,低位字節優先。寄存器的最高位用于選擇波特率發生器的輸入時鐘源,最高位為1,選用XTAL1(即晶體振蕩器)信號為源信號,否則選用自T2CLK引腳的信號為源信號。

        的內部時鐘信號是經2分頻獲得的。若以BAUD-REG表示波特率寄存器的裝載值,那么在同步模式0時,BUAD-REG=XTAL1/(2×波特率)- 1或T2CLK/波特率;而在異步模式1、2和3時,其BAUD-REG=XTAL1/(16×波特率)-1或T2CLK/(8×波特率)。

        的通信方式設定為異步方式1時,可進行全雙工通訊,其格式為每10位構成一串行幀,其中包括1位起始位,8位數據位和1位停止位。

        在本系統中,80C196KB的晶振為12MHz,因此,為使波特率達到9600,需將波特率寄存器賦值為804EH。

        表2列出了采用XTAL1作為時鐘源時,異步模式下一些常用波特率所對應的波特率寄存器值。應注意,表中所列的值是根據上述公式計算所得的值再加上最高位“1”后得到的。

        表2 常用波特率對應的波特率寄存器值
        57.jpg

        3.2 上位機部分

        微機數據采集系統中的一個關鍵問題是要在Windows環境下編寫相應的通信程序。Windows應用編程接口(API)所提供的有關串行通訊的16個函數可以實現完整的通訊功能,但其應用較為復雜。而VB中有一個通訊控件MSComm,通過改變其屬性設置和編寫相應的程序,就能在Windows環境下方便地實現不同用戶的串行通訊要求。

        利用下面的語句可以方便地設置傳輸波特率,MSComm1.Settings=“9600,N,8,1”

        表明波特率為9600,無奇偶校驗位,8位數據位,1位停止位。

        4 80C196KB和中央控制機的通訊

        在本系統中,下位機為主叫端,上位機為應答端,它們通過公用電話網進行數據傳輸。其數據鏈路的建立、數據傳輸及結束通信的全過程如表3所列。

        表3 數據傳輸過程表
        58.jpg



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 商水县| 曲阜市| 瑞安市| 周至县| 尤溪县| 孝感市| 永城市| 海盐县| 阿拉善右旗| 广丰县| 鄂尔多斯市| 托克托县| 曲麻莱县| 康定县| 瑞昌市| 灵寿县| 保靖县| 奇台县| 高淳县| 靖安县| 文昌市| 南涧| 万荣县| 安福县| 罗山县| 焦作市| 四会市| 金川县| 平利县| 陇川县| 张掖市| 德保县| 贵港市| 綦江县| 金乡县| 松江区| 微博| 察雅县| 清丰县| 石楼县| 宝清县|