我编的无线收发模块程序(发送AVR,接收51).docVIP

  • 3
  • 0
  • 约 6页
  • 2017-02-01 发布于重庆
  • 举报

我编的无线收发模块程序(发送AVR,接收51).doc

我编的无线收发模块程序(发送AVR,接收51)

/*************************************************************************** 标题: 315M无线模块发送程序 在AVR单片机上发送运行成功,用曼彻斯特码发送。 ******************************************************************************/ /* * GccApplication1.c * * Created: 2013/10/1 22:50:19 * Author: Administrator */ #include avr/io.h #include util/delay.h #define uchar unsigned char uchar a[4]={0,0,0,0}; #define delay_us(x) _delay_us(x) #define delay_ms(x) _delay_ms(x) void wxinit() { PORTA=0X01; delay_ms(9); PORTA=0X00; delay_ms(4.5); } void sendbit1() { PORTA=0X01; delay_us(565); PORTA=0X00; delay_ms(1.685); } void sendbit0() { PORTA=0X01; delay_us(565); PORTA=0X00; delay_us(560); } int main(void) { uchar i,j,t,num=0x00; DDRA=0Xff; PORTA=0X00; while(1) { if((num++)==256) num=0x00; wxinit(); a[0]=0x78; a[1]=~a[0]; for(t=0;t20;t++) {a[2]=num; a[3]=~a[2]; for(j=0;j4;j++) { for(i=0;i8;i++) { if(a[j]0x01) sendbit1(); else sendbit0(); a[j]=a[j]1; } } } } } /*************************************************************************** 标题: 315M无线模块接收程序 在51单片机上运行成功 ******************************************************************************/ //头文件: #include reg51.h //IO引脚定义: sbit hwx=P3^3; //无线接收数据引脚, sbit SMG_q = P1^0; //定义数码管阳级控制脚(千位) sbit SMG_b = P1^1; //定义数码管阳级控制脚(百位) sbit SMG_s = P1^2; //定义数码管阳级控制脚(十位) sbit SMG_g = P1^3; //定义数码管阳级控制脚(个位) /********数据定义*************************************************************/ code unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e}; //共阳数码管段值表 0-9 a-f unsigned char l_posit=0; //显示位置 unsigned char ly_disdate[4]={0,0,0,0}; //显示缓冲 unsigned char ly_lhj[4]; //保存NEC的四个字节数据 bit ly_flag=1; //成功接收标志 //函数声明: void display();//定义显示函数,直接显示缓冲区数值 void delay(); /***********主函数开始*********************

文档评论(0)

1亿VIP精品文档

相关文档