📄 authorize_process.lst
字号:
C51 COMPILER V7.06 AUTHORIZE_PROCESS 09/13/2005 20:39:39 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE AUTHORIZE_PROCESS
OBJECT MODULE PLACED IN authorize_process.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE authorize_process.c OMF2 BROWSE DEBUG
stmt level source
1 #include <config.h>
2
3 #define IN_AUTHORIZE
4
5 unsigned int xdata exhaust_number=0;
6 unsigned int xdata authorize_number=0;
7 unsigned char xdata display_alter=0,Authorize_f=0,wrong_LED_f=0;
8
9 void Authorize_process(void)
10 {if((authorize_number)>=0x01)
11 1 {if(Authorize_f)
12 2 {rs232_senddata(0x1c); //发送一次激活码
13 3 rs232_senddata(0x3f);
14 3 rs232_senddata(0x46);
15 3 Authorize_f=0x00; //按键一次只发送一次激活码
16 3 wrong_LED=0x00; //点亮激活失败的指示灯
17 3 right_LED=0x01; //熄灭成功激活的指示灯
18 3 }
19 2 }
20 1 }
21
22
23
24 void Rs232rece_process(void)
25 {static unsigned char idata k[3];
26 1
27 1 if(rs232_getdata(0x00)!=0x00) //当串口就收到数据才校验同步
28 1 {k[0]=k[1];
29 2 k[1]=k[2];
30 2 k[2]=rs232_getdata(0x01);
31 2 if(rs232_getdata(0x01)==0x55)
32 2 k[2]=0x00; //排除卡带机程序中的0x55同步命令
33 2 if((k[0]==0x5a)&&(k[1]==0x66)&&(k[2]==0xa5)) //获得1000片的激活资格
34 2 {authorize_number=1000;
35 3 rs232_senddata(0x5a);
36 3 rs232_senddata(0x33);
37 3 rs232_senddata(0xa5);
38 3 #if EEPROM_USING
39 3 eeprom_operatemode=0x02; //将要记忆的内容写入EEPROM
40 3 eeprom_process(); // EEPROM的读写
41 3 #endif
42 3 }
43 2 if((k[0]==0x5a)&&(k[1]==0x77)&&(k[2]==0xa5)) //清空已经激活的数目
44 2 {exhaust_number=0x00;
45 3 rs232_senddata(0x5a);
46 3 rs232_senddata(0x22);
47 3 rs232_senddata(0xa5);
48 3 #if EEPROM_USING
49 3 eeprom_operatemode=0x02; //将要记忆的内容写入EEPROM
50 3 eeprom_process(); // EEPROM的读写
51 3 #endif
52 3 }
53 2 else if((k[0]==0x5a)&&(k[1]==0x88)&&(k[2]==0xa5)) //获得激活反馈
54 2 {if(exhaust_number<=9999)
55 3 {exhaust_number++;
C51 COMPILER V7.06 AUTHORIZE_PROCESS 09/13/2005 20:39:39 PAGE 2
56 4 right_LED=0x00; //点亮成功激活的指示灯
57 4 wrong_LED=0x01; //熄灭激活失败的指示灯
58 4 wrong_LED_f=0x00;
59 4 }
60 3 else
61 3 exhaust_number=0x00;
62 3 if(authorize_number>=0x01)
63 3 authorize_number--;
64 3 else
65 3 wrong_LED=0x00; //点亮激活失败的指示灯
66 3 #if EEPROM_USING
67 3 eeprom_operatemode=0x02; //将要记忆的内容写入EEPROM
68 3 eeprom_process(); // EEPROM的读写
69 3 #endif
70 3 }
71 2 }
72 1 if(key_key==0x82) //检测到发送激活码的命令
73 1 {Authorize_f=0x01;
74 2 //rs232_senddata(0x82);
75 2 key_key=0x00;
76 2 }
77 1 else if(key_key==0x81) //检测到按键显示的切换
78 1 {display_alter++;
79 2 //rs232_senddata(0x81);
80 2 key_key=0x00;
81 2 }
82 1 if(display_alter%2)
83 1 {g_display_state=0x00; //LED显示剩下的数目
84 2 authorize_LED=0; //点亮表示剩下可烧芯片数目的指示灯
85 2 exhaust_LED=1; //熄灭已烧芯片数目的指示灯
86 2 }
87 1 else
88 1 {g_display_state=0x01; //LED显示已烧写数目
89 2 exhaust_LED=0; //点亮已烧芯片数目的指示灯
90 2 authorize_LED=1; //熄灭表示剩下可烧芯片数目的指示灯
91 2 }
92 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 342 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 7 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = 3 ----
BIT SIZE = ---- ----
EDATA SIZE = ---- ----
HDATA SIZE = ---- ----
XDATA CONST SIZE = ---- ----
FAR CONST SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -