📄 process.lst
字号:
C51 COMPILER V6.23a PROCESS 12/13/2002 12:45:27 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE PROCESS
OBJECT MODULE PLACED IN process.OBJ
COMPILER INVOKED BY: D:\KEIL\C51\BIN\C51.EXE process.c OPTIMIZE(0,SPEED) BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include "reg51.h"
2
3 //extern void delay(unsigned int);
4 extern unsigned char old_data,key,pc,intr[6];
5 sbit Inc = P1^0;
6 sbit Dec = P1^1;
7 sbit DA = P1^2;
8 sbit Wri = P3^2;
9 bit I2c_Read(unsigned char,unsigned char);
10 void On_Light(unsigned char,bit,unsigned char);
11 void delay(unsigned int);
12 unsigned int input(void);
13 unsigned char temp,pc_bak =0 ;
14 bit light_on = 0,jump,cmp_bit,time_out;
15
16 void Process(void)
17 {
18 1
19 1 unsigned char i;
20 1 unsigned int temp_in;
21 1 pc = 0;
22 1 old_data = 0x00;
23 1 key = 0xff;
24 1
25 1 while(1)
26 1 {
27 2 I2c_Read(pc++,1);
28 2 switch(intr[0]) {
29 3 case 0x00 : I2c_Read(pc++,1);
30 3 temp = 0x80;
31 3 temp = temp >> intr[0];
32 3 key = ~temp & key;
33 3 On_Light(old_data,0,key);
34 3 break;
35 3
36 3 case 0x01 : I2c_Read(pc++,1);
37 3 temp = 0x80;
38 3 temp = temp >> intr[0];
39 3 key = temp | key;
40 3 On_Light(old_data,0,key);
41 3 break;
42 3
43 3 case 0x04 : I2c_Read(pc++,1);
44 3 old_data = intr[0];
45 3 On_Light(old_data,0,key);
46 3 break;
47 3
48 3 case 0x05 : I2c_Read(pc++,1);
49 3 if (intr[0] == 0)
50 3 light_on = 0;
51 3 else
52 3 light_on = 1;
53 3 On_Light(old_data,0,key);
54 3 break;
55 3
C51 COMPILER V6.23a PROCESS 12/13/2002 12:45:27 PAGE 2
56 3 case 0x06 : I2c_Read(pc++,1);
57 3 old_data += intr[0];
58 3 On_Light(old_data,0,key);
59 3 break;
60 3
61 3 case 0x07 : I2c_Read(pc++,1);
62 3 old_data -= intr[0];
63 3 On_Light(old_data,0,key);
64 3 break;
65 3
66 3 case 0x10 : I2c_Read(pc++,1);
67 3 pc = intr[0];
68 3 break;
69 3
70 3 case 0x15 : while(1);
71 3
72 3 case 0x02 : I2c_Read(pc++,1);
73 3 temp = intr[0];
74 3 I2c_Read(pc++,1);
75 3 for (i = 0;i < temp;i++)
76 3 {
77 4 if (intr[0] == 0)
78 4 delay(100);
79 4 else if(intr[0] == 1)
80 4 delay(1000);
81 4 else if(intr[0] == 2)
82 4 delay(60000);
83 4 }
84 3 break;
85 3
86 3 case 0x11 : I2c_Read(pc++,1); //SDZ N,M
87 3 if (old_data == intr[0])
88 3 {
89 4 I2c_Read(pc++,1);
90 4 pc = intr[0];
91 4 }
92 3 else
93 3 pc++;
94 3 break;
95 3
96 3 case 0x12 : I2c_Read(pc++,1); //DY N
97 3 pc_bak = pc;
98 3 pc = intr[0];
99 3 break;
100 3
101 3 case 0x13 : pc = pc_bak; //FH
102 3 break;
103 3
104 3 case 0x09 : cmp_bit = 0;
105 3 goto aaa;
106 3 case 0x08 : cmp_bit = 1;
107 3 aaa:jump = 0;
108 3 I2c_Read(pc++,1);
109 3 if (intr[0] <= 10)
110 3 {
111 4 temp_in = input();
112 4 // while(1) { temp_in = input(); On_Light((unsigned char )temp
-_in ,0,0); delay(1000); temp_in = temp_in >> 8 ;On_Light((unsigned char) temp_in,0,0);delay(1000);}
-
113 4 if ((temp_in & (1 << intr[0])) == cmp_bit)
114 4 jump = 1;
115 4 }
C51 COMPILER V6.23a PROCESS 12/13/2002 12:45:27 PAGE 3
116 3 else
117 3 switch(intr[0])
118 3 {
119 4 case 11 : if (Inc == cmp_bit)
120 4 jump = 1;
121 4 break;
122 4 case 12 : if (Dec == cmp_bit)
123 4 jump = 1;
124 4 break;
125 4 case 13 : if (DA == cmp_bit)
126 4 jump = 1;
127 4 break;
128 4 case 14 : if (Wri == cmp_bit)
129 4 jump = 1;
130 4 break;
131 4 case 15 : if (time_out == cmp_bit)
132 4 jump = 1;
133 4 break;
134 4 }
135 3
136 3 if (jump == 1)
137 3 {
138 4 I2c_Read(pc++,1);
139 4 pc = intr[0];
140 4 }
141 3 else
142 3 pc++;
143 3
144 3
145 3 }
146 2 }
147 1
148 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 610 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 5 ----
IDATA SIZE = ---- ----
BIT SIZE = 4 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -