基于A(yíng)T89C52單片機實(shí)現短距離無(wú)線(xiàn)通信
無(wú)線(xiàn)通信系統的軟件設計包括單片機端和PC機端兩部分,兩部分軟件相互配合,設置各自的PTR2000模塊的工作狀態(tài)。
4.1 PTR2000模塊程序設計
單片機和PC機端軟件配合設置PTR2000的狀態(tài)(發(fā)射或接收),選擇固定的通信頻道1(CS=0),并讓PTR2000模塊一直處于正常工作狀態(tài)(PWM=1)。無(wú)線(xiàn)通信實(shí)現過(guò)程如下:
(1)發(fā)送在發(fā)送數據之前,應將PTR2000模塊置于發(fā)射模式,即TXEN=1。然后等待至少5 ms后(接收到發(fā)射的切換時(shí)間)才可發(fā)射數據。發(fā)送結束后,應將模塊置于接收狀態(tài),即TXEN=0。
(2)接收應將PTR2000置于接收模式,即TXEN=0。單片機不發(fā)送的絕大部分時(shí)間都處于接收狀態(tài)。當單片機端發(fā)送時(shí),PC機端應為接收;當PC機端發(fā)送時(shí),單片機端應為接收。
4.2 串行無(wú)線(xiàn)通信協(xié)議設計
無(wú)線(xiàn)通信中,由于外部環(huán)境的干擾,通常誤碼率較高,因此通信協(xié)議的設計對保證通信的可靠性十分重要。協(xié)議的設計主要是幀結構的設計,在該無(wú)線(xiàn)通信系統中,存在指令幀和數據幀。數據幀的內容包括起始字節、數據長(cháng)度字節、數據字節、結束字節和校驗和字節,如表2所示。本文引用地址:http://dyxdggzs.com/article/173535.htm
起始字節定義為“$”字符,其數值為0x24;結束字節定義為“*”字符,其數值為0x2A。
采用校驗和的方法進(jìn)行幀的校驗,將所有字節相加,然后將結果截短到所需的位長(cháng)。發(fā)送端對待發(fā)送的數據進(jìn)行校驗和計算,將校驗和值放在數據后一起發(fā)送;在接收端,對接收到的數據進(jìn)行校驗和計算,然后與收到的校驗和字節比較,進(jìn)行誤碼判斷。
對于單片機,指令幀主要有3種:PC機發(fā)送給單片機的請求發(fā)送指令、錯誤/超時(shí)重發(fā)指令、單片機發(fā)給PC機的發(fā)送完畢指令。在該系統設計中指令幀采用數據幀的格式,將其中的。數據字節固定為一個(gè)字節,根據定義的字節判斷數據狀態(tài)。
4.3 程序流程
單片機開(kāi)始需將無(wú)線(xiàn)數據傳輸模塊PTR2000設置處于接收狀態(tài),通過(guò)串口中斷識別由PC機通過(guò)無(wú)線(xiàn)信道傳輸來(lái)的指令,根據接收指令的內容采集數據并啟動(dòng)發(fā)送。發(fā)送前需將PTR2000模塊設置為發(fā)射狀態(tài),且等待5 ms才可發(fā)送,發(fā)送完畢后,向PC機端發(fā)送“發(fā)送結束指令”,并將PTR2000模塊重設為接收狀態(tài)。圖4為系統軟件設計流程圖。
5 結束語(yǔ)
單片機無(wú)線(xiàn)通信系統設計基于PTR2000無(wú)線(xiàn)數據傳輸解決方案,可實(shí)現小于300 m的短距離通信,通過(guò)實(shí)驗驗證該無(wú)線(xiàn)數據傳輸系統運行良好,單片機控制得相當準確。在應用時(shí)將系統作為一個(gè)模塊可方便地移植,以便構建更為復雜的無(wú)線(xiàn)通信網(wǎng)絡(luò ),可應用于小型無(wú)線(xiàn)網(wǎng)絡(luò )、無(wú)線(xiàn)抄表、小區傳呼、工業(yè)數據采集系統、安全防火系統等領(lǐng)域,具有一定實(shí)用價(jià)值。
評論