軟件設(shè)計(jì) - 基于nRF24L01和PIC16F877的無(wú)線(xiàn)數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)
軟件設(shè)計(jì)
要設(shè)計(jì)好系統(tǒng)的軟件,必須清楚其工作原理:首先給發(fā)射機(jī)上電,配置其L01為PRX,使其進(jìn)入接收模式等待主機(jī)的握手指令,此時(shí)采集裝置并未開(kāi)始工作。然后將接收機(jī)通過(guò)USB接口連接計(jì)算機(jī),運(yùn)行VB程序,點(diǎn)擊開(kāi)始試驗(yàn)按鈕,握手指令(H’33’)便通過(guò)接收機(jī)的L01 (上電配置為PTX)發(fā)射出去,發(fā)射機(jī)在接收到握手指令后,還要做出判斷,若不是H’33’,則繼續(xù)等待握手指令;若是,表示雙方建立連接成功,此時(shí)發(fā)射機(jī)的L01便配置為PTX,同時(shí)單片機(jī)向采集裝置發(fā)送一脈寬為3.6us的高電平脈沖以激活A(yù)/D,使其開(kāi)始采樣,采樣率為1KHz。由于每路傳感器信號(hào)都要被A/D采樣,并轉(zhuǎn)換為12bit數(shù)字量(認(rèn)為是2 Byte),那么10通道則為20 Byte,經(jīng)過(guò)單片機(jī)處理后再送入L01打包發(fā)射。350us之后,接收機(jī)收到該數(shù)據(jù),并通過(guò)單片機(jī)和USB芯片實(shí)時(shí)寫(xiě)入計(jì)算機(jī)緩存區(qū)內(nèi),這樣雙方數(shù)據(jù)傳輸10000次,每次20Byte,傳輸完畢后數(shù)據(jù)曲線(xiàn)會(huì)在VB界面上實(shí)時(shí)顯示。
基于以上分析,該系統(tǒng)軟件分為兩部分:?jiǎn)纹瑱C(jī)控制程序和計(jì)算機(jī)界面程序。前者主要完成以nRF24L01為核心的多通道信號(hào)的采集和無(wú)線(xiàn)傳輸,后者則完成信號(hào)的顯示,以供研究人員分析。本文只介紹控制程序,它采用模塊化程序設(shè)計(jì)方法, 分為發(fā)射機(jī)程序和接收機(jī)程序兩部分。其流程圖如圖3所示。

由于采集系統(tǒng)以1KHz進(jìn)行采樣,即每1ms送20Byte數(shù)據(jù),因此無(wú)線(xiàn)部分進(jìn)行一次傳輸需1ms。若接收機(jī)執(zhí)行接收子程序不夠1ms,則必須通過(guò)延遲補(bǔ)夠,以和發(fā)射同步。另外,在接收機(jī)程序中特設(shè)置800us定時(shí)器中斷,以防接收機(jī)因接收不到數(shù)據(jù)而長(zhǎng)時(shí)間等待,影響數(shù)據(jù)的傳輸效率。
- 第 1 頁(yè):基于nRF24L01和PIC16F877的無(wú)線(xiàn)數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)
- 第 2 頁(yè):軟件設(shè)計(jì)
- 第 3 頁(yè):問(wèn)題分析與實(shí)驗(yàn)結(jié)果
本文導(dǎo)航
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [電子說(shuō)] 構(gòu)建一個(gè)無(wú)線(xiàn)辦公室呼叫鈴電路 2023-07-25
- [電子說(shuō)] 詳解nRF24L01無(wú)線(xiàn)收發(fā)模塊設(shè)計(jì) 2023-05-26
- [電子說(shuō)] 能2公里無(wú)線(xiàn)遙控的2.4GHz遙控器 2023-03-04
- [電子說(shuō)] nRF24L01+RF模塊教程 2023-02-24
- [電子說(shuō)] 如何使用PIC16F877A和ACS712-5A制作數(shù)字電流表 2023-01-25
- [電子說(shuō)] 如何在PIC16F877A微控制器中使用EEPROM保存數(shù)據(jù) 2023-01-25
- [電子說(shuō)] 如何在PIC16F877A微控制器中使用中斷 2023-01-25
- [電子說(shuō)] nRF24L01無(wú)線(xiàn)通訊模塊的驅(qū)動(dòng)設(shè)計(jì)與實(shí)現(xiàn) 2022-12-08
( 發(fā)表人:李倩 )
