基于51单片机实现短距离无线通信

发布者:芳华逝水最新更新时间:2011-10-14 关键字:51单片机  短距离无线通信 手机看文章 扫描二维码
随时随地手机看文章

    1 引言

    短距离无线传输具有抗干扰性能强、可靠性高、安全性好、受地理条件限制少、安装灵活等优点,在许多领域有着广泛的应用前景。低功耗、微型化是用户对当前无线通信产品尤其是便携产品的实际需求,短距离无线通信逐渐引起广泛关注。常见的短距离无线通信有基于802.11的无线局域网WLAN、蓝牙 (blueTooth)、HomeRF及欧洲的HiperLAN(高性能无线局域网),但其硬件设计、接口方式、通信协议及软件堆栈复杂,需专门的开发系统,开发成本高、周期长,最终产品成本也高。因此这些技术在嵌入式系统中并未得到广泛应用。普通RF产品不存在这些问题,且短距离无线数据传输技术成熟,功能简单、携带方便,使其在嵌入式短程无线产品中得到了广泛应用。

  2 PTR2000引脚简介及设计

  2.1 PTR2000器件引脚功能

  PTR2000是基于nRF401器件的无线数据传输模块,采用低发射频率、高灵敏度设计。该器件使用433 MHz频段,是真正的单片UHF无线收发一体器件,其工作模式包括工作频道的设置和发送、接收、待机状态,由TXEN、CS、PWM 3个引脚共同决定,其工作模式设置如表1所示。

工作模式设置

  2.2 PrR2000模块设计

  该器件外围的主要电路有以下两个:

  (1)与单片机的连接电路单片机AT89C52的RXD和TXD引脚与PTR2000模块的DO和DI引脚直接相连。PTR2000的模式控制引脚与单片机的控制引脚相连。

  (2)与PC机的连接电路采用MAX202器件对PTR2000模块和计算机串口进行RS-232和TTL电平转换,将PTR2000与MAX202的输入和输出信号连接,转换后的信号与计算机的串口连接。

  3 硬件设计

  在无法使用有线传输的场合,采用无线数据传输模块和单片机相结合进行数据传输是较合理的方案。PTR2000利用串口进行数据传输,而单片机和PC机均带有串口,因此,可利用PTR2000作为单片机和PC机之间数据传输的无线接口,其硬件结构框图如图1所示。

硬件结构框图

  该采集系统主要以AT89C52单片机为控制处理核心。由它完成对数据的采集处理以及控制数据的无线传输。AT89C52单片机具有快速8051内核、8 KB Flash E2PROM、256字节RAM。为实现无线数据传输,采用无限收发一体数据传送MODEM模块PTR2000器件,该器件内部集成高频接收、PLL合成、PSK调制/解调、参量放大、功率放大、频道切换等功能,完全符合无线数据通信的硬件要求。为降低成本,在最小硬件设计的基础上,利用C51高级C语言编程,系统的功能尽可能用软件程序实现。

  3.1 单片机的时钟电路和复位电路设计

  单片机时钟电路设计中,选择晶振频率11.059 2 MHz,约定PC机和单片机的通信速率为9 600 b/s,并选择相应电容与单片机的时钟引脚相连构成时钟回路。在复位电路设计中,采用复位引脚和相应的电容、电阻构成复位电路。单片机与PTR2000接口原理电路如图2所示。

单片机与PTR2000接口原理电路

  3.2 单片机与PTR2000接口电路的设计

  在图2中,AT89C52单片机主要完成数据的采集和处理,向PTR2000模块发送数据,并接收由PC机通过PTR2000传送的数据。和单片机相连的 PTR2000模块主要将单片机的待传数据调制成射频信号,再发送到PC机端的PTR2000模块,同时接收PC机端的PTR2000模块传送的射频信号,并调制成单片机可识别的TTL信号送至单片机。单片机的RXD和TXD引脚分别和PTR2000的DO和DI引脚连接,实现串行数据传输;决定 PTR2000模块工作模式的TXEN、CS、PWR 3个引脚分别和单片机I/O控制口的P2.0~P2.2相连,PTR2000工作时,由单片机中的运行控制程序实时控制其工作模式。

  3.3 PC机与PTR2000接口电路的设计

  该接口电路设计首先需进行电平转换。PC机的串口支持RS-232标准,而PTR2000模块支持TTL电平,选择MAX232器件进行两者间的电平转换,接口电路如图3所示。PTR2000模块进行串行输入、输出,引脚DI、DO通过电平转换器件和PC机串口相连;PTR2000的低功耗控制引脚。 PWR接高电平VCC,即PTR2000固定工作在正常工作状态;频道选择引脚CS接GND低电平,即采用固定通信频道1,固定工作在433.92 MHz;PC机串口的RTS信号控制TXEN引脚,以决定PTR2000模块何时为接收和发射状态。PC机和串口的传输速率设定为9 600 b/s,和单片机保持一致。

接口电路

   4 软件设计

  无线通信系统的软件设计包括单片机端和PC机端两部分,两部分软件相互配合,设置各自的PTR2000模块的工作状态。

  4.1 PTR2000模块程序设计

  单片机和PC机端软件配合设置PTR2000的状态(发射或接收),选择固定的通信频道1(CS=0),并让PTR2000模块一直处于正常工作状态(PWM=1)。无线通信实现过程如下:

  (1)发送在发送数据之前,应将PTR2000模块置于发射模式,即TXEN=1。然后等待至少5 ms后(接收到发射的切换时间)才可发射数据。发送结束后,应将模块置于接收状态,即TXEN=0。

  (2)接收应将PTR2000置于接收模式,即TXEN=0。单片机不发送的绝大部分时间都处于接收状态。当单片机端发送时,PC机端应为接收;当PC机端发送时,单片机端应为接收。

  4.2 串行无线通信协议设计

  无线通信中,由于外部环境的干扰,通常误码率较高,因此通信协议的设计对保证通信的可靠性十分重要。协议的设计主要是帧结构的设计,在该无线通信系统中,存在指令帧和数据帧。数据帧的内容包括起始字节、数据长度字节、数据字节、结束字节和校验和字节,如表2所示。

数据帧的内容

  起始字节定义为“$”字符,其数值为0x24;结束字节定义为“*”字符,其数值为0x2A。

  采用校验和的方法进行帧的校验,将所有字节相加,然后将结果截短到所需的位长。发送端对待发送的数据进行校验和计算,将校验和值放在数据后一起发送;在接收端,对接收到的数据进行校验和计算,然后与收到的校验和字节比较,进行误码判断。

  对于单片机,指令帧主要有3种:PC机发送给单片机的请求发送指令、错误/超时重发指令、单片机发给PC机的发送完毕指令。在该系统设计中指令帧采用数据帧的格式,将其中的。数据字节固定为一个字节,根据定义的字节判断数据状态。

  4.3 程序流程

  单片机开始需将无线数据传输模块PTR2000设置处于接收状态,通过串口中断识别由PC机通过无线信道传输来的指令,根据接收指令的内容采集数据并启动发送。发送前需将PTR2000模块设置为发射状态,且等待5 ms才可发送,发送完毕后,向PC机端发送“发送结束指令”,并将PTR2000模块重设为接收状态。图4为系统软件设计流程图。

系统软件设计流程图

  5 结束语

  单片机无线通信系统设计基于PTR2000无线数据传输解决方案,可实现小于300 m的短距离通信,通过实验验证该无线数据传输系统运行良好,单片机控制得相当准确。在应用时将系统作为一个模块可方便地移植,以便构建更为复杂的无线通信网络,可应用于小型无线网络、无线抄表、小区传呼、工业数据采集系统、安全防火系统等领域,具有一定实用价值。


关键字:51单片机  短距离无线通信 引用地址:基于51单片机实现短距离无线通信

上一篇:荧光信号采集系统设计与分析
下一篇:基于单片机的倒车防撞预警系统设计和实现

推荐阅读最新更新时间:2024-03-16 12:43

c51单片机编程要点总结
c51单片机编程要点总结 1、头文件:#include (我用的是 STC 89C54RD+) 2、预定义:sbit LED = P1^0// 定义 P1 口的 0 位为 LED 注:“P1^0”这个写法,与 A51 不同(A51 是 P1.0),P1 是一组端口,端口号范围 0~7 注2:sbit 用于定义 SFR(特殊功能寄存器)的位变量,上例中 LED 作为“全局变量”进行定义 注3:以下写法是错误的: sbit code table = {P1^0, P1^1, P1^2, P1^3};// 想用 table 指定不同的引脚,但这么做会报错 sbit table = {P1^0, P1^1, P1^2, P1^3}
[单片机]
51单片机的默认中断优先级都是低级及中断嵌套
51单片机(80C51系列)有5个中断源,2个优先级,可以实现二级中断服务嵌套。现在很多扩展的51单片机已经有4个优先级(或更多)和更多的中断源了。 在说到中断之前,我先来定义一下优先级,明白了什么是优先级,后面的阐述就容易明白了。实际上很多人都是混淆了优先级的含义,所以才觉得糊里糊涂。 中断的优先级有两个:查询优先级和执行优先级。 什么是查询优级呢?我们从datasheet或书上看到的默认(IP寄存器不做设置,上电复位后为00H)的优先级: 外部中断0 定时/计数器0 外部中断1 定时/计数器1 串行中断 或 int0,timer0,int1,timer1,serial port 或 INT0、T0、INT1、T1
[单片机]
8051单片机实现可修改初值(并可命令启停)的单倒计时器
较Version1.1, 此处通过string.h文件中的strcmp()函数简化了对简单命令的判断. #include STC89C5xRC.H #include string.h unsigned char code DIG_CODE = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};//对应数码管显示0~9 char buf ; int tcount = 0;//记录经过的10ms区间段个数 int sec = 15;//倒计时初始值记录 int sec2 = 0;//倒计时初始值 void T0_INT() inte
[单片机]
51单片机实现对24C02进行页写、顺序读取并显示验证
//************************************************************************************* //**程序名称:51单片机实现对24C02进行页写、顺序读取并显示验证 //**编写人:**** //**修改人:**** //**程序目的:熟悉I2C总线协议,实现51模拟I2C时序和24C02通信 //**功能描述:51单片机将8个字节数据写入24C02的一页中,然后顺序读出,每隔1秒送P0口LED显示 //**其他说明:本程序是采用某51开发板,若在其他地方验证可更改相关端口及延时程序等。 //** 程序编写前曾参考过多个教程,最终自己编程通过,并详
[单片机]
MCS-51单片机中断处理过程
中断响应: 1.响应条件 CPU响应中断的条件有: ①有中断源发出中断请求; ②中断总允许位EA=1,即CPU开中断; ③申请中断的中断源的中断允许位为1; 满足以上条件,CPU响应中断;如果中断受阻,CPU不会响应中断。 2.响应过程 单片机一旦响应中断,首先置位响应的优先级触发器,然后执行一个硬件子程序调用,把断点地址压入堆栈保护,然后将对应的中断入口地址装入程序计数器PC,使程序转向该中断入口地址,以执行中断服务程序。 中断处理:CPU响应中断结束后即转至中断服务程序的入口。从中断服务程序的第一条指令开始到返回指令为止,这个过程称为中断处理或称中断服务。中断处理包括两部分内容:一是保护现场,
[单片机]
51单片机汇编指令速查表
指令格式 功能简述 字节数 周期 一、数据传送类指令 MOV A, Rn 寄存器送累加器 1 1 MOV Rn,A 累加器送寄存器 1 1 MOV A ,@Ri 内部RAM单元送累加器 1 1 MOV @Ri ,A 累加器送内部RAM单元 1 1 MOV A ,#data 立即数送累加器 2 1 MOV A ,direct 直接寻址单元送累加器 2 1 MOV direct ,A 累加器送直接寻址单元 2 1 MOV Rn,#data 立即数送寄存器 2 1 MOV direct ,#data 立即数送直接寻址单元 3 2 MOV @Ri ,#data 立即数送内部RAM单元 2 1 MOV direct
[单片机]
单介绍51单片机的调试
对于一个新设计的电路板,调试起来往往会遇到一些困难,特别是当板比较大、元件比较多时,往往无从下手。但如果掌握好一套合理的调试方法,调试起来将会事半功倍。对于刚拿回来的新PCB板,我们首先要大概观察一下,板上是否存在问题,例如是否有明显的裂痕,有无短路、开路等现象。如果有必要的话,可以检查一下电源跟地线之间的电阻是否足够大。 然后就是安装元件了。相互独立的模块,如果您没有把握保证它们工作正常时,最好不要全部都装上,而是一部分一部分的装上(对于比较小的电路,可以一次全部装上),这样容易确定故障范围,免得到时遇到问题时,无从下手。一般来说,可以把电源部分先装好,然后就上电检测电源输出电压是否正常。如果在上电时您没有太大的把握(即使有
[单片机]
详解80C51单片机的复位电路和时钟电路
复位电路 在80C51中,最常见的复位电路就是下图的上电复位电路。 它能有效地实现上电复位和手动复位。RST引脚高电平有效。 其有效时间应持续24个振荡周期以上才能完成复位操作。若使用6MHz晶振,则需持续4us以上才能完成复位操作。 在通电瞬间,由于RC电路的充电过程,在RST端出现一定宽度的正脉冲,只要正脉冲保持10mS以上,就能使单片机自动复位。 CPU在第二个及其周期内执行内部复位操作,以后每个机器周期重复一次,直至RST端电平变低。 在单片机复位器件,ALE和~PSEN信号都不产生。复位操作将对部分专用寄存器产生影响,复位后,这些内部寄存器的状态发生变化,如下表。 时钟电路 在80C51单片机内有一个高增益的反
[单片机]
详解80C<font color='red'>51单片机</font>的复位电路和时钟电路
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved