新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機和MODEM接口及遠程數據傳輸

        單片機和MODEM接口及遠程數據傳輸

        作者: 時間:2012-10-30 來源:網絡 收藏

        單片機和MODEM接口及遠程數據傳輸
        圖3 現場數據采集器的程序流程圖
        4.1 通訊波特率
        8251 的通訊波特率取決于RXCLK和TXCLK的時鐘輸入,在異步方式中,RXCLK,TXCLK可以是波特率,也可以是波特率的16 或64倍.這由8251控制字中的波特率因子來決定,在本系統設計中,設波特率因子為異步X16,即RXCLK,TXCLK是傳輸波特率的16倍.從圖2可以看出,RXCLK,TXCLK由8155 的TMROUT給出, 而8155 的TMRIN為系統時鐘fosc的1/6,因此選擇波特率的關鍵就是確定8155定時器的時間常數.如果將8155 的定時器設為連續方波輸出,那么8155 定時器的時間常數N和定時器輸入頻率fTMRIN,輸出頻率fTMROUT的關系為:fTMROUT=fTMRIN/N,設8251的分頻系數為16,則傳輸波特率可有下式計算:
        波特率=fTMROUT/16=fTMRIN/16N=fosc/(6X16N)
        本系統選用頻率為11.0592MHz 的晶振,fosc為1.0592MHz, 若8251 采用2400Hz的波特率來傳輸數據,則8155的定時器常數N為:
        N=11.0592X106/(2400X16X6)=48=30H
        按照以上分析,則8155,8251 初始化編程如下:
        void initialize rs(void)
        {
        U8155_IO=0xc0; /*8155命令字初始化*/
        U8155_TO=0x30;/*送8155定時器常數低字節*/
        U8155_TH=0x40; /*送8155定時器常數高字節*/
        U8251_C=0x4e; /* 方式控制字初始化*/
        U8251_C=0x37;
        }

        4.2 遠程設置主叫呼叫號碼
        在本系統中,當關鍵數據發生越限變化時,現場數據采集器能夠自動呼叫監控中心,而被呼叫的電話號碼卻不能夠存儲在程序的ROM中, 原因有兩條:第一:監控中心的電話號碼可能會變更;第二:不同的用戶被呼叫的電話號碼不一樣; 而在現場數據采集器上設計一片EEPROM 也不是最好的方案;解決這一問題的最佳方法是將此電話號碼存儲在 中, 那么如何實現呢?可用前面提到的ATZ=X(X為電話號碼) 命令進行遠程設置,當監控中心需要修改這個電話號碼時, 就呼叫現場數據采集器,并將此電話號碼傳輸給數據采集器,然后由數據采集器自動用ATZ=X(X為電話號碼)命令將此號碼存儲在 中.

        4.3 主叫方式
        當現場數據采集器采集到的關鍵數據發生越限變化時,現場數據采集器便利用AT指令ATDS主動撥打存儲在 中的電話號碼來呼叫監控中心,并將關鍵數據打包傳送給監控中心,在監控中心收到信息包后,系統便可進行存儲和分析,以供值班人員判斷并做出處理.

        4.4 被叫方式
        當監控中心需要獲得現場數據時, 可以主動撥號呼叫現場數據采集器, 在圖2中, 的P1.1在檢測到預定次數的振鈴信號時發出MODEM應答指令ATA,并在延時等待MODEM 連通以及雙方握手成功后, 由監控中心向現場數據采集器發出請求發送數據指令.現場數據采集器收到指令后將實時變化的動態數據傳送給監控中心, 以使監控中心隨時中斷對數據接收, 并向現場數據采集器發出掛機指令.現場數據采集器在收到掛機指令后停止發送數據并掛機.

        4.5 存在問題及解決方法
        本系統剛開始設計時,8251 的復位輸入端和CPU的復位輸入端是連接在一起,這樣設計曾出現過8251不能可靠復位的問題. 后改為靠的P1.0 給8251發復位脈沖,圖2 所示,這樣,就可根據軟件抗干擾的需要隨時復位8251,用C51編寫的復位程序如下:
        void reset_8251(void)
        {
        P1^0=1;
        ACC=0;
        while(--ACC);
        P1^0=0;
        }

        5 結論
        實踐證明,該系統和MODEM 接口具有電路簡單,成本低,可靠性高的特點.在實際應用中取得了良好效果.


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永新县| 普宁市| 邻水| 郸城县| 顺平县| 资源县| 温泉县| 尖扎县| 垣曲县| 元氏县| 夹江县| 涟源市| 开鲁县| 和田市| 郯城县| 镶黄旗| 冕宁县| 道真| 上栗县| 曲水县| 通河县| 中山市| 图木舒克市| 西充县| 南和县| 托克托县| 霞浦县| 遂宁市| 安龙县| 琼中| 精河县| 彩票| 台北县| 搜索| 酉阳| 桑日县| 莱西市| 常熟市| 通州区| 新兴县| 明水县|