欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
51單片機匯編控制nRF24L01源程序+電路圖
[打印本頁]
作者:
zhangjin123
時間:
2019-4-2 19:33
標題:
51單片機匯編控制nRF24L01源程序+電路圖
基于nrfl2401芯片的無線傳輸電路原理圖如下:
11.jpg
(46.75 KB, 下載次數: 49)
下載附件
電路圖
2019-4-2 19:32 上傳
實驗時收發雙方都采用相同的電路
發送方程序如下:
org 0000H
AJMP START
;延時1/4s子程序
YANSHI1S: MOV R7,#250
YANSHI1S1: MOV R6,#250
YANSHI1S2: NOP
NOP
DJNZ R6,YANSHI1S2
DJNZ R7,YANSHI1S1
RET
;將58開始的單或多字節(字節數在R3中)寫入芯片
XIENB: MOV R0,#58H
CLR P1.7 ;SCN變低
XIE00: ACALL XIE1B
INC R0
DJNZ R3,XIE00
SETB P1.7
RET
;;將R0所指1單元按SPI時序寫入模塊,調用該子程序前,應將CSN線變低
;單次或多次調用完成后將CSN線變高
XIE1B: MOV R2,#8
MOV A,@R0
XIE1B1: RLC A
MOV P1.5,C ;數據送上MOSI線
SETB P1.4 ;數據移入模塊
CLR P1.4
DJNZ R2,XIE1B1
RET
;讀芯片狀態字 將芯片狀態字讀到5FH
DUZT: MOV R2,#8
SETB P1.5
CLR P1.7 ;CSN變低,
DUZT1: SETB P1.4 ;時鐘上升
MOV C,P1.3 ;讀入MISO線上的數據
MOV A,5FH
RLC A ;數據移入5FH寄存器
MOV 5FH,A
CLR P1.4
DJNZ R2,DUZT1
SETB P1.7 ;CSN變高,完成一次命令
RET
START: MOV P1,#0AFH ;模塊待機
MOV 58H,#20H ;準備寫0寄存器
MOV 59H,#0EH ;上電,發射模式
MOV R3,#02H
ACALL XIENB
MOV 58H,#21H ;01寄存器
MOV 59H,#03H ;0,1通道允許自動應答
MOV R3,#02H
ACALL XIENB
MOV 58H,#22H ;02
MOV 59H,#03H
MOV R3,#02H
ACALL XIENB
MOV 58H,#23H ;03寄存器
MOV 59H,#03H ;5字節地址寬帶
MOV R3,#02H
ACALL XIENB
MOV 58H,#24H ;04
MOV 59H,#14H ;重發等待500uS,重發4次,1A則重發10次,在206c處
MOV R3,#02H
ACALL XIENB
MOV 58H,#25H ;05寄存器
MOV 59H,#07H ;射頻頻率(匯編后在2076處)
MOV R3,#02H
ACALL XIENB
MOV 58H,#26H ;06
MOV 59H,#27H ;07為1M傳輸速率,0dB增益,27則為250k傳輸速率
MOV R3,#02H
ACALL XIENB
MOV 58H,#27H ;07
MOV 59H,#70H ;清模塊內中斷
MOV R3,#02H
ACALL XIENB
MOV 58H,#2AH ;0A寄存器(通道0)
MOV 59H,#02H ;配置地址
MOV 5AH,#3AH
MOV 5BH,#39H
MOV 5CH,#38H
MOV 5DH,#37H
MOV R3,#06H
ACALL XIENB
MOV 58H,#30H ;10寄存器
MOV R3,#06H ;發送地址
ACALL XIENB
MOV 58H,#2BH ;0B寄存器(通道1)
MOV 59H,#01H ;本機地址
MOV R3,#06H
ACALL XIENB
MOV 58H,#31H ;11寄存器
MOV 59H,#10H ;0通道有效數據寬帶16字節
MOV R3,#02H
ACALL XIENB
MOV 58H,#32H ;12寄存器
MOV 59H,#10H ;1通道有效數據寬度16字節
MOV R3,#02H
ACALL XIENB
XIEFS: MOV 58H,#0A0H ;寫發送數據到芯片
MOV R0,#58H
MOV R3,#10H
CLR P1.7
ACALL XIE1B
MOV R0,#70H
XIEXUN: ACALL XIE1B
INC R0
DJNZ R3,XIEXUN
SETB P1.7
SETB P1.6 ;啟動發射
MOV R7,#5
DJNZ R7,$
CLR P1.6
JB P3.2,$
cpl p1.0
ACALL DUZT ;讀狀態寄存器
MOV 58H,#27H ;07
MOV 59H,#70H ;清中斷
MOV R3,#02H
ACALL XIENB
MOV 58H,#0E1H ;清模塊發送緩沖區
MOV R3,#01H
ACALL XIENB
ACALL YANSHI1S
SJMP XIEFS
end
接收端程序:
org 0000H
AJMP START
org 0003H
AJMP EXINT0
;延時1/4s子程序
YANSHI1S: MOV R7,#250
YANSHI1S1: MOV R6,#250
YANSHI1S2: NOP
NOP
DJNZ R6,YANSHI1S2
DJNZ R7,YANSHI1S1
RET
;將58開始的單或多字節(字節數在R3中)寫入芯片
XIENB: MOV R0,#58H
CLR P1.7 ;SCN變低
XIE00: ACALL XIE1B
INC R0
DJNZ R3,XIE00
SETB P1.7
RET
;;將R0所指1單元按SPI時序寫入模塊,調用該子程序前,應將CSN線變低
;單次或多次調用完成后將CSN線變高
XIE1B: MOV R2,#8
MOV A,@R0
XIE1B1: RLC A
MOV P1.5,C ;數據送上MOSI線
SETB P1.4 ;數據移入模塊
CLR P1.4
DJNZ R2,XIE1B1
RET
;按SPI時序讀模塊一字節入單片機R0所指單元,調用該子程序前,應將CSN線變低
;單次或多次調用完成后將CSN線變高
DU1B: MOV R2,#8
DU1B1: SETB P1.4
MOV C,P1.3
RLC A
CLR P1.4
DJNZ R2,DU1B1
MOV @R0,A
RET
;按SPI時序讀模塊接收緩沖區數據入單片機R0所指單元,字節數在R3中
DUNB: PUSH 00H
MOV 58H,#61H ;寫一字節命令
MOV R0,#58H
CLR P1.7
ACALL XIE1B
POP 00H ;R0指向接收緩沖區首地址
DUXUN: ACALL DU1B
INC R0
DJNZ R3,DUXUN
SETB P1.7
RET
;讀芯片狀態字 將芯片狀態字讀到5FH
DUZT: MOV R2,#8
SETB P1.5 ;輸入芯片1
CLR P1.7 ;CSN變低,
DUZT1: SETB P1.4 ;時鐘上升
MOV C,P1.3 ;讀入MISO線上的數據
MOV A,5FH
RLC A ;數據移入5FH寄存器
MOV 5FH,A
CLR P1.4
DJNZ R2,DUZT1
SETB P1.7 ;CSN變高,完成一次命令
RET
...
全部資料51hei下載地址:
51匯編程序帶原理圖.rar
(39.98 KB, 下載次數: 47)
2019-4-2 19:32 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
zzzzffffpppp4
時間:
2019-8-21 10:50
spi是硬件還是模擬?
作者:
tghsea
時間:
2020-1-31 19:13
謝謝,收下了
作者:
guolh
時間:
2020-2-10 21:24
多謝老大分享!!!
作者:
123qqw
時間:
2020-4-9 02:00
感謝分享
作者:
damocles
時間:
2020-4-9 10:45
感謝樓主分享
作者:
NICOLE666
時間:
2020-4-25 21:29
親,想問下您這個原理圖是用什么畫的呢?我用的proteous,里面沒有NRF
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1