微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机在无线数据传输中的应用

51单片机在无线数据传输中的应用

时间:12-28 来源:互联网 点击:

发/主控站收时,验证方式与此相同。验证通过后,测量站开始发送数据。

*一个指令由3字节构成,第二字节等于第一字节加上35H,第3字节等于第二字节加上36H。如果收到的指令不符合此规则,则重发该命令,连续三次错误时停发。

*主控站每发一个指令,测量站都回送一个应答信号。该应答信号中包含原指令样本。

下面给出单片机串行口与电台的基本通信程序。

初始化程序:

BTL EQU 2FH ;波特率放在内部RAM的2FH单元

MOV TMOD,#21H;T0方式1,16位计数器,T1方式2,串口用

SETB TR0 ;启动T0

MOV BTL,#0F3H ;波特率设定为1200

MOV SCON,#0C0H;串口方式3,9位数据,禁止接收

接收及验证程序:

NUM EQU 2BH ;同步符个数值存放在内部RAM的2BH单元

TEMP EQU 2CH

ROM-CH:DB 55H,55H,55H,55H,55H,55H,55H,55H,55H,55H

DB 55H,55H,55H,55H,55H,55H,55H,55H,55H,55H ;20字节同步符

MIM DB 'WSC':3字节密码“WSC”

SETB P3.5 ;置电台收状态

SETB REN ;允许串口接收

A1:MOV NUM,#0 ;记录连续到同步符55H的个数

A2:JB RI,A2 ;串口有数据转A3

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

SEND-CH:SETB TB8

MOV SBUF,A

DB 0,0,0,0,0,0,0,0

JNB TI,$ ;延时4μs

CLR TI

RET

结语

无线数据传输系统建成后,已经使用了两年多,运行结果表明,系统工作稳定可靠。由于采用了较完善的软硬件设计和抗干扰措施,保证了系统工作的安全性和可靠性。测量站把采集的现场信号及时传送到主控站,提高了数据处理的实时性。单片机和数字电台接口的软硬件设计具有很强的适用性,可广泛应用于无线数传设备。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top