第1頁nrf24l01
流程圖、引腳定義
n yy n
n 開始
時鐘ic
、lcd
液晶、溫度感測器
初始化nrf24l01
配置模式
判斷鍵盤是
否有動作
?資料採集
和顯示將採集到的資料
裝入發射暫存器
啟動發射
發射是否完成
? 按鍵處理子程式
是否處理完
? 第2頁
nn y
yn 開始
序列通訊
初始化啟動接收
判斷是否有資料更新
? 讀取新接收
到的資料
將資料裝入串列埠
緩衝器等待傳送
判斷傳送是否結束
?nrf24l01
配置模式
第3頁n
y ny n
掃瞄整個鍵盤
延時,去抖動
是否真有鍵按下
?掃瞄第一行
掃瞄第二行
返回鍵值
返回是否有鍵按下
?是否有鍵按下
?第4頁
n yn y
y n掃瞄整個鍵盤延時,去抖動是否真有鍵按下
?掃瞄第一行掃瞄第二行返回鍵值返回是否有鍵按下?是否有鍵按下第5頁引腳名稱引腳功能描述
1 ce
數字輸入片內使能啟動接收或發射模式
2 csn
數字輸入
spi片選
3 sck
數字輸入
spi時鐘
4 mosi
數字輸入
spi從機資料輸入
5 miso
數字輸出
spi從機資料輸出
6 irq
數字輸出中斷標誌引腳,低電平有效
7 vdd
電源供電電源(
+1.9v
~+3.6v dc
)8 vss
電源接地
9 xc2
模擬輸出晶振引腳
2 10 xc1
模擬輸入晶振引腳
1 11 vdd_pa
電源輸出電源輸出以提供電源給
nrf24l01
內部功率放大器,必須與天線介面相連線
12 ant1 rf
天線介面
1 13 ant2 rf
天線介面
2 14 vss
電源接地線
15 vdd
電源供電電源(
+1.9v
~+3.6v dc
)16 iref
模擬輸入參考電流,與乙個
22kω電阻連線到地
17 vss
電源接地線
18 vdd
電源供電電源(
+1.9v
~+3.6v dc
)19 ***d
電源輸出內部資料供電輸出
20 vss
電源接地線第6頁
開始上電待機模式
ice=1?
有資料報在
fifo
?發射處理發射模式傳送資料報自動重發使能
?no_ack
有效?接收處理接收模式應答是否接收到
?應答載入了?
把ack
載入到接收
fifo
置位tx_ds
irq停止
?待機模式
iard
消除了?
重試次數是否等於
arc發射處理發射模式重發上一次資料報置位max_rt
irq置位
tx_ds
irqce=1?
有資料報在
fifo
?有資料報在
fifo
?ce=1?
待機模式
ii第7頁接收模式待機模式
ice=1?
ce=1?
接收處理開始上電接收
fifo
滿了?接收到資料報?
自動應答使能
?是新資料報嗎
?把資料報放入接收
fifo
並置位rx_drirq
丟棄該資料報把資料報放入接收
fifo
並置位rx_drirq
置位tx_ds
irq有伴隨著上一應答嗎?
無應答設定在接收包放入
tx fifo
?發射處理發射模式傳送應答發射處理發射模式傳送應答和資料報第8頁開始初始化串列埠資料傳送結束?
把資料裝載到
sbuf結束
stc89c58
nrf24l01
無線模組
lcd液晶顯示模組時鐘模組溫度感測器鍵盤模組stc89c52
rs232
序列傳輸
nrf24l01
無線模組pc機
NRF24L01接收程式
標頭檔案 檔名 建立人 動車組 日期 2012 8 21 功能描述 用nrf24l01傳送一定位元組數的資料或者接收資料 占用資源 四位控制spi匯流排的io線和 1位nrf24l01模式控制引腳 占用乙個中段 include uchar code tx address tx adr width 本...
nrf24l01傳送和接收程式
1 傳送 include include typedef unsigned char uchar typedef unsigned char uint io埠定義 sbit miso p1 2 sbit mosi p3 2 sbit sck p1 6 sbit ce p1 5 sbit csn p1...
NRF24L01 中斷方式 接收部分
小強號車體程式 irq中斷 接收端 stc12c5052ad date 11 11 02 作者 phoenix include stc12c2052ad.h include include typedef unsigned char uchar typedef unsigned char uint ...