51单片机编码控制315无线模块传送指令.pdfVIP

  • 0
  • 0
  • 约5.09千字
  • 约 6页
  • 2026-03-05 发布于河南
  • 举报

51单片机编码控制315无线模块传送指令.pdf

无线电编码程序设计思想

该项目利用单通道无线电实现了多路遥控功能。遥控距离100m左右。

单通道无线电路若想实现多路遥控,必须对无线电进行编码,该项目利用单片机进行

编解码,实现了16路无线电控制。在进行无线电编码前必须先定义一个协议规则。

现定义如下:

下降沿:1ms的高电平,随后500us的低电平。v0

起始位:4ms的高电平,随后4ms的低电平。v2

数据1:2ms的高电平,随后500us的低电平。v1

数据0:1ms的高电平,随后500us的低电平。v3

结束位:4ms的低电平。

以上就是通信协议规则,只要无线电收发双方都遵循该协议规则,则实现对小车的多

路控制将非常容易。

//发射模块c程序

#includereg52.h

#defineucharunsignedchar

sbitkey0=P3^4;

sbitkey1=P3^5;

sbitkey2=P3^6;

sbitkey3=P3^7;

sbitTX=P2^0;

ucharm;

voidv0();

voidv1();

voidv2();

voidv3();

voiddelay_315();

voidmain()

{

uchari;

bitdong=0;//开定时器0中断

TMOD=0X01;

TH0=(65536-100)/256;

TL0=(65536-100)%256;

EA=1;

ET0=1;

TR0=1;

TX=0;

while(1)//发送指令0

{

if(key0==0)

{

delay_315();

while(key0==0){v3();v2();v0();v0();v0();m=0;while(m40);}

dong=1;

}

if(key1==0)//发送指令1

{

delay_315();

while(key1==0){v3();v2();v0();v0();v1();m=0;while(m40);}

dong=1;

}

if(key2==0)

{

delay_315();

while(key2==0){v3();v2();v0();v1();v0();m=0;while(m40);}

dong=1;

}

if(key3==0)

{

delay_315();

while(key3==0){v3();v2();v0();v1();v1();m=0;while(m40);}

dong=1;

}

if(dong==1)

{

dong=0;

for(i=0;i5;i++){v3();v2();v1();v0();v0();m=0;while(m40);}

}

}

}

voidtimer0()interrupt1

{

TH0=(65536-100)/256;

TL0=(65536-100)%256;

m++;

TF0=0;

}

voidv0()//1MS高电平500us低电平

{

m=0;

while(m10)

TX=1;

m=0;

while(m5)

TX=0;

}

voidv1()//2MS高电平500us低电平

{

m=0;

文档评论(0)

1亿VIP精品文档

相关文档