?? keyprocess.lst
字號:
C51 COMPILER V7.01 KEYPROCESS 10/15/2004 15:20:38 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE KEYPROCESS
OBJECT MODULE PLACED IN keyprocess.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE keyprocess.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1
2 #include"reg52.h"
3 #include"main.h"
4
5 bit fgkey=0;
6 bit fgkey_on=0;
7 bit fgauto;
8 bit fgkey10=0;
9 bit fgledflash=0;
10
11 unsigned char data auto_counter;
12 unsigned int ledflash_counter=0;
13 unsigned char data keydata1;
14 unsigned char data keydata2;
15 unsigned char data keybuffer;
16 unsigned char scankeycounter;
17 extern unsigned int TimeCounter;
18 extern unsigned char data ledbuffer_h;
19 extern unsigned char data ledbuffer_l;
20 extern keydata;
21 extern unsigned char keyscan(void);
22 extern void delay1ms(unsigned char count);
23 extern void x24c02_write(unsigned char address,unsigned char info);
24
25 void keyprocess(void)
26 {
27 1
28 1 keyscan();
29 1 keydata=keyscan();
30 1
31 1 if(keybuffer != keydata)
32 1 {
33 2 keybuffer = keydata;
34 2 scankeycounter = 20;
35 2 }
36 1
37 1 else if(scankeycounter!=0)
38 1 {
39 2 scankeycounter--;
40 2 delay1ms(1);
41 2 }
42 1
43 1 else if (keybuffer!=no_key)
44 1 {
45 2 if(!fgkey_on)
46 2 {
47 3 fgkey_on=1;
48 3 switch (keybuffer)
49 3 {
50 4 case key1:
51 4 fgledflash=1;
52 4 if(!fgkey)
53 4 {
54 5 fgkey=1;
55 5 keydata1=key1;
C51 COMPILER V7.01 KEYPROCESS 10/15/2004 15:20:38 PAGE 2
56 5 keydata2=0;
57 5 ledbuffer_h=0;
58 5 ledbuffer_l=keydata1;
59 5 }
60 4
61 4 else
62 4 {
63 5 fgkey=0;
64 5 keydata2=key1;
65 5 ledbuffer_h=keydata1;
66 5 ledbuffer_l=keydata2;
67 5
68 5 }
69 4 break;
70 4 case key2:
71 4 fgledflash=1;
72 4 if(!fgkey)
73 4 {
74 5 fgkey=1;
75 5 keydata1=key2;
76 5 keydata2=0;
77 5 ledbuffer_h=0;
78 5 ledbuffer_l=keydata1;
79 5 }
80 4
81 4 else
82 4 {
83 5 fgkey=0;
84 5 keydata2=key2;
85 5 ledbuffer_h=ledbuffer_l;
86 5 ledbuffer_l=keydata2;
87 5 }
88 4 break;
89 4 case key3:
90 4 fgledflash=1;
91 4 if(!fgkey)
92 4 {
93 5 fgkey=1;
94 5 keydata2=0;
95 5 keydata1=key3;
96 5 ledbuffer_h=0;
97 5 ledbuffer_l=keydata1;
98 5 }
99 4
100 4 else
101 4 {
102 5 fgkey=0;
103 5 keydata2=key3;
104 5 ledbuffer_h=ledbuffer_l;
105 5 ledbuffer_l=keydata2;
106 5 }
107 4 break;
108 4 case key4:
109 4 fgledflash=1;
110 4 if(!fgkey)
111 4 {
112 5 fgkey=1;
113 5 keydata1=key4;
114 5 keydata2=0;
115 5 ledbuffer_h=0;
116 5 ledbuffer_l=keydata1;
117 5 }
C51 COMPILER V7.01 KEYPROCESS 10/15/2004 15:20:38 PAGE 3
118 4
119 4 else
120 4 {
121 5 fgkey=0;
122 5 keydata2=key4;
123 5 ledbuffer_h=ledbuffer_l;
124 5 ledbuffer_l=keydata2;
125 5 }
126 4 break;
127 4 case key5:
128 4 fgledflash=1;
129 4 if(!fgkey)
130 4 {
131 5 fgkey=1;
132 5 keydata1=key5;
133 5 keydata2=0;
134 5 ledbuffer_h=0;
135 5 ledbuffer_l=keydata1;
136 5 }
137 4
138 4 else
139 4 {
140 5 fgkey=0;
141 5 keydata2=key5;
142 5 ledbuffer_h=ledbuffer_l;
143 5 ledbuffer_l=keydata2;
144 5 }
145 4 break;
146 4 case key6:
147 4 fgledflash=1;
148 4 if(!fgkey)
149 4 {
150 5 fgkey=1;
151 5 keydata1=key6;
152 5 keydata2=0;
153 5 ledbuffer_h=0;
154 5 ledbuffer_l=keydata1;
155 5 }
156 4
157 4 else
158 4 {
159 5 fgkey=0;
160 5 keydata2=key6;
161 5 ledbuffer_h=ledbuffer_l;
162 5 ledbuffer_l=keydata2;
163 5 }
164 4 break;
165 4 case key7:
166 4 fgledflash=1;
167 4 if(!fgkey)
168 4 {
169 5 fgkey=1;
170 5 keydata1=key7;
171 5 keydata2=0;
172 5 ledbuffer_h=0;
173 5 ledbuffer_l=keydata1;
174 5 }
175 4
176 4 else
177 4 {
178 5 fgkey=0;
179 5 keydata2=key7;
C51 COMPILER V7.01 KEYPROCESS 10/15/2004 15:20:38 PAGE 4
180 5 ledbuffer_h=ledbuffer_l;
181 5 ledbuffer_l=keydata2;
182 5 }
183 4 break;
184 4 case key8:
185 4 fgledflash=1;
186 4 if(!fgkey)
187 4 {
188 5 fgkey=1;
189 5 keydata1=key8;
190 5 keydata2=0;
191 5 ledbuffer_h=0;
192 5 ledbuffer_l=keydata1;
193 5 }
194 4
195 4 else
196 4 {
197 5 fgkey=0;
198 5 keydata2=key8;
199 5 ledbuffer_h=ledbuffer_l;
200 5 ledbuffer_l=keydata2;
201 5 }
202 4 break;
203 4 case key9:
204 4 fgledflash=1;
205 4 if(!fgkey)
206 4 {
207 5 fgkey=1;
208 5 keydata1=key9;
209 5 keydata2=0;
210 5 ledbuffer_h=0;
211 5 ledbuffer_l=keydata1;
212 5 }
213 4
214 4 else
215 4 {
216 5 fgkey=0;
217 5 keydata2=key9;
218 5 ledbuffer_h=ledbuffer_l;
219 5 ledbuffer_l=keydata2;
220 5 }
221 4 break;
222 4 case key10: //"0" key
223 4 fgledflash=1;
224 4 if(!fgkey)
225 4 {
226 5 fgkey=1;
227 5 keydata1=0;
228 5 keydata2=0;
229 5 ledbuffer_h=0;
230 5 ledbuffer_l=keydata1;
231 5 }
232 4
233 4 else
234 4 {
235 5 fgkey=0;
236 5 keydata2=0;
237 5 ledbuffer_h =ledbuffer_l;
238 5 ledbuffer_l = keydata2;
239 5 }
240 4 break;
241 4 case key11: //cancel key
C51 COMPILER V7.01 KEYPROCESS 10/15/2004 15:20:38 PAGE 5
242 4 fgledflash=0;
243 4 ledflash_counter=0;
244 4 keydata1=0;
245 4 keydata2=0;
246 4 ledbuffer_h=0;
247 4 ledbuffer_l=0;
248 4 if(!fgauto)
249 4 {
250 5 P0=0 | 0xf8;
251 5 INH_1=0;
252 5 INH_2=0;
253 5 }
254 4 fgkey=0;
255 4
256 4 break;
257 4 case key12:
258 4 fgledflash=0; //enter key
259 4 ledflash_counter=0;
260 4 if(!fgauto)
261 4 {
262 5 if(ledbuffer_h==0)
263 5 {
264 6 if(ledbuffer_l<9)
265 6 {
266 7 if((ledbuffer_l-1)==0xff)
267 7 P0=0 | 0xf8;
268 7 else
269 7 P0=(ledbuffer_l-1) | 0xf8;
270 7 INH_1=0;
271 7 INH_2=1;
272 7 }
273 6 else
274 6 {
275 7 P0=0 | 0xf8;
276 7 INH_1=1;
277 7 INH_2=0;
278 7 }
279 6 }
280 5 else if(ledbuffer_h==1)
281 5 {
282 6 if(ledbuffer_l<7)
283 6 P0=(ledbuffer_l+1) | 0xf8;
284 6 else
285 6 P0=0x07 | 0xf8;
286 6 INH_1=1;
287 6 INH_2=0;
288 6 }
289 5 else
290 5 {
291 6 P0=0x07 | 0xf8;
292 6 INH_1=1;
293 6 INH_2=0;
294 6 }
295 5 fgkey=0;
296 5 keybuffer=no_key;
297 5 }
298 4 else
299 4
300 4 {
301 5 auto_counter = ledbuffer_h*10 + ledbuffer_l;
302 5 TimeCounter=auto_counter*20;
303 5 x24c02_write(0x00,auto_counter);
C51 COMPILER V7.01 KEYPROCESS 10/15/2004 15:20:38 PAGE 6
304 5 ledbuffer_h=0;
305 5 ledbuffer_l=1;
306 5 P0=0 | 0xf8;
307 5 INH_1=0;
308 5 INH_2=1;
309 5 fgkey=0;
310 5 keybuffer=no_key;
311 5 }
312 4
313 4 break;
314 4 default:
315 4 break;
316 4 }
317 3 }
318 2
319 2 else
320 2 ;
321 2
322 2 }
323 1
324 1 else
325 1 {
326 2 keybuffer = no_key;
327 2 fgkey_on=0;
328 2
329 2 }
330 1 }
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 534 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
C51 COMPILER V7.01 KEYPROCESS 10/15/2004 15:20:38 PAGE 7
DATA SIZE = 7 ----
IDATA SIZE = ---- ----
BIT SIZE = 5 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -