访问电脑版页面

导航:老古开发网手机版51单片机51单片机的应用

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

导读:
关键字:

    1 系统组成

    系统组成如图1、图2所示 

    

    系统由测量站和主控站两部分组成。测量站主要完成对现场信号的采集、存储,接收遥控指令并发送数据。主控站的主要工作是发送遥控指令、接收数据信息、进行数据处理和数据管理、随机显示打印等。

    2 AT89C51与数字电台的串行通信

    Atmel公司的AT89C51单片机,是一种低功耗、高性能的、片内含有4KB Flash ROM的8位CMOS单片机,工作电压范围为2.7~6V(实际使用+5V供电),8位数据总线。它有一个可编程的全双工串行通信接口,能同时进行串行发送和执着收。通过RXD引脚(串行数据接收端)和TXD引脚(串行数据发送端)与外界进行通信。

    2.1 通信协议与波特率

    数字电台与单片机、终端主控机的通信协议为:

    通信接口--标准串行RS232接口,9线制半双工方式;

    通信帧格式--1位起始位,8位数据位,1位可编程数据位,1位停止位;

    波特率--1200 baud。

    数字电台选用Motorola公司的GM系列车载电台,工作于VHF/UHF频段,可进行无线数传(9线制标准串行RS232接口),也可进行话音通信;采用二进制移频键控(2FSK)调制解调方式,符合国际电报电话咨询委员会 CCITT.23标准。在话带内进行数字传输时,推荐在不高于1200b/s数据率时使用。实际使用时,电台工作于220~240MHz频率范围,采用半双工方式(执行收、发操作,但不能同时进行)即可满足系统要求。

    2.2 AT89C51串行口工作方式

    AT89C51串行口可设置四种工作方式,可有8位、10位和11位帧格式。本系统中,AT89C51串行口工作于方式3,即鳘帧11位的异步通信格式:1位起始位,8位数据位(低位在前),1位可编程数据位,1位停止位。

    发送前,由软件设置第9位数据(TB8)作奇偶校验位,将要发送的数据写入SBUF,启动发送过程。串行口能自动把TB8取出,装入到第9位数据的位置,再逐一发送出去。发送完毕,使TI=1。
接收时,置SCON中的REN为1,允许接收。当检测到RXD(P3.0端有"1"到 "0"的跳变(起始位)时,开始接收9位数据,送入移位寄存器(9位)。当满足RI=0且SM2=0或接收到的9位数据为1时,前8位数据送入SBUF,第9位数据送入SCON中的RB8,置RI为1;否则,这次接收无效,不置位RI。

    串口方式3的波特率由定时器T1的溢出率与SMOD值同时决定:

    方式3波特率=T1溢出率/n

    当SMOD=0时,n=32;SMOD=1时,n=16。T1溢出率取决于T1的计数速率(计数速率=fosc/12)和TI预置的初值。

    定时器T1用作波特率发生器,工作于模式2(自动重装初值)。设TH1和TL1定时计数初值为X,则每过"2 8-X"个机器周期,T1就会发生一次溢出。初值X确定如下:

    X=256-fosc×(SMOD+1)/384×BTL

    本系统中,SMOD=0,波行率BTL=1200,晶振fosc=6MHz,所以初值X=F3H。

    2.3 AT89C51与数字电台的硬件连接

    AT89C51与数字电台的硬件连接如图3所示。

    

    系统采用异步串行通信方式传输测量数据。利用单片机串口与数字电台RS232数据口相连。电台常态为收状态(PPT=0,收状态;PPT=1,发状态),单片机P3.5脚输出高电平。单片机使用TTL电平,电台使用RS232电平,由 MAX232完成TTL电平与RS232电平之间的转换。3片光电耦合器6N137实现单片机与电台之间的电源隔离,增强系统抗干扰性能。

    单片机通过带控制端的三态缓冲门74HC125、非门74HC14控制电台的收发转换,以及指令的接收和数据发送。接收时,P3.5=1,c2=1,74HC125B截止;P3.5经74HC14反相、光电隔离,使电台PPT脚为低电平,将其置为接收状态;同时c1=0,74HC125A导通,接收的指令由电台的RXD端输入,经MAX232电平变换、光电隔离、74HC125A缓冲门,送入单片机RXD脚。发射时,P3.5=0,经74HC14反相、光电隔离,使电台PPT脚为高电平,将其置为发射状态;同时c1=1,74HC125A截止,c2=0,74HC125B导通,数据由单片机TXD脚输出,经74HC125B缓冲门、光电隔离、MAX232电平变换,通过电台TXD端口将数据发送出去。

    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 iWSC i: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

    结语

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

来源:单片机及嵌入式系统应用   作者:  2007/5/11 0:00:00
栏目: [ 51单片机的应用]

相关阅读

[转载]基于51单片机的数控电源设计

基于MCS-51单片机的IEEE-488接口设计

IS22C011/20语音芯片的原理及在MCS-51单片机中的应用

51单片机红外遥控旋转LED数字电子钟

基于AT89C51单片机的十进制计算器系统设计

基于AT89S51单片机的监控与管理系统的设计

基于51单片机的多功能数字电子钟设计

基于51单片机的超声波测距模块设计

AT89S51单片机驱动扬声器实现报警器功能的设计

51单片机数字钟温度计的编程实例

8051单片机在机器人技术和医疗领域的应用

C8051单片机实现多目标超声波测距的设计

基于GNS97C2051单片机的数据采集系统设计

基于AT89C2051单片机的门禁系统应答器电路设计

8051单片机供水系统水位控制的硬件电路设计

基于MCS-51单片机控制的检测智能在线实时控制系统设计

51单片机对串联锂离子电池组监测系统的设计

基于AT89S51单片机实现信号频率计数功能的设计

基于AT89S51单片机的PID温度控制系统设计

AT89S51单片机实现可预置可逆4位计数器的设计