新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機和MODEM接口及利用AT命令來控制MODEM方案

        單片機和MODEM接口及利用AT命令來控制MODEM方案

        作者: 時間:2012-07-02 來源:網絡 收藏

        隨著自動化程度的不斷提高,對現場數據遠程采集與傳輸的要求也日益提高,在電話通訊網絡相當普及的今天,最方便最靈活的方法就是采用(調制解調器)并借助于現有的模擬公用電話交換網進行數據傳輸,經過幾年的研究,筆者開發了一種在下通過公用電話交換機網絡做載體的數據傳輸系統,這種數據傳輸系統不受時間與地域的限制,并可隨時實時追蹤現場資料的變化情況,從而為遠程故障的診斷和排除提供了便利。

        本文引用地址:http://www.104case.com/article/171207.htm

        由于目前國內有關資料很少,所以,本文主要就及如何MODEM 做些介紹。

        1 系統組成

        圖1 所示為該遠程數據采集系統的系統組成圖,整個系統主要由現場數據采集器和監控中心兩部分組成,現場數據采集器負責將所采集到的數據進行預處理后打包, 并通過現場調制解調器MODEM、公用電話網和監控中心的MODEM 將數據發送到監控中心。然后監控中心將接收到的數據進行處理、顯示、存儲和分析,并根據需要向現場發送指令,由于監控中心采用計算機與MODEM 直接相連的方式, 因此硬件比較簡單, 而軟件編寫不是本文討論的重點,不再贅述。系統有兩種工作方式:即監控中心呼叫現場請求發送數據和現場呼叫監控中心主動發送數據。


        圖1 系統組成圖

        2 MODEM

        由于MODEM 是將數據通過公用電話網進行遠程發送和傳輸的橋梁,這里先將MODEM 的功能及用法做一介紹“MODEM 是“調制解調器”的英文縮寫,所謂調制,就是將“0”和“1”的數字信號變成不同的頻率信號,調制到載波頻率上,并電話線進行模擬信號的傳送, 解調是調制的反過程, 即將載波頻率上的頻率信號解調成與其對應的數字信號,傳送至終端控制器。

        目前,我們在市場上所見到的MODEM 都用賀氏兼容的指令集來管理和設定MODEM 的各項操作和通訊功能,而一般這些指令皆以為前置碼,所以稱這些指令為“指令”。下面介紹幾個常見的MODEM 指令,這些指令都以回車(RETURN)結尾。

        ATA:手動應答指令,強迫MODEM 摘機并檢測載波;

        ATE0: 指令不回應,即向MODEM 發送的指令不在終端回顯;

        ATV0: MODEM 以數字形式回應信息,即MODEM 收到指令后,以數字形式返回結果碼;

        ATF:參數恢復為出廠值;

        ATD0:忽略DTR信號;

        ATS0:將DSR信號設定為ON;

        ATD:發出撥號指令;

        ATW0:將MODEM 目前的參數狀態存儲在參數表0 中;

        ATY0:當MODEM 初始上電時,調用存儲的參數表0;

        ATZ0: 復位MODEM 并啟用存儲的第0組參數表;

        ATZ=X:將電話號碼X存儲在MODEM 的內部存儲器中;

        ATDS:撥出MODEM 預存儲的電話號碼。

        那么,單片機如何這些指令來操作MODEM呢?下面以發送指令ATA為例來加以說明,程序采用C51編寫,該程序只給出了相關的部分,

        #include P>

        #include P>

        #define U8251_C XBYTE[0xfd00]

        /* 定義8251 控制/狀態字地址*/

        #define U8251_D XBYTE[0xfc00]

        /*定義8251 數據緩沖區地址*/

        unsigned char code ATA[4]={‘A’,‘T’,‘A’,0x0d};

        /*0x0d為回車(return)控制符*/

        void send-code (unsigned char code *send_addr,

        unsigned char send_sum);

        /*發送函數聲明,形式參數為發送

        首地址和發送字符個數*/


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 石家庄市| 新平| 肇源县| 大田县| 土默特右旗| 临城县| 神农架林区| 商水县| 北票市| 华宁县| 闻喜县| 文昌市| 贵德县| 通渭县| 奇台县| 龙江县| 阿鲁科尔沁旗| 绍兴县| 库伦旗| 葵青区| 景泰县| 曲麻莱县| 犍为县| 祁东县| 尚志市| 泾源县| 沾化县| 宁武县| 沾益县| 固安县| 长垣县| 台北市| 新宁县| 渭源县| 桐庐县| 竹山县| 砚山县| 册亨县| 千阳县| 西吉县| 哈密市|