📄 authorize_process.c
字号:
#include <config.h>
#define IN_AUTHORIZE
unsigned int xdata exhaust_number=0;
unsigned int xdata authorize_number=0;
unsigned char xdata display_alter=0,Authorize_f=0,wrong_LED_f=0;
void Authorize_process(void)
{if((authorize_number)>=0x01)
{if(Authorize_f)
{rs232_senddata(0x1c); //发送一次激活码
rs232_senddata(0x3f);
rs232_senddata(0x46);
Authorize_f=0x00; //按键一次只发送一次激活码
wrong_LED=0x00; //点亮激活失败的指示灯
right_LED=0x01; //熄灭成功激活的指示灯
}
}
}
void Rs232rece_process(void)
{static unsigned char idata k[3];
if(rs232_getdata(0x00)!=0x00) //当串口就收到数据才校验同步
{k[0]=k[1];
k[1]=k[2];
k[2]=rs232_getdata(0x01);
if(rs232_getdata(0x01)==0x55)
k[2]=0x00; //排除卡带机程序中的0x55同步命令
if((k[0]==0x5a)&&(k[1]==0x66)&&(k[2]==0xa5)) //获得1000片的激活资格
{authorize_number=1000;
rs232_senddata(0x5a);
rs232_senddata(0x33);
rs232_senddata(0xa5);
#if EEPROM_USING
eeprom_operatemode=0x02; //将要记忆的内容写入EEPROM
eeprom_process(); // EEPROM的读写
#endif
}
if((k[0]==0x5a)&&(k[1]==0x77)&&(k[2]==0xa5)) //清空已经激活的数目
{exhaust_number=0x00;
rs232_senddata(0x5a);
rs232_senddata(0x22);
rs232_senddata(0xa5);
#if EEPROM_USING
eeprom_operatemode=0x02; //将要记忆的内容写入EEPROM
eeprom_process(); // EEPROM的读写
#endif
}
else if((k[0]==0x5a)&&(k[1]==0x88)&&(k[2]==0xa5)) //获得激活反馈
{if(exhaust_number<=9999)
{exhaust_number++;
right_LED=0x00; //点亮成功激活的指示灯
wrong_LED=0x01; //熄灭激活失败的指示灯
wrong_LED_f=0x00;
}
else
exhaust_number=0x00;
if(authorize_number>=0x01)
authorize_number--;
else
wrong_LED=0x00; //点亮激活失败的指示灯
#if EEPROM_USING
eeprom_operatemode=0x02; //将要记忆的内容写入EEPROM
eeprom_process(); // EEPROM的读写
#endif
}
}
if(key_key==0x82) //检测到发送激活码的命令
{Authorize_f=0x01;
//rs232_senddata(0x82);
key_key=0x00;
}
else if(key_key==0x81) //检测到按键显示的切换
{display_alter++;
//rs232_senddata(0x81);
key_key=0x00;
}
if(display_alter%2)
{g_display_state=0x00; //LED显示剩下的数目
authorize_LED=0; //点亮表示剩下可烧芯片数目的指示灯
exhaust_LED=1; //熄灭已烧芯片数目的指示灯
}
else
{g_display_state=0x01; //LED显示已烧写数目
exhaust_LED=0; //点亮已烧芯片数目的指示灯
authorize_LED=1; //熄灭表示剩下可烧芯片数目的指示灯
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -