專注電子技術(shù)學習與研究
當前位置:單片機教程網(wǎng) >> MCU設計實例 >> 瀏覽文章

nRF401無線模塊調(diào)試工作筆記

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2011年03月30日   【字體:

在淘寶網(wǎng)上買了兩塊nRF401無線數(shù)傳模塊。

與51系列單片機的接口設計如下:
Nrf401端     51單片機端
TXEN  -----   P3.5
POUP  -----   P3.6
GND   -----   GND
D in   ------   TXD(P3.1)
D out  -----    RXD(P3.0)
VCC   -----   VCC
發(fā)射和接收端的接線是一樣的。
采用匯編語言編寫的程序如下:
發(fā)射程序:
;這是一個AT89C51單片機向串口單向發(fā)送數(shù)據(jù)ASCII碼的演示程序
;串行口上可以直接接MAX232連接上DB9串口,或者連接nRF401模塊
;通訊波特率為9600KBPS,連續(xù)發(fā)送ASCII字符,延時一秒,0-9的循環(huán)。

;連線圖      TXEN -- P3.5 
;               POUP -- P3.6 
;                GND  -- GND 
;               D in   --  TXD (P3.1) 
;               D out --  RXD (P3.0) 
;               VCC   --  VCC 
;發(fā)射端的接法與接收端的接法是一樣的。 

ORG 0000H 
MOV SCON,#50H;設置成串口1方式 
MOV TMOD,#20H;波特率發(fā)生器T1工作在模式2上 
MOV PCON,#00H;波特率不翻倍 
MOV TH1,#0FdH;預置初值(按照波特率9600BPS預置初值) 
MOV TL1,#0FdH;預置初值(按照波特率9600BPS預置初值) 
SETB TR1;啟動定時器T1 
setb p3.5 
setb p3.6 ;使txen為1 發(fā)射模式  poup為1 工作模式 
;以上完成通訊初始化設置 
begin:mov a,#00h ;將ascii字符發(fā)送到串口去 
w2: MOV SBUF,A ;將字符通過串口發(fā)送出去 
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單片機從串口單向接收數(shù)據(jù)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 
;發(fā)射端的接法與接收端的接法是一樣的。 

ORG 0000H 
MOV SCON,#50H;設置成串口1方式 
MOV TMOD,#20H;波特率發(fā)生器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 


與2009年7月19日調(diào)試成功。 
是為記。  
關(guān)閉窗口

相關(guān)文章