基于51单片机315MHz无线收发模块调试程序文档格式.docx
- 文档编号:16542718
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:8
- 大小:122.64KB
基于51单片机315MHz无线收发模块调试程序文档格式.docx
《基于51单片机315MHz无线收发模块调试程序文档格式.docx》由会员分享,可在线阅读,更多相关《基于51单片机315MHz无线收发模块调试程序文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
±
^vl^^2^>
X^vl^vl^
iyr%yr^yr%yr%yr^yj^*r%*r%*r%彳・"
卜
315Mhz无线通信程序
发送程序11.0592M晶振1机器周期二1.0851US
定时器产生2MS定时
TH0=0XF8;
TLO=OXCD;
900us定时
THO二OXFC;
TLO二0XC3;
450us定时
THO二OXFE;
TLO二0X61;
vtxvtxvtxxtx/
^T>
#T^#T^>
r^yrsyrsyis^wyrsyrs^wyrsyrs^w/
#include<
reg52.h>
Sinclude"
intrins・h"
#defineuintunsignedint
#defineucharunsignedchar
sbitWXSEND二P「0;
uchartimedata[8]二{Oxfe,0x61,Oxfc,0xc3,0xf8,Oxcd,Oxea,0x66};
//450us,900us,2MS,6ms
/>
1^
/yj%yj%
11.0592MHZ下500毫秒延时,还准
vtxvtxvtxxtxvtx/
yj%>
Jx#y%#y%yj%^J>
^J>
吩・^J>
/voiddelay500ms(uinti)uintj;
uchark;
while(i--)
{
for(j=0;
j<
750;
j++)
for(k=0;
k<
200;
k++);
}
voidtimeOinit()
(
TMOD二0x01;
//
voidsendset(ucharsenddata);
//发送数据程序
voidsendstartbit();
//数据发送起始信号2ms高电平和2ms低电平的起始码
voidsendlowbit();
//发送低电平
voidsendhighbit0;
//发送高电平
voidmain()
{ucharsenddata,i;
timeOinit();
//定时器初始化senddata二0x55;
wh订e(l){
for(i=0;
i<
20;
i++)
sendset(senddata);
)
delay500ms(10);
senddata++;
//发送数据程序
voidsendset(ucharsenddata)
{uchari,sendbit;
sendstartbit();
//发送开始信号
8;
sendbit二senddata&
0x80;
if(sendbit==0)sendlowbit();
//发送低电平
elsesendhighbit0;
senddata=senddata<
<
l;
//数据发送起始信号6ms高电平和2ms低电平的起始码void
sendstartbit()
WXSEND=1;
TH0=timedata[4];
TLO二timedata[5];
TRO=1;
while(TF0==0);
TRO二0;
TFO二0;
WXSEND=O;
TRO二1;
while(TFO==O);
TFO=O;
voidsendlowbit()//发送低电平
THO=timedata[O];
TLO二timeddta[l];
TRO二1;
TRO=O;
TLO二timeddta[5];
void
sendhighbit()//
发送高电平
TH0=timedata[2];
TL0=timedata[3];
接收程序U.0592M晶振1机器周期二1.0851US
用中断0边沿触发中断,开启接收程序由于接收模块平时大部分时间
是低电平,有信号时是高电平,而中断以,°
是负边沿触发,所
硕件电路中接收模块的信号输出端经过非门后接到单片机P3.2
接收到数据,用串口传到上位机的串口调试软件显示
#include〃inttins.h〃#defineuintunsignedint
SdefineucharunsignedcharsbitWXrecep=P3^2;
//ucharcodetimedata[6]二{Oxfe,0x61,Oxfc,0xc3,Oxf&
Oxcd};
//450us,
900us,2MSucharwxrecepda;
voidtimeOinit()
TMOD二0x21;
//定时器0
THO=O;
TLO=O;
//TM0D=0x20:
/*TMOD:
timer1,mode2,8-bitreload*/
TH1二OxFD;
/*THl11.0592MHz*/
TL1=OXFD;
EA=1;
EXO=1;
ETO=1;
IE0=0;
voiduartinit()
SCON二0x50;
/*SCON:
模式1,8-bitUART,使能接收*/
TR1=1;
/*TR1:
timerlrun*/
voidreceivewxO;
//接收子程序
//定时器初始化
uartinit();
wh订e(l);
voidreceivewx()//接收子程疗;
{uinti;
ucharj,recedata;
while(WXrecep—0);
i二TH0*256+TL0;
if((i>
=1800)&
&
(i〈二1890))
{recedata二0;
while(WXrecep—1);
if((i>
二390)&
(iO450))recedata=recedata&
Oxfe;
elseif((i>
=800)&
(i<
=860))recedata=recedata0x01;
recedata二:
recedata〈〈l;
TH0=0;
TL0=0;
wxrecepda=recedata»
l;
SBUF=wxrecepda;
while(TI==0);
TI=0;
voidwxrecint()interrupt0
EXO=O;
receivewx();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 315 MHz 无线 收发 模块 调试 程序