资源简介

315MHZ/433MHZ 2260、2262、2264类型的编码芯片都可以解码,识别编码和键值。

资源截图

代码片段和文件信息

/*-------------------------------------------------------

315MHZ--433MHZ无线编码发射模块解码程序。
PT2262/2264震荡电阻在1M-10M自适应解码。


-------------------------------------------------------*/

#include “STC12C5A60S2.h“
#define uchar unsigned char
#define uint unsigned int
sbit LED = P4^4;
sbit XH_IN = P1^7;
sbit LED1 = P4^5;
uint  XH_LSJCXH_Y[25]XH_E[25];
uchar XH_JCshuj[2] ;
uchar PT_TBWT;//同步位头标志
uchar PT_GPT_DPT_GJCPT_DJC;
uchar PT_QD;
uint  PT_GZZJPT_GZ;
 void UartInit(void) //9600bps@11.0592MHz
{
PCON &= 0x7f; //波特率不倍速
SCON = 0x50; //8位数据可变波特率
BRT = 0xFD; //设定独立波特率发生器重装值
AUXR &= 0xfb; //独立波特率发生器时钟为Fosc/12即12T
AUXR |= 0x01; //串口1选择独立波特率发生器为波特率发生器
AUXR |= 0x10; //启动独立波特率发生器
}
void tmise0(void)
{
AUXR &= 0x7f; //定时器0时钟为Fosc/12即12T
TMOD &= 0xf0; //清除定时器0模式位
TMOD |= 0x02; //设定定时器0为8位自动重装方式
TL0 = TH0 = 0xb0; //设定定时初值 //定时100us
//设定定时器重装值
TR0 = 1;
ET0 = 1;
EA = 1;

void PT_SHUJUJS() //数据接收
{
if(PT_DJC<25 && PT_GJC<25)
{
if(XH_IN)
{
  if(PT_D==1) //判断低电平结束标志
{
XH_E[PT_DJC]=XH_LSJC;//记录低电平时间
PT_DJC++;  //低电平记录次数
XH_LSJC=0;  
PT_D=0;
LED=0;
}   
XH_LSJC++; //高电平时间累计
PT_G=1;
}
else 
{
if(PT_G==1)//判断高电平结束标志
{
 XH_Y[PT_GJC]=XH_LSJC; //记录高电平时间
 PT_GJC++; //高电平记录次数
 XH_LSJC=0;
 PT_G=0;
 LED=1;
}
XH_LSJC++; //低电平时间累计
PT_D=1;
}
}else {PT_TBWT=0;}
}

void PT_CLHS()  //信号判断处理
{
if(PT_TBWT==1) //接收数据
{
  PT_SHUJUJS();
}
else if(!XH_IN) //判断是同步位前的低电平
{
 XH_JC++;
    if(XH_LSJC>30 && XH_LSJC<400) //判断是不是同步位的高电平
 {
LED1=~LED1;
PT_TBWT=1;
XH_LSJC=0;
XH_JC=0;
PT_GJC=0;
PT_DJC=0;
 } else{XH_LSJC=0;}
}
else if(XH_JC>1 && XH_JC<30) //判断是同步位前的低电平
{
  if(XH_IN)
{
  XH_LSJC++;
}  
}else{XH_JC=0;}
}
void PT_JSSHUJ()
{
uchar ab;
b=0;

for(a=0;a<8;a++)
{
  shuj[0]<<=1;

if(XH_Y[b]*2 {
  shuj[0]++;
}
b=b+2;
}
for(a=0;a<4;a++)
{
  shuj[1]<<=1;
if(XH_Y[b]*2 {
  shuj[1]++;
}
b=b+2;
}
SBUF=shuj[0];while(!TI);TI=0;shuj[0]=0;
SBUF=shuj[1];while(!TI);TI=0;shuj[1]=0;
}

void main()
{
   XH_JC=0;
   XH_LSJC=0;
   PT_TBWT=0;
   PT_GZZJ=0;
   PT_QD=1;
   P4SW=0x30;
   UartInit();
   tmise0();
   LED=0;
   while(1)
   {
 WDT_CONTR=0x3f;
 if(PT_DJC==24 && PT_GJC==24)
 {
    PT_DJC=0; PT_GJC=0;
 PT_TBWT=0;PT_QD=0;
 PT_JSSHUJ();
 }
 else if(PT_GZZJ>5000)
 {
  PT_GZZJ=0;PT_GZ++;
  if(PT_GZ>4)
{PT_QD=1;PT_GZ=0;}
 }
 
   }
}
void tmise0_zd()interrupt 1
{
  if(PT_QD==1)
{
PT_CLHS();
}else{PT_GZZJ++;}
// LED=~LED ;
}
void UART_RT()interrupt 4
{
  if(RI==1)
RI=0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      17735  2011-03-21 09:24  315-433M无线破解\STC12C5A60S2.H

     文件       6935  2011-03-24 16:31  315-433M无线破解\wxpj

     文件       3029  2011-03-24 16:42  315-433M无线破解\wxpj.c

     文件       2183  2011-03-24 16:31  315-433M无线破解\wxpj.hex

     文件         40  2011-03-24 16:31  315-433M无线破解\wxpj.lnp

     文件       7881  2011-03-24 16:31  315-433M无线破解\wxpj.LST

     文件      10679  2011-03-24 16:31  315-433M无线破解\wxpj.M51

     文件       8320  2011-03-24 16:31  315-433M无线破解\wxpj.OBJ

     文件       1181  2011-03-24 16:38  315-433M无线破解\wxpj.Opt

     文件       1855  2011-03-24 16:38  315-433M无线破解\wxpj.plg

     文件       2121  2011-03-23 15:41  315-433M无线破解\wxpj.Uv2

    .......      1182  2011-03-24 15:46  315-433M无线破解\wxpj_Opt.Bak

    .......      2121  2011-03-22 15:46  315-433M无线破解\wxpj_Uv2.Bak

     文件         81  2011-03-24 16:41  315-433M无线破解\说明.txt

     目录          0  2011-03-24 16:39  315-433M无线破解

----------- ---------  ---------- -----  ----

                65343                    15


评论

共有 条评论