軟件設計 - 基于nRF24L01和PIC16F877的無線數據傳輸系統設計
軟件設計
要設計好系統的軟件,必須清楚其工作原理:首先給發射機上電,配置其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定時器中斷,以防接收機因接收不到數據而長時間等待,影響數據的傳輸效率。
- 第 1 頁:基于nRF24L01和PIC16F877的無線數據傳輸系統設計
- 第 2 頁:軟件設計
- 第 3 頁:問題分析與實驗結果
本文導航
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
相關閱讀:
- [電子說] 構建一個無線辦公室呼叫鈴電路 2023-07-25
- [電子說] 詳解nRF24L01無線收發模塊設計 2023-05-26
- [電子說] 能2公里無線遙控的2.4GHz遙控器 2023-03-04
- [電子說] nRF24L01+RF模塊教程 2023-02-24
- [電子說] 如何使用PIC16F877A和ACS712-5A制作數字電流表 2023-01-25
- [電子說] 如何在PIC16F877A微控制器中使用EEPROM保存數據 2023-01-25
- [電子說] 如何在PIC16F877A微控制器中使用中斷 2023-01-25
- [電子說] nRF24L01無線通訊模塊的驅動設計與實現 2022-12-08
( 發表人:李倩 )