芯片解密STC15F104单片机解码PT2262
芯片解密单片机源程序如下:
//内部晶振:11.0592M
//测试芯片:STC15F104E/STC11F04W
//硬件最简版
//实现2262、1527解码输出,学习、自适应多阻值,片内EEPROM存储相关信息
#include <reg52.h>
#include <intrins.h>
sfr AUXR=0x8e;
sfr IAP_DATA = 0xC2; //片内EEPROM资源声明
sfr IAP_ADDRH = 0xC3;
sfr IAP_ADDRL = 0xC4;
sfr IAP_CMD = 0xC5;
sfr IAP_TRIG = 0xC6;
sfr IAP_CONTR = 0xC7;
sfr P3M0 =0xb2;
sfr P3M1 =0xb1;
#define uchar unsigned char
#define uint unsigned int
sbit RF = P3^4; //射频引脚定义
sbit set = P3^3; //设置键定义
sbit keya = P3^0; //第一路
sbit keyb = P3^1; //第二路
sbit keyc = P3^2; //第三路
sbit keyd = P3^5; //第四路
uint ll_w;
uchar hh_w; //高,低电平宽度
uchar ma_x; //接收到第几位编码了
uchar idata bma1,bma2,bma3; //用于接收过程存放遥控编码,编码比较两次,这是第一次
uchar idata mmb1,mmb2,mmb3; // 用于接收过程存放遥控编码,第二次
uchar key_data;
uchar short_k;
uchar mma1,mma2,mma3; //用于解码过程
uchar L_M_select;
uchar xplx;
uint s,s1;
bit old_rc5; //保存上一次查询到的电平状态
bit tb_ok; //接收到同步的马时置1
bit rf_ok1,rf_ok2; //解码过程中的临时接收成功标志
bit rf_ok; //接收到一个完整的遥控命令后置1,通知解码程序可以解码了
bit study; //进入学习状态标志
bit system_int; //系统清零标志
bit m1,m2,m3,m4;
bit flag_zs;
bit decode_ok; //解码成功
uchar idata key_number[61];
void delay_1ms(uint x) //1毫秒延时
{
uchar b,c;
for(x;x>0;x--)
{
for(b=5;b>0;b--)
{
for(c=150;c>0;c--);
}
}
}
void BB(uint size,uchar Number)
{
if(Number)
{
for(Number;Number>0;Number--)
{
set=0;
delay_1ms(size);
set=1;
delay_1ms(size);
}
}
else
{
set=0;
delay_1ms(size);
set=1;
}

芯片解密