單片機(jī)與PC機(jī)電話遠(yuǎn)程通信系
1.引言
隨著通信技術(shù)的不斷發(fā)展,計算機(jī)網(wǎng)絡(luò)系統(tǒng)通信是當(dāng)今技術(shù)發(fā)展的一個重要的方向,然而在網(wǎng)絡(luò)系統(tǒng)中利用現(xiàn)有電話網(wǎng)作為通信信道則是最經(jīng)濟(jì)、最方便和最可靠的方法。當(dāng)前現(xiàn)代電話通信網(wǎng)已經(jīng)進(jìn)入程控交換時代,技術(shù)比較先進(jìn),速度快,容量大,因此采用電話通信網(wǎng)建立數(shù)據(jù)通信系統(tǒng)確實具有其獨特的優(yōu)越性。
本文引用地址:http://www.ex-cimer.com/article/20938.htm利用單片機(jī)系統(tǒng)采集灌區(qū)水位、水流量,實現(xiàn)無人職守和科學(xué)的管理水資源具有實際意義,特別對少雨缺水地區(qū)更具有應(yīng)用價值。
2.系統(tǒng)硬件設(shè)計
本系統(tǒng)采用了modem將前端單片機(jī)采集的數(shù)據(jù)通過電話網(wǎng)遠(yuǎn)程傳輸?shù)街行恼緋c機(jī),并實現(xiàn)一對多點通信(站點數(shù)、通信距離均不限),后臺pc機(jī)通過撥號的方式對各站點進(jìn)行數(shù)據(jù)接收并實時存儲記錄、查詢、打印。系統(tǒng)框圖如圖1所示。
圖1 系統(tǒng)框圖單片機(jī)系統(tǒng)從傳感器(含數(shù)字編碼器)直接采集數(shù)字信號,通過rs232接口送給本端的modem,modem將數(shù)字信號調(diào)制成音頻模擬信號在電話線上傳輸,再經(jīng)中心站modem調(diào)制成數(shù)字信號送往pc機(jī)。系統(tǒng)中modem采用外置式hayes144型,用戶使用賀氏標(biāo)準(zhǔn)at命令呼叫和應(yīng)答,實現(xiàn)與遠(yuǎn)程系統(tǒng)的通信。
上述單片機(jī)系統(tǒng)的硬件設(shè)計關(guān)鍵在于:(1)單片機(jī)89c51與異步收發(fā)器8250的接口,8250具有與modem接口和控制串行通信的能力。8250輸入輸出均為ttl電平,按eia(國際電子工業(yè)合作會)rs232標(biāo)準(zhǔn),采用串行收發(fā)驅(qū)動器芯片icl232或max232進(jìn)行電平轉(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 單片機(jī)系統(tǒng)原理圖3.系統(tǒng)軟件設(shè)計
該系統(tǒng)前臺機(jī)軟件由mcs51匯編程序設(shè)計,后臺機(jī)軟件由vb5.0程序設(shè)計(略述),前臺單片機(jī)系統(tǒng)通信軟件主程序框圖如圖3所示。
圖3 單片機(jī)系統(tǒng)程序流程圖3.1 modem通信中的at命令
modem使用at命令可以分三個階段:初始化、呼叫與應(yīng)答、拆鏈掛機(jī)?! ?
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之間如同普通電話機(jī)相互通信,只要呼叫方發(fā)出撥號命令:atdt6688787(數(shù)字表示電話號),便可形成通信鏈路,該命令用在pc機(jī)通信軟件的編程中。
通信完成后,雙方modem要拆鏈掛機(jī),在pc機(jī)通信軟件的編程中采用如下at命令完成掛機(jī):
+ + + ‘轉(zhuǎn)義序列
延遲1秒 ‘1s靜寂
ath0 ‘掛機(jī)
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)某一方單片機(jī)接收到呼叫振鈴后,ri信號有效,8250的intrpt引腳高電平中斷,系統(tǒng)便進(jìn)入數(shù)據(jù)通信狀態(tài),為了使數(shù)據(jù)傳送準(zhǔn)確無誤,編程采用xmodem協(xié)議對數(shù)據(jù)打包處理,單片機(jī)數(shù)據(jù)通信程序流程圖如圖4。
數(shù)據(jù)發(fā)送流程圖 受流程圖 圖4 單片機(jī)數(shù)據(jù)通信程序流程圖4 結(jié)束語
本文就多點單片機(jī)與pc機(jī)的電話遠(yuǎn)程通信,比較詳細(xì)地介紹了軟、硬件設(shè)計思想,該系統(tǒng)由于采用普通電話網(wǎng)作為通信信道,實現(xiàn)一網(wǎng)多用,十分經(jīng)濟(jì)。而且后臺pc機(jī)用vb5.0開發(fā)通信和數(shù)據(jù)管理系統(tǒng)軟件既方便、可視又易操作、可靠。
評論