新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于nRF24L01和PIC16F877無線數據傳輸

        基于nRF24L01和PIC16F877無線數據傳輸

        作者: 時間:2009-11-13 來源:網絡 收藏

          3.軟件設計

          要設計好系統的軟件,必須清楚其工作原理:首先給發射機上電,配置其L01為PRX,使其進入接收模式等待主機的握手指令,此時采集裝置并未開始工作。然后將接收機通過USB接口連接計算機,運行VB程序,點擊開始試驗按鈕,握手指令(H’33’)便通過接收機的L01 (上電配置為PTX)發射出去,發射機在接收到握手指令后,還要做出判斷,若不是H’33’,則繼續等待握手指令;若是,表示雙方建立連接成功,此時發射機的L01便配置為PTX,同時單片機向采集裝置發送一脈寬為3.6us的高電平脈沖以激活A/D,使其開始采樣,采樣率為1KHz。由于每路傳感器信號都要被A/D采樣,并轉換為12bit數字量(認為是2 Byte),那么10通道則為20 Byte,經過單片機處理后再送入L01打包發射。350us之后,接收機收到該數據,并通過單片機和USB芯片實時寫入計算機緩存區內,這樣雙方數據傳輸10000次,每次20Byte,傳輸完畢后數據曲線會在VB界面上實時顯示。

          基于以上分析,該系統軟件分為兩部分:單片機控制程序和計算機界面程序。前者主要完成以nRF24L01為核心的多通道信號的采集和,后者則完成信號的顯示,以供研究人員分析。本文只介紹控制程序,它采用模塊化程序設計方法, 分為發射機程序和接收機程序兩部分。其流程圖如圖3所示。

          

          由于采集系統以1KHz進行采樣,即每1ms送20Byte數據,因此無線部分進行一次傳輸需1ms。若接收機執行接收子程序不夠1ms,則必須通過延遲補夠,以和發射同步。另外,在接收機程序中特設置800us定時器中斷,以防接收機因接收不到數據而長時間等待,影響數據的傳輸效率。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 广河县| 晋江市| 茶陵县| 宜春市| 离岛区| 长泰县| 德庆县| 东乡县| 孟津县| 鄂尔多斯市| 宁乡县| 弋阳县| 兴化市| 岗巴县| 安阳市| 库尔勒市| 防城港市| 鸡东县| 龙里县| 昌邑市| 体育| 黑龙江省| 措美县| 龙江县| 石台县| 潼南县| 南江县| 和田县| 旬阳县| 承德市| 乐清市| 滨海县| 合肥市| 通榆县| 辽阳县| 凤山市| 金沙县| 阜阳市| 佛学| 渝北区| 苏州市|