×
单片机 > 单片机程序设计 > 详情

nRF401无线模块调试工作笔记

发布时间:2020-05-16 发布时间:
|
与51系列单片机的接口设计如下:
Nrf401端     51单片机端
TXEN  -----   P3.5
POUP  -----   P3.6
GND   -----   GND
D in   ------   TXD(P3.1)
D out  -----    RXD(P3.0)
VCC   -----   VCC
发射和接收端的接线是一样的。
采用汇编语言编写的程序如下:
发射程序:
;这是一个AT89C51单片机向串口单向发送数据ASCII码的演示程序
;串行口上可以直接接MAX232连接上DB9串口,或者连接nRF401模块
;通讯波特率为9600KBPS,连续发送ASCII字符,延时一秒,0-9的循环。
;连线图      TXEN -- P3.5 
;               POUP -- P3.6 
;                GND  -- GND 
;               D in   --  TXD (P3.1) 
;               D out --  RXD (P3.0) 
;               VCC   --  VCC 
;发射端的接法与接收端的接法是一样的。 

ORG 0000H 
MOV SCON,#50H;设置成串口1方式 
MOV TMOD,#20H;波特率发生器T1工作在模式2上 
MOV PCON,#00H;波特率不翻倍 
MOV TH1,#0FdH;预置初值(按照波特率9600BPS预置初值) 
MOV TL1,#0FdH;预置初值(按照波特率9600BPS预置初值) 
SETB TR1;启动定时器T1 
setb p3.5 
setb p3.6 ;使txen为1 发射模式  poup为1 工作模式 
;以上完成通讯初始化设置 
begin:mov a,#00h ;将ascii字符发送到串口去 
w2: MOV SBUF,A ;将字符通过串口发送出去 
wait: jnb ti,wait 
clr ti 
PUSH ACC 
CPL A 
MOV P1,A 
POP ACC 
inc a 
call yshi1 
cjne a,#0Ah,w2 
JMP begin 
yshi1:clr ea 
mov r7,#40;延时子程序(精确定时一秒#10) 
d1:mov r6,#200 
d2:mov r5,#229 
djnz r5,$ 
djnz r6,d2 
djnz r7,d1 
        setb ea 
        ret 

END 

;这是一个AT89C51单片机从串口单向接收数据ASCII码的演示程序
;串行口上可以直接接MAX232连接上DB9串口,或者连接nRF401模块
;通讯波特率为9600KBPS,接收ASCII字符

;连线图      TXEN -- P3.5 
;            POUP -- P3.6 
;            GND  -- GND 
;           D in  --  TXD (P3.1) 
;           D out --  RXD (P3.0) 
;           VCC   --  VCC 
;发射端的接法与接收端的接法是一样的。 

ORG 0000H 
MOV SCON,#50H;设置成串口1方式 
MOV TMOD,#20H;波特率发生器T1工作在模式2上 
MOV PCON,#00H;波特率不翻倍 
MOV TH1,#0FdH;预置初值(按照波特率9600BPS预置初值) 
MOV TL1,#0FdH;预置初值(按照波特率9600BPS预置初值) 
SETB TR1;启动定时器T1 
CLR  p3.5 ;使txen为0 接收模式 
setb p3.6 ;使poup为1 工作模式 
;以上完成通讯初始化设置 
begin: MOV A,SBUF ;将字符通过串口接收 
wait: jnb ri,wait 
clr ri 
cpl a 
              mov p1,a 
JMP begin 


END 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM 汇编的必知必会