📄 nrf2401r.asm
字号:
;****************************
;接收部分程序
;****************************
; I/O口设置
;****************************
dataio bit p1.2
clk1 bit p1.5
dr1 bit p1.3
cs bit p1.4
ce bit p1.1
pwr_up bit p1.0
led1 bit p3.4
led2 bit p3.5
;****************************
; 配置初值地址
;****************************
config_data0 equ 30H
config_data1 equ 31H
config_data2 equ 32H
config_data3 equ 33H
config_data4 equ 34H
config_data5 equ 35H
config_data6 equ 36H
config_data7 equ 37H
config_data8 equ 38H
config_data9 equ 39H
config_data10 equ 3AH
config_data11 equ 3BH
config_data12 equ 3CH
config_data13 equ 3DH
config_data14 equ 3FH
transmit_data0 equ 40h
transmit_data1 equ 41h
transmit_data2 equ 42h
transmit_data3 equ 43h
transmit_data4 equ 44h
number1 equ 45h
org 0000h
sjmp main
org 0030h
main: lcall int
lcall nrf2401pz
MAIN1: ;setb ce
;lcall delay200us
; mov number1,#00h
;clr c
; setb dataio
LCALL NRFR
cpl led2
mov r5,#20
l2: djnz r5,l1
; mov a,number1
;rlc a
;mov led2,c
;clr c
;clr ce
sjmp MAIN1
l1: lcall delay3ms
sjmp l2
;**********************************
;初始化程序
;**********************************
int: clr pwr_up
nop
nop
setb pwr_up
clr ce
clr cs
clr clk1
clr dataio
setb led1
setb led2
ret
;*********************************
;2401配置
;*********************************
nrf2401pz:
mov config_data0,#08h
mov config_data1,#08h
mov config_data2,#00h
mov config_data3,#0ddh
mov config_data4,#0ddh
mov config_data5,#0ddh
mov config_data6,#0ddh
mov config_data7,#00h
mov config_data8,#0ddh
mov config_data9,#0ddh
mov config_data10,#0ddh
mov config_data11,#0ddh
mov config_data12,#83h
mov config_data13,#6Eh
mov config_data14,#05h
setb pwr_up
lcall delay3ms
setb cs
mov r2,#15
mov r0,#30h
pz: mov r1,#08h
mov a,@r0
lop: rlc a
mov dataio,c
nop
setb clk1
nop
clr clk1
djnz r1,lop
inc r0
djnz r2,pz
clr cs
ret
;******************************
;接收数据
;实现1个字节数据的接收
;******************************
NRFR: setb ce
LCALL delay200us
jnb dr1,nrfr
;cpl led2
nop
mov r0,#08h
nrfr1: setb clk1
mov c,dataio
mov a,number1
rlc a
mov number1,a
clr clk1
djnz r0,nrfr1
clr ce
ret
;******************************
;延时程序
;******************************
delay3ms: mov r6,#10
dl1: mov r7,#150
dl2: djnz r7,dl2
djnz r6,dl1
ret
delay200us: mov r7,#100
dl3: djnz r7,dl3
ret
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -