單片機與PC機電話遠程通信系統(tǒng)
1.引言
隨著通信技術(shù)的不斷發(fā)展,計算機網(wǎng)絡(luò)系統(tǒng)通信是當(dāng)今技術(shù)發(fā)展的一個重要的方向,然而在網(wǎng)絡(luò)系統(tǒng)中利用現(xiàn)有電話網(wǎng)作為通信信道則是最經(jīng)濟、最方便和最可靠的方法。當(dāng)前現(xiàn)代電話通信網(wǎng)已經(jīng)進入程控交換時代,技術(shù)比較先進,速度快,容量大,因此采用電話通信網(wǎng)建立數(shù)據(jù)通信系統(tǒng)確實具有其獨特的優(yōu)越性。
利用單片機系統(tǒng)采集灌區(qū)水位、水流量,實現(xiàn)無人職守和科學(xué)的管理水資源具有實際意義,特別對少雨缺水地區(qū)更具有應(yīng)用價值。
2.系統(tǒng)硬件設(shè)計
本系統(tǒng)采用了MODEM將前端單片機采集的數(shù)據(jù)通過電話網(wǎng)遠程傳輸?shù)街行恼綪C機,并實現(xiàn)一對多點通信(站點數(shù)、通信距離均不限),后臺PC機通過撥號的方式對各站點進行數(shù)據(jù)接收并實時存儲記錄、查詢、打印。系統(tǒng)框圖如圖1所示。
圖1 系統(tǒng)框圖
單片機系統(tǒng)從傳感器(含數(shù)字編碼器)直接采集數(shù)字信號,通過RS232接口送給本端的MODEM,MODEM將數(shù)字信號調(diào)制成音頻模擬信號在電話線上傳輸,再經(jīng)中心站MODEM調(diào)制成數(shù)字信號送往PC機。系統(tǒng)中MODEM采用外置式Hayes144型,用戶使用賀氏標(biāo)準(zhǔn)AT命令呼叫和應(yīng)答,實現(xiàn)與遠程系統(tǒng)的通信。
上述單片機系統(tǒng)的硬件設(shè)計關(guān)鍵在于:(1)單片機89C51與異步收發(fā)器8250的接口,8250具有與MODEM接口和控制串行通信的能力。8250輸入輸出均為TTL電平,按EIA(國際電子工業(yè)合作會)RS232標(biāo)準(zhǔn),采用串行收發(fā)驅(qū)動器芯片ICL232或MAX232進行電平轉(zhuǎn)換和驅(qū)動。(2)SRAM的選擇與連接,靜態(tài)RAM保存加有時標(biāo)的數(shù)據(jù),選擇DALLAS公司生產(chǎn)的DS1216D,內(nèi)帶有電池和實時日歷時鐘功能,內(nèi)含RAM為628128,容量為128K,該芯片掉電自動保存數(shù)據(jù)和時鐘運行。(3)MODEM的連接,采用9芯接口插座完成各信號的連接。具體電路原理如圖2所示。
圖2 單片機系統(tǒng)原理圖
3.系統(tǒng)軟件設(shè)計
該系統(tǒng)前臺機軟件由MCS51匯編程序設(shè)計,后臺機軟件由VB5.0程序設(shè)計(略述),前臺單片機系統(tǒng)通信軟件主程序框圖如圖3所示。
3.1 MODEM通信中的AT命令
MODEM使用AT命令可以分三個階段:初始化、呼叫與應(yīng)答、拆鏈掛機。
MODEM初始化主要包括:設(shè)定振鈴次數(shù)、設(shè)定返回結(jié)果碼形式和復(fù)位MODEM ,例如:
ATS0=3V0 ‘3次響鈴,結(jié)果碼為數(shù)值型;
ATZ ‘復(fù)位MODEM ;
上述命令的第一句可以采用WINDOWS 95超級終端編程固化在MODEM內(nèi)非易失性RAM中,也可以同ATZ一起放在8250初始化程序中。
MODEM 具有自動呼叫與應(yīng)答功能,在電話交換網(wǎng)中,MODEM之間如同普通電話機相互通信,只要呼叫方發(fā)出撥號命令:ATDT6688787(數(shù)字表示電話號),便可形成通信鏈路,該命令用在PC機通信軟件的編程中。
通信完成后,雙方MODEM要拆鏈掛機,在PC機通信軟件的編程中采用如下AT命令完成掛機:
+ + + ‘轉(zhuǎn)義序列
延遲1秒 ‘1s靜寂
ATH0 ‘掛機
3.2 8250初始化
8250初始化主要包括四項內(nèi)容:(1)波特率的設(shè)置,向地址為3F8H和3F9H兩個寄存器置數(shù),本系統(tǒng)采用2400bps;(2)對線控制寄存器設(shè)置字符代碼傳送格式參數(shù),即:數(shù)據(jù)位、奇偶校驗位、停止位;(3)對MODEM控制寄存器初始化,即控制發(fā)出發(fā)向?qū)Ψ降男盘柤肮芾碇袛?;?)對中斷允許寄存器的初始化,用于決定在接收的數(shù)據(jù)準(zhǔn)備好時,在發(fā)送保持寄存器空時、在接收字符出錯及MODEM 狀態(tài)改變時是否發(fā)中斷。
3.3 數(shù)據(jù)通信
當(dāng)某一方單片機接收到呼叫振鈴后,RI信號有效,8250的INTRPT引腳高電平中斷,系統(tǒng)便進入數(shù)據(jù)通信狀態(tài),為了使數(shù)據(jù)傳送準(zhǔn)確無誤,編程采用XMODEM協(xié)議對數(shù)據(jù)打包處理,單片機數(shù)據(jù)通信程序流程圖如圖4。
數(shù)據(jù)發(fā)送流程圖
數(shù)據(jù)接受流程圖
圖4 單片機數(shù)據(jù)通信程序流程圖
4 結(jié)束語
本文就多點單片機與PC機的電話遠程通信,比較詳細地介紹了軟、硬件設(shè)計思想,該系統(tǒng)由于采用普通電話網(wǎng)作為通信信道,實現(xiàn)一網(wǎng)多用,十分經(jīng)濟。而且后臺PC機用VB5.0開發(fā)通信和數(shù)據(jù)管理系統(tǒng)軟件既方便、可視又易操作、可靠。
評論