📄 display.lst
字号:
279 1 Data3 = 0x0912;
280 1
281 1 for(i=0; i<12; i++)
282 1 {
283 2 LED_DCLK3 = 0;
284 2
285 2 if(Data3 & 0x0001)
286 2 {
287 3 LED_DIN3 = 1;
288 3 }
289 2 else
290 2 {
291 3 LED_DIN3 = 0;
292 3 }
293 2
294 2 LED_DCLK3 = 1;
295 2
296 2 Temp = Data3>>1;
297 2 Data3 = Temp;
298 2 }
299 1
300 1 LED_A3 = 1;
301 1 LED_A2 = 0;
302 1 LED_A1 = 1;
303 1 LED_A0 = 0;
C51 COMPILER V8.02 DISPLAY 08/03/2008 10:54:15 PAGE 6
304 1 LED_E = 0;
305 1 LED_E = 1;
306 1
307 1 Data3 = 0x0812;
308 1
309 1 for(i=0; i<12; i++)
310 1 {
311 2 LED_DCLK3 = 0;
312 2
313 2 if(Data3 & 0x0001)
314 2 {
315 3 LED_DIN3 = 1;
316 3 }
317 2 else
318 2 {
319 3 LED_DIN3 = 0;
320 3 }
321 2
322 2 LED_DCLK3 = 1;
323 2
324 2 Temp = Data3>>1;
325 2 Data3 = Temp;
326 2 }
327 1
328 1 LED_A3 = 1;
329 1 LED_A2 = 0;
330 1 LED_A1 = 1;
331 1 LED_A0 = 0;
332 1 LED_E = 0;
333 1 LED_E = 1;
334 1 }
335
336 void UpdateVoltage_1(unsigned char Channel, unsigned int Result) // 数码管1-8显示更新
337 {
338 1 unsigned int Data3_1 = 0x0f00;
339 1 unsigned int Data2_1 = 0x0e00;
340 1 unsigned int Data1_1 = 0x0d80;
341 1 unsigned int Data0_1 = 0x0c00;
342 1
343 1 unsigned int Data3_2 = 0x0b00;
344 1 unsigned int Data2_2 = 0x0a00;
345 1 unsigned int Data1_2 = 0x0980;
346 1 unsigned int Data0_2 = 0x0800;
347 1
348 1 unsigned char Hundred;
349 1 unsigned char Decade;
350 1 unsigned char One;
351 1 unsigned char Tenth;
352 1
353 1 unsigned int Temp;
354 1 unsigned char i;
355 1
356 1 Hundred = Result/0x0333; // 计算百位数值
357 1
358 1 Result %= 0x333;
359 1 Decade = Result/0x52; // 计算十位数值
360 1
361 1 Result %= 0x52;
362 1 One = Result/0x08; // 计算个位数值
363 1
364 1 Result %= 0x08;
365 1 Tenth = Result*1.22; // 计算小数位数值
C51 COMPILER V8.02 DISPLAY 08/03/2008 10:54:15 PAGE 7
366 1
367 1 if(Channel%2)
368 1 {
369 2 Data3_1 |= Hundred; // 准备要发送的数据
370 2 Data2_1 |= Decade;
371 2 Data1_1 |= One;
372 2 Data0_1 |= Tenth;
373 2
374 2 switch(Channel) // 确定要选通的驱动芯片
375 2 {
376 3 case 1:
377 3 LED_A3 = 0;
378 3 LED_A2 = 0;
379 3 LED_A1 = 0;
380 3 LED_A0 = 0;
381 3 break;
382 3 case 3:
383 3 LED_A3 = 0;
384 3 LED_A2 = 0;
385 3 LED_A1 = 0;
386 3 LED_A0 = 1;
387 3 break;
388 3 case 5:
389 3 LED_A3 = 0;
390 3 LED_A2 = 0;
391 3 LED_A1 = 1;
392 3 LED_A0 = 0;
393 3 break;
394 3 case 7:
395 3 LED_A3 = 0;
396 3 LED_A2 = 0;
397 3 LED_A1 = 1;
398 3 LED_A0 = 1;
399 3 break;
400 3 }
401 2
402 2 for(i=0; i<12; i++) // 更新数码管显示
403 2 {
404 3 LED_DCLK1 = 0;
405 3
406 3 if(Data3_1 & 0x0001)
407 3 {
408 4 LED_DIN1 = 1;
409 4 }
410 3 else
411 3 {
412 4 LED_DIN1 = 0;
413 4 }
414 3
415 3 LED_DCLK1 = 1;
416 3
417 3 Temp = Data3_1>>1;
418 3 Data3_1 = Temp;
419 3 }
420 2
421 2 LED_E = 0;
422 2 LED_E = 1;
423 2
424 2 for(i=0; i<12; i++)
425 2 {
426 3 LED_DCLK1 = 0;
427 3
C51 COMPILER V8.02 DISPLAY 08/03/2008 10:54:15 PAGE 8
428 3 if(Data2_1 & 0x0001)
429 3 {
430 4 LED_DIN1 = 1;
431 4 }
432 3 else
433 3 {
434 4 LED_DIN1 = 0;
435 4 }
436 3
437 3 LED_DCLK1 = 1;
438 3
439 3 Temp = Data2_1>>1;
440 3 Data2_1 = Temp;
441 3 }
442 2
443 2 LED_E = 0;
444 2 LED_E = 1;
445 2
446 2 for(i=0; i<12; i++)
447 2 {
448 3 LED_DCLK1 = 0;
449 3
450 3 if(Data1_1 & 0x0001)
451 3 {
452 4 LED_DIN1 = 1;
453 4 }
454 3 else
455 3 {
456 4 LED_DIN1 = 0;
457 4 }
458 3
459 3 LED_DCLK1 = 1;
460 3
461 3 Temp = Data1_1>>1;
462 3 Data1_1 = Temp;
463 3 }
464 2
465 2 LED_E = 0;
466 2 LED_E = 1;
467 2
468 2 for(i=0; i<12; i++)
469 2 {
470 3 LED_DCLK1 = 0;
471 3
472 3 if(Data0_1 & 0x0001)
473 3 {
474 4 LED_DIN1 = 1;
475 4 }
476 3 else
477 3 {
478 4 LED_DIN1 = 0;
479 4 }
480 3
481 3 LED_DCLK1 = 1;
482 3
483 3 Temp = Data0_1>>1;
484 3 Data0_1 = Temp;
485 3 }
486 2
487 2 LED_E = 0;
488 2 LED_E = 1;
489 2 }
C51 COMPILER V8.02 DISPLAY 08/03/2008 10:54:15 PAGE 9
490 1 else
491 1 {
492 2 Data3_2 |= Hundred;
493 2 Data2_2 |= Decade;
494 2 Data1_2 |= One;
495 2 Data0_2 |= Tenth;
496 2
497 2 switch(Channel) // 确定要选通的驱动芯片
498 2 {
499 3 case 2:
500 3 LED_A3 = 0;
501 3 LED_A2 = 0;
502 3 LED_A1 = 0;
503 3 LED_A0 = 0;
504 3 break;
505 3 case 4:
506 3 LED_A3 = 0;
507 3 LED_A2 = 0;
508 3 LED_A1 = 0;
509 3 LED_A0 = 1;
510 3 break;
511 3 case 6:
512 3 LED_A3 = 0;
513 3 LED_A2 = 0;
514 3 LED_A1 = 1;
515 3 LED_A0 = 0;
516 3 break;
517 3 case 8:
518 3 LED_A3 = 0;
519 3 LED_A2 = 0;
520 3 LED_A1 = 1;
521 3 LED_A0 = 1;
522 3 break;
523 3 }
524 2
525 2 for(i=0; i<12; i++) // 更新数码管显示
526 2 {
527 3 LED_DCLK1 = 0;
528 3
529 3 if(Data3_2 & 0x0001)
530 3 {
531 4 LED_DIN1 = 1;
532 4 }
533 3 else
534 3 {
535 4 LED_DIN1 = 0;
536 4 }
537 3
538 3 LED_DCLK1 = 1;
539 3
540 3 Temp = Data3_2>>1;
541 3 Data3_2 = Temp;
542 3 }
543 2
544 2 LED_E = 0;
545 2 LED_E = 1;
546 2
547 2 for(i=0; i<12; i++)
548 2 {
549 3 LED_DCLK1 = 0;
550 3
551 3 if(Data2_2 & 0x0001)
C51 COMPILER V8.02 DISPLAY 08/03/2008 10:54:15 PAGE 10
552 3 {
553 4 LED_DIN1 = 1;
554 4 }
555 3 else
556 3 {
557 4 LED_DIN1 = 0;
558 4 }
559 3
560 3 LED_DCLK1 = 1;
561 3
562 3 Temp = Data2_2>>1;
563 3 Data2_2 = Temp;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -