找回密码
 注册会员
搜索附件  

_KEELOQ_HCS301.rar

 

51解滚码HCS301源代码:
现在常用的都是PIC解滚码HCS300/301,及那个DECRYPT的加密算法
很少能找到这样的C程序,且又是在51下的,我也没有找到
是从PIC的汇编中,一句句理顺,转成C的
本例只对关键程序,24C02存储及同步校验等非本程序关键
程序介绍:
1 利用INT1 和定时器1的GATE=1,高电平时计数,加中断后判断时间,完成滚码串行数据接收
2 接收完成后,在DECRYPT下解密
3 检查序列号   校验同步值  
4 注意一个滚码至少需要6个字节保存,前4字节为序号,后2字节为同步值
5 建议开辟一个大的RAM来保存,不然老是刷新24C02的话,同步值易出错

部分源代码

  1. #define main_c
  2. #include "io.h"
  3. //==============================================      
  4. void MUC_INITIAL(void)
  5. {
  6. TMOD=0X91;
  7. TCON=0X55;//TR0=TR1=1;IT0=IT1=1 int0/1下降沿触发中断
  8. SCON= 0X50;
  9. RCAP2L=TL2=0Xd8;//9600
  10. RCAP2H=TH2=0Xff;
  11. T2CON=0X34;
  12. PCON =0XF0;
  13. AUXR=0X01;   
  14. IP=0X05;
  15. IE=0X9E;  
  16. }   
  17. //**********************  delay ***************************
  18. void DELAY(unsigned int t)
  19.         {unsigned int i;
  20.          for(i=0;i<t;i++)wdt();
  21.         }

  22. //**********************  main ***************************
  23. void main(void)
  24. {
  25. DELAY(1000);
  26. MUC_INITIAL();
  27. MUC_INITIAL();
  28. while(1)
  29. {
  30. RF_DECODE();
  31. KEELOQ_PROCESS();
  32. STUDY_RT_KEELOQ();
  33. }
  34. }
复制代码


DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
到顶顶顶顶顶顶顶顶顶顶
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD


学习中,谢谢楼主分享!
好资料啊,晒太好了,多谢!

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-28 17:37 , Processed in 0.040021 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部