PIC16F877A單片機控制Modem的串行通信設計
異步串行通信主程序框圖如圖2,中斷服務子程序框圖如圖3。
2.3 Modem設置
在Modem安裝好開通之前,須預先設置好Modem的初始狀態。PIC上電后,需對Modem進行復位操作,發送命令設置Modem結果碼形式。
Modem初始化服務程序執行Modem初始化命令和呼叫(應答)等。Modem的呼叫、應答采用自動方式。在進行通信之前,呼叫PIC發出ATD (專線方式)命令,Modem監測線路上的載波。如果檢測到載波,則返回連接成功結果碼;否則返回無載波結果碼。兩端Modem正確可靠地建立起數據鏈路后。就可以進行數據通信了。通信完成以后,雙方Modem若要拆線掛機.則Modem由數據狀態轉為命令狀態,PIC發出ATH(掛機命令)實現掛機。掛機后要對Modem的自動應答和中斷等狀態進行重新設置。
3 PIC控制Modem 同步串行通信
用PIC的同步串口USART控制Modem實現同步數據通信,保證了數據的高效率和實時傳輸。PIC的USART模塊工作于同步方式時,RC7引腳被用做數據雙向傳輸通道DT,RC6引腳被用做時鐘發送/接收專線CK。線路上的數據格式可以是8位或者9位,由于利用時鐘專線進行雙方同步,就不需要起始位和停止位了。同步數據是在一條線路上雙向傳輸的,而時鐘卻是在一條線路上固定從主機向從機單向發送的。
同步串口的初始化與異步串口通信類似,程序設計可參照2.2,對Modem進行相應的初始化,使其工作于同步模式。
4 結論
本系統用PIC單片機控制Modem的同步/異步串行通信,實現了數據的遠程傳輸,可方便提供多種速率,硬件構成簡單,軟件設計容易。在點對點的遠程數字終端維護中,傳輸數據、話音及傳真收到了很好的效果。
評論