<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于單片機實現(xiàn)短距離無線通信設計

          基于單片機實現(xiàn)短距離無線通信設計

          作者: 時間:2012-10-19 來源:網(wǎng)絡 收藏

          3.2 與PTR2000接口電路的

          在圖2中,AT89C52主要完成數(shù)據(jù)的采集和處理,向PTR2000模塊發(fā)送數(shù)據(jù),并接收由PC機通過PTR2000傳送的數(shù)據(jù)。和相連的PTR2000模塊主要將單片機的待傳數(shù)據(jù)調制成射頻信號,再發(fā)送到PC機端的PTR2000模塊,同時接收PC機端的PTR2000模塊傳送的射頻信號,并調制成單片機可識別的TTL信號送至單片機。單片機的RXD和TXD引腳分別和PTR2000的DO和DI引腳連接,串行數(shù)據(jù)傳輸;決定PTR2000模塊工作模式的TXEN、CS、PWR 3個引腳分別和單片機I/O控制口的P2.0~P2.2相連,PTR2000工作時,由單片機中的運行控制程序實時控制其工作模式。

          3.3 PC機與PTR2000接口電路的

          該接口電路首先需進行電平轉換。PC機的串口支持RS-232標準,而PTR2000模塊支持TTL電平,選擇MAX232器件進行兩者間的電平轉換,接口電路如圖3所示。PTR2000模塊進行串行輸入、輸出,引腳DI、DO通過電平轉換器件和PC機串口相連;PTR2000的低功耗控制引腳。PWR接高電平VCC,即PTR2000固定工作在正常工作狀態(tài);頻道選擇引腳CS接GND低電平,即采用固定通信頻道1,固定工作在433.92 MHz;PC機串口的RTS信號控制TXEN引腳,以決定PTR2000模塊何時為接收和發(fā)射狀態(tài)。PC機和串口的傳輸速率設定為9 600 b/s,和單片機保持一致。

          4 軟件設計

          系統(tǒng)的軟件設計包括單片機端和PC機端兩部分,兩部分軟件相互配合,設置各自的PTR2000模塊的工作狀態(tài)。

          4.1 PTR2000模塊程序設計

          單片機和PC機端軟件配合設置PTR2000的狀態(tài)(發(fā)射或接收),選擇固定的通信頻道1(CS=0),并讓PTR2000模塊一直處于正常工作狀態(tài)(PWM=1)。過程如下:

          (1)發(fā)送在發(fā)送數(shù)據(jù)之前,應將PTR2000模塊置于發(fā)射模式,即TXEN=1。然后等待至少5 ms后(接收到發(fā)射的切換時間)才可發(fā)射數(shù)據(jù)。發(fā)送結束后,應將模塊置于接收狀態(tài),即TXEN=0。

          (2)接收應將PTR2000置于接收模式,即TXEN=0。單片機不發(fā)送的絕大部分時間都處于接收狀態(tài)。當單片機端發(fā)送時,PC機端應為接收;當PC機端發(fā)送時,單片機端應為接收。

          4.2 串行協(xié)議設計

          無線通信中,由于外部環(huán)境的干擾,通常誤碼率較高,因此通信協(xié)議的設計對保證通信的可靠性十分重要。協(xié)議的設計主要是幀結構的設計,在該無線通信系統(tǒng)中,存在指令幀和數(shù)據(jù)幀。數(shù)據(jù)幀的內容包括起始字節(jié)、數(shù)據(jù)長度字節(jié)、數(shù)據(jù)字節(jié)、結束字節(jié)和校驗和字節(jié),如表2所示。

          起始字節(jié)定義為“$”字符,其數(shù)值為0x24;結束字節(jié)定義為“*”字符,其數(shù)值為0x2A。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();