nRF401無線模塊調(diào)試工作筆記
Nrf401端 51單片機(jī)端
TXEN ----- P3.5
POUP ----- P3.6
GND ----- GND
D in ------ TXD(P3.1)
D out ----- RXD(P3.0)
VCC ----- VCC
發(fā)射和接收端的接線是一樣的。
采用匯編語(yǔ)言編寫的程序如下:
發(fā)射程序:
;這是一個(gè)AT89C51單片機(jī)向串口單向發(fā)送數(shù)據(jù)ASCII碼的演示程序
;串行口上可以直接接MAX232連接上DB9串口,或者連接nRF401模塊
;通訊波特率為9600KBPS,連續(xù)發(fā)送ASCII字符,延時(shí)一秒,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;設(shè)置成串口1方式 MOV TMOD,#20H;波特率發(fā)生器T1工作在模式2上 MOV PCON,#00H;波特率不翻倍 MOV TH1,#0FdH;預(yù)置初值(按照波特率9600BPS預(yù)置初值) MOV TL1,#0FdH;預(yù)置初值(按照波特率9600BPS預(yù)置初值) SETB TR1;啟動(dòng)定時(shí)器T1 setb p3.5 setb p3.6 ;使txen為1 發(fā)射模式 poup為1 工作模式 ;以上完成通訊初始化設(shè)置 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;延時(shí)子程序(精確定時(shí)一秒#10) d1:mov r6,#200 d2:mov r5,#229 djnz r5,$ djnz r6,d2 djnz r7,d1 setb ea ret END
;這是一個(gè)AT89C51單片機(jī)從串口單向接收數(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;設(shè)置成串口1方式 MOV TMOD,#20H;波特率發(fā)生器T1工作在模式2上 MOV PCON,#00H;波特率不翻倍 MOV TH1,#0FdH;預(yù)置初值(按照波特率9600BPS預(yù)置初值) MOV TL1,#0FdH;預(yù)置初值(按照波特率9600BPS預(yù)置初值) SETB TR1;啟動(dòng)定時(shí)器T1 CLR p3.5 ;使txen為0 接收模式 setb p3.6 ;使poup為1 工作模式 ;以上完成通訊初始化設(shè)置 begin: MOV A,SBUF ;將字符通過串口接收 wait: jnb ri,wait clr ri cpl a mov p1,a JMP begin END
評(píng)論