今天小编要和大家分享的是控制,MCU相关信息,接下来我将从AT89C52单片机实现短距离无线传输的设计,有线采集-无线传输方案这几个方面来介绍。
控制,MCU相关技术文章AT89C52单片机实现短距离无线传输的设计
在一些特殊的应用场合,单片机通信不能采用有线数据传输方式,而需要采用短距离的无线数据传输方式。短距离的无线传输具有抗干扰能力强、可靠性高、安全性好、受地理条件限制少、安装灵活等优点,可以利用单片机和专用无线传输芯片实现简单的短距离无线传输方案,硬件部分包括单片机端和PC机端,实现单片机和PC机间的数据传输。
主要器件:
1、单片机端:AT89C52单片机芯片,用于控制无线模块的发射和接受;PTR2000无线数据传输模块,使用了433MHz IGM频段,是真正的单片UHF无线收发一体芯片,可以和单片机的串口直接相连。
2、 PC端:PTR2000无线数据传输模块;TTL电平转换RS-232电平芯片MAX202。
试验流程图:
试验电路图:
单片机端:
PC端:
试验程序代码:
//wireless.h程序
#ifndef _WIRELESS_H // 防止wireless.h被重复引用
#define _WIRELESS_H
#include // 引用标准库的头文件
#include
#define uchar unsigned char
#define uint unsigned int
#define REQ_SEND 0x33
#define REQ_RESEND 0x66
#define SEND_OVER 0x99
//为简化起见,假设了7位固定的采集数据
#define DATA0 0x10
#define DATA1 0x20
#define DATA2 0x30
#define DATA3 0x40
#define DATA4 0x50
#define DATA5 0x60
#define DATA6 0x70
sbit TXEN = P2^0;
sbit CS = P2^1;
sbit PWR = P2^2;
void ClearT_buf(); // 清除t_buf函数
void ClearR_buf(); // 清除r_buf函数
void Delay5ms(); // 延时5ms
void GetData(); // 采集数据
void Send(); // 采集并发送函数
void SendOver(); // 通知PC机发送结束函数