⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 send_code.c

📁 315M无线收发系统编码,解码程序
💻 C
字号:
#include <reg52.h>
#define uchar unsigned char	        	//定义宏
#define uint unsigned  int	        	//定义宏

/********************************************************
		   PT2262编码 系统时间12MHz	 同步码124A=16.5ms
		   4A = 500us 定时器溢出500次 初值=65536-500=65036=fe0c
		   12A =1500us 定时器溢出1500次	初值=65536-1500=64036=fa24
		   32A =4000us 定时器溢出4000次	初值=65536-4000=61536=f060
		   124A=15.5mus 定时器溢出15500次 初值=65536-15500=50036=c374
		   振荡电阻PT2262/1.2M=PT2272/200K组合
********************************************************/

#define BIT_4A()  TH0=0xFe; TL0 = 0x04;		  //窄脉冲
#define BIT_12A() TH0=0xFa; TL0 = 0x24;		  //宽
#define BIT_124A() TH0=0xc3; TL0 = 0x74;		  //同步

sbit IR  = P3^1;

extern unsigned char Floorh,Floorl;
extern unsigned char User;

void BIT_1 (void)
{
	TF0 = 0;
	IR=1;
	BIT_12A();
	while(TF0==0);

	TF0 = 0;
	IR=0;
	BIT_4A();
	while(TF0==0);
}
void BIT_0 (void)
{
	TF0 = 0;
	IR=1;
	BIT_4A();
	while(TF0==0);

	TF0 = 0;
	IR=0;
	BIT_12A();
	while(TF0==0);
}
void Send_Byte(void)
{

  unsigned char i;
  unsigned char temp1,temp2,temp3;
  temp1 = Floorl;
  temp2 = Floorh;
  temp3 = User;

/********同步头*************/
	TF0 = 0;
	IR=1;
	BIT_4A();
	while(TF0==0);

	TF0 = 0;
	IR=0;
	BIT_124A();
	while(TF0==0);  
/*********地址码H************/
  for(i=0;i<8;i++)
  {
	 if(temp1&0x01)
 		BIT_1();
	 else      
	 	BIT_0();
	 temp1 >>= 1;	    //低电平间隔
   }
/*********地址码L************/
  for(i=0;i<8;i++)
  {
	 if(temp2&0x01)
 		BIT_1();
	 else      
	 	BIT_0();
	 temp2 >>= 1;	    //低电平间隔
   }
/*********数据码************/
  for(i=0;i<8;i++)
  {
	 if(temp3&0x01)
 		BIT_1();
	 else      
	 	BIT_0();
	 temp3 >>= 1;	    //低电平间隔
   }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -