資源簡介
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
- 上一篇:光敏傳感器實驗代碼
- 下一篇:軟件審計文檔國家標準
評論
共有 條評論