51/AVR单片机技术驿站!  <在线翻译>     便利工具    特色网址   无弹窗、无插件的绿色站点...  英才招聘   学历查询  喜欢>>收藏我站 

当前位置:首页 > 单片机技术文章 > 51单片机 > 详细内容
AT89C51单片机在无线数据传输中的应用
发布时间:2009/7/7  阅读次数:1519  字体大小: 【】 【】【

3 通信软件设计
        通信软件至关重要,一旦出现问题,整个系统就会瘫痪。采取差错控制与容错技术是非常重要的。
*主控站发送的指令中包含一定数量的同步符55H和3字节的密码。测量站在连续收到5个同步符后进行密码验证,验证通过后正式接收指令字节;如未通过,则测量站发一信号让主控站重发,三次验证不过则停发该命令。测量站发/主控站收时,验证方式与此相同。验证通过后,测量站开始发送数据。
*一个指令由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
结语
无线数据传输系统建成后,已经使用了两年多,运行结果表明,系统工作稳定可靠。由于采用了较完善的软硬件设计和抗干扰措施,保证了系统工作的安全性和可靠性。测量站把采集的现场信号及时传送到主控站,提高了数据处理的实时性。单片机和数字电台接口的软硬件设计具有很强的适用性,可广泛应用于无线数传设备。

  

我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
所有评论[0]
    暂无已审核评论!

网站导航 管理登陆 ┊ 免责声明 问题反馈  友链说明
本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正!
不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作!

    我要报警 Alexa
 mcusy_cn#126.com (请把#改成@) 交流:522422171
本站学习交流群:138..158(高级群1-)、77930286(高级群2)、61804809(群3)
Copyright© MCUSY All Rights Reserved
本站网警备案号: WZ36040002485
  ICP备案证书号:粤ICP备09034963号