现在常用的都是PIC解滚码HCS300/301,及那个DECRYPT的加密算法
很少能找到这样的C程序,且又是在51下的,我也没有找到
是从PIC的汇编中,一句句理顺,转成C的
本例只对关键程序,24C02存储及同步校验等非本程序关键
程序介绍:
1 利用INT1 和定时器1的GATE=1,高电平时计数,加中断后判断时间,完成滚码串行数据接收
2 接收完成后,在DECRYPT下解密
3 检查序列号 校验同步值
4 注意一个滚码至少需要6个字节保存,前4字节为序号,后2字节为同步值
5 建议开辟一个大的RAM来保存,不然老是刷新24C02的话,同步值易出错
部分源代码
#define main_c
#include "io.h"
//==============================================
void MUC_INITIAL(void)
{
TMOD=0X91;
TCON=0X55;//TR0=TR1=1;IT0=IT1=1 int0/1下降沿触发中断
SCON= 0X50;
RCAP2L=TL2=0Xd8;//9600
RCAP2H=TH2=0Xff;
T2CON=0X34;
PCON =0XF0;
AUXR=0X01;
IP=0X05;
IE=0X9E;
}
//********************** delay ***************************
void DELAY(unsigned int t)
{unsigned int i;
for(i=0;i<t;i++)wdt();
}
//********************** main ***************************
void main(void)
{
DELAY(1000);
MUC_INITIAL();
MUC_INITIAL();
while(1)
{
RF_DECODE();
KEELOQ_PROCESS();
STUDY_RT_KEELOQ();
}
} |