AT89C51单片机在无线数据传输中的应用
A2:JB RI,A2 ;串口有数据转A3
本文链接地址:http://www.oyaya.net/fanwen/view/161796.html
A3:CLR RI ;清接收中断标志
MOV A,SBUF ;读串口数据
CJNE A,#55H,A1;不是同步符转A1
INC NUM ;收到的同步符个数加1
MOV A,NUM ;取收到的同步符个数
CJNE A,#5,A2 ;未收够连续5个55H转A2
A4:MOV NUM,#0 ;密码验证,记录收到密码字节数
A5:MOV DPTR,#MIM;密码字符首址
MOV A,NUM
MOVC A,@A+DPTR;查表取密码
MOV TEMP,A ;保存密码
JB RI,A6 ;串口收完一个字节转A6
…
A6:CLR RI ;清接收中断标志
MOV A,SBUF ;读串口数据
CJNE A,TEMP,A4;与密码不符转
A4
INC NUM ;收到的密码个数加1
MOV A,NUM ;取已收到的密码字节数
CJNE A,#3,A5 ;密码未收完转A5
发送程序:
CLR P3.5 ;置电台发状态
MOV B,#23
MOV DPTR,#ROM-CH
B1:CLR A
MOVC A,@A+DPTR;查表发送同步符和密码共24字节
INC DPTR
LCALL SEND-CH ;调发送单字节子程序
DJNZ B,B1
…
CLR A
MOV DPTR,#7000H;外部RAM数据首址,发送外部RAM中的数据到电台
B2:CJNE R4,#0,B3
CJNE R3,#0,B3;R4R3=发送字节数
B3:MOVX A,@DPTR;取数据
INC DPTR
LCALL SEND-CH
CJNE R3,#0,B4
CJNE R4,#0,B5
B4:DEC R3
LJMP B2
DEC R3
DEC R4
LJMP B2
《AT89C51单片机在无线数据传输中的应用(第3页)》