📄 testclk_2.lst
字号:
C51 COMPILER V7.06 TESTCLK_2 10/24/2008 09:41:08 PAGE 5
242 1 {
243 2 t2 = ADC_DATA >> 4;
244 2 if(t1 == t2)
245 2 {
246 3 switch(t1)
247 3 {
248 4 case 0:
249 4 break;
250 4 case 1:
251 4 case 2:
252 4 break;
253 4 case 3:
254 4 case 4:
255 4 break;
256 4 case 5:
257 4 case 6:
258 4 break;
259 4 case 7:
260 4 case 8:
261 4 flag = 1;
262 4 flag1 = 0;
263 4 flag2 = 1;
264 4 count = count + 1;
265 4 if(count == 4)
266 4 count = 1;
267 4 clk_display();
268 4 break;
269 4 case 9:
270 4 case 10:
271 4 flag = 0;
272 4 flag1 = 1;
273 4 flag2 = 0;
274 4 count = 0;
275 4 break;
276 4 case 11:
277 4 case 12:
278 4 break;
279 4 }
280 3 while(ADC_DATA < 0xd0)
281 3 {
282 4 delay(10);
283 4 Get_AD_Result(2);
284 4 }
285 3 }
286 2 }
287 1 }
288
289 void clk_display()
290 {
291 1 uchar temp;
292 1 clear();
293 1
294 1 temp=second/10;
295 1 buffer[8] |= table9[temp][0];
296 1 buffer[9] |= table9[temp][1];
297 1 buffer[10]|= table9[temp][2];
298 1 temp=second%10;
299 1 buffer[6] |= table10[temp][0];
300 1 buffer[7] |= table10[temp][1];
301 1 buffer[8] |= table10[temp][2];
302 1
303 1 buffer[12]|= 0x04;
C51 COMPILER V7.06 TESTCLK_2 10/24/2008 09:41:08 PAGE 6
304 1
305 1 temp=minute/10;
306 1 buffer[12]|= table7[temp][0];
307 1 buffer[13]|= table7[temp][1];
308 1 temp=minute%10;
309 1 buffer[10]|= table8[temp][0];
310 1 buffer[11]|= table8[temp][1];
311 1
312 1 buffer[14]|=0x02;
313 1
314 1 temp=hour/10;
315 1 buffer[15] |= table5[temp][0];
316 1 buffer[16] |= table5[temp][1];
317 1 buffer[17] |= table5[temp][2];
318 1 temp=hour%10;
319 1 buffer[13] |= table6[temp][0];
320 1 buffer[14] |= table6[temp][1];
321 1 buffer[15] |= table6[temp][2];
322 1
323 1 lcd_show();
324 1
325 1 }
326 void init()
327 {
328 1 P1 = P1 | 0X04;
329 1 P1_ADC_EN = 0X04;
330 1 clear();
331 1 lcd_show();
332 1 TMOD = 0x11;
333 1 TH0 = (65536 - 50000 * 11.0592 / 12) / 256;
334 1 TL0 = (65536 - 46080) % 256;//50000*11.0592/12=46080
335 1 // TH1=(65536-46080)/256;
336 1 // TL1=(65536-46080)%256;
337 1 EA = 1;
338 1 ET0 = 1;
339 1 TR0 = 1;
340 1 if(P3_3 == 0)
341 1 {
342 2 if(P4_3 == 0)
343 2 sw = 0;
344 2 else
345 2 sw = 1;
346 2 }
347 1 else
348 1 {
349 2 if(P4_3 == 0)
350 2 sw = 2;
351 2 else
352 2 sw = 3;
353 2 }
354 1 }
355 void main()
356 {
357 1 init();
358 1 while(1)
359 1 {
360 2 keyscan();
361 2 keyscan_knob();
362 2 }
363 1 }
364
365 void timer0() interrupt 1
C51 COMPILER V7.06 TESTCLK_2 10/24/2008 09:41:08 PAGE 7
366 {
367 1 uchar temp;
368 1 TH0 = (65536 - 50000 * 11.0592 / 12) / 256;
369 1 TL0 = (65536 - 46080) % 256;
370 1 if(flag1)
371 1 {
372 2 aa ++;
373 2 if(aa == 20)
374 2 {
375 3 aa = 0;
376 3 second ++;
377 3 if(second == 60)
378 3 {
379 4 second = 0;
380 4 second_h = 0;
381 4 second_l = 0;
382 4 minute ++;
383 4 if(minute == 60)
384 4 {
385 5 minute = 0;
386 5 minute_h = 0;
387 5 minute_l = 0;
388 5 hour ++;
389 5 if(hour == 24)
390 5 hour = 0;
391 5 }
392 4 }
393 3 clk_display();
394 3 }
395 2 }
396 1 if(flag2)
397 1 {
398 2 mm ++;
399 2 if(mm == 8)
400 2 {
401 3 mm = 0;
402 3 blinking = !blinking;
403 3 if(blinking == 1)
404 3 {
405 4 if(count == 1)
406 4 {
407 5 buffer[8] &= 0x03 ;
408 5 buffer[9] &= 0;
409 5 buffer[10] &= 0xfe;
410 5
411 5 buffer[6] &= 0x07;
412 5 buffer[7] &= 0;
413 5 buffer[8] &= 0xfc;
414 5 }
415 4
416 4 if(count == 2)
417 4 {
418 5 buffer[12] &= 0x04;
419 5 buffer[13] &= 0x80;
420 5
421 5 buffer[10] &= 0x01;
422 5 buffer[11] &= 0;
423 5 }
424 4 if(count == 3)
425 4 {
426 5
427 5 buffer[15] &= 0x3f;
C51 COMPILER V7.06 TESTCLK_2 10/24/2008 09:41:08 PAGE 8
428 5 buffer[16] &= 0x01;
429 5 buffer[17] &= 0xe0;
430 5 buffer[13] &= 0x7f;
431 5 buffer[14] &= 0x02;
432 5 buffer[15] &= 0xc0;
433 5 }
434 4 }
435 3 else
436 3 {
437 4 if(count == 1)
438 4 {
439 5 temp = second / 10;
440 5 buffer[8] |= table9[temp][0];
441 5 buffer[9] |= table9[temp][1];
442 5 buffer[10]|= table9[temp][2];
443 5 temp = second % 10;
444 5 buffer[6] |= table10[temp][0];
445 5 buffer[7] |= table10[temp][1];
446 5 buffer[8] |= table10[temp][2];
447 5 }
448 4 if(count == 2)
449 4 {
450 5 temp = minute / 10;
451 5 buffer[12]|= table7[temp][0];
452 5 buffer[13]|= table7[temp][1];
453 5 temp = minute % 10;
454 5 buffer[10]|= table8[temp][0];
455 5 buffer[11]|= table8[temp][1];
456 5 }
457 4 if(count == 3)
458 4 {
459 5 temp = hour / 10;
460 5 buffer[15] |= table5[temp][0];
461 5 buffer[16] |= table5[temp][1];
462 5 buffer[17] |= table5[temp][2];
463 5 temp = hour % 10;
464 5 buffer[13] |= table6[temp][0];
465 5 buffer[14] |= table6[temp][1];
466 5 buffer[15] |= table6[temp][2];
467 5 }
468 4 }
469 3 lcd_show();
470 3 }
471 2 }
472 1 }
473
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1463 ----
CONSTANT SIZE = 160 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 35 2
IDATA SIZE = ---- ----
BIT SIZE = 3 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -