#define _COSMIC_
#include "st7fliteus5.h"
/******************************************************************************
DEFINE 部分
******************************************************************************/
//#define DEBUG
//#define RELEASE
#define REPEAT_FRAME 4
#define EnableInterrupts {_asm ("RIM");}
#define DisableInterrupts {_asm ("SIM");}
#define Nop {_asm ("nop");}
#define WaitforInterrupt {_asm ("wfi");}
#define Halt {_asm ("halt");}
#define w 16
#define r 12
#define b 8
#define t 26 //2*r+2=12*2+2
#define c 4 //b*8/w = 16*8/32
#define ROTL(x,y) (((x)<<(y&(w-1))) | ((x)>>(w-(y&(w-1)))))
#define ROTR(x,y) (((x)>>(y&(w-1))) | ((x)<<(w-(y&(w-1)))))
/*************************************************/
/* 变量 常量 申明部分 */
/*************************************************/
const unsigned long SerialNum=12345678; //@0x ;
//const unsigned long RandomKey=87654321; //@0x ;
const unsigned int SKey_A[t]={0x1111,0x2222,0x3333,0x4444,0x5555,0x6666,0x7777,0x8888,0x1111,0x2222,0x3333,0x4444,0x5555,0x6666,0x7777,0x8888,0x1111,0x2222,0x3333,0x4444,0x5555,0x6666,0x7777,0x8888,0x1111,0x2222}; //@0x ; //工厂密钥
@near unsigned int SKey_B[t] @0x1002; //={0x1111,0x2222,0x3333,0x4444,0x5555,0x6666,0x7777,0x8888,0x1111,0x2222,0x3333,0x4444,0x5555,0x6666,0x7777,0x8888,0x1111,0x2222,0x3333,0x4444,0x5555,0x6666,0x7777,0x8888,0x1111,0x2222}; //@0x ; //产品密钥
const unsigned int PW = 0xb7e1; //0xb7e15163;
const unsigned int QW = 0x9e37; //0x9e3779b9;
const unsigned char RCCR_ROM @0XDEE2;
unsigned char Key_Code;
_Bool PA0 @PADR:0;
_Bool PA1 @PADR:1;
#define KEY1 (Key_Code&0x0b)
_Bool LED @PADR:3;
#define KEY2 (Key_Code&7)
//_Bool PA5 @PADR:5;
_Bool TXO @PADR:5;
unsigned char Flag_Byte @0x80;
_Bool AT_OV_bflag @Flag_Byte: 0;
_Bool Key_bflag @Flag_Byte: 1;
_Bool Learn_bflag @Flag_Byte: 2;
//unsigned long
/
@near unsigned int
#include "st7fliteus5.h"
/******************************************************************************
DEFINE 部分
******************************************************************************/
//#define DEBUG
//#define RELEASE
#define REPEAT_FRAME 4
#define EnableInterrupts {_asm ("RIM");}
#define DisableInterrupts {_asm ("SIM");}
#define Nop {_asm ("nop");}
#define WaitforInterrupt {_asm ("wfi");}
#define Halt {_asm ("halt");}
#define w 16
#define r 12
#define b 8
#define t 26 //2*r+2=12*2+2
#define c 4 //b*8/w = 16*8/32
#define ROTL(x,y) (((x)<<(y&(w-1))) | ((x)>>(w-(y&(w-1)))))
#define ROTR(x,y) (((x)>>(y&(w-1))) | ((x)<<(w-(y&(w-1)))))
/*************************************************/
/* 变量 常量 申明部分 */
/*************************************************/
const unsigned long SerialNum=12345678; //@0x ;
//const unsigned long RandomKey=87654321; //@0x ;
const unsigned int SKey_A[t]={0x1111,0x2222,0x3333,0x4444,0x5555,0x6666,0x7777,0x8888,0x1111,0x2222,0x3333,0x4444,0x5555,0x6666,0x7777,0x8888,0x1111,0x2222,0x3333,0x4444,0x5555,0x6666,0x7777,0x8888,0x1111,0x2222}; //@0x ; //工厂密钥
@near unsigned int SKey_B[t] @0x1002; //={0x1111,0x2222,0x3333,0x4444,0x5555,0x6666,0x7777,0x8888,0x1111,0x2222,0x3333,0x4444,0x5555,0x6666,0x7777,0x8888,0x1111,0x2222,0x3333,0x4444,0x5555,0x6666,0x7777,0x8888,0x1111,0x2222}; //@0x ; //产品密钥
const unsigned int PW = 0xb7e1; //0xb7e15163;
const unsigned int QW = 0x9e37; //0x9e3779b9;
const unsigned char RCCR_ROM @0XDEE2;
unsigned char Key_Code;
_Bool PA0 @PADR:0;
_Bool PA1 @PADR:1;
#define KEY1 (Key_Code&0x0b)
_Bool LED @PADR:3;
#define KEY2 (Key_Code&7)
//_Bool PA5 @PADR:5;
_Bool TXO @PADR:5;
unsigned char Flag_Byte @0x80;
_Bool AT_OV_bflag @Flag_Byte: 0;
_Bool Key_bflag @Flag_Byte: 1;
_Bool Learn_bflag @Flag_Byte: 2;
//unsigned long
/
@near unsigned int