AT89C51单片机在无线数据传输中的应用
发布时间:2008/6/3 0:00:00 访问次数:682
    
     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 通信软件设计
     通
    
     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 通信软件设计
     通