📄 led.lst
字号:
277 1 switch(bi)
278 1 {
279 2
280 2 case 1:
281 2
282 2 temp |=0x0800;
283 2 break;
284 2 case 2:
285 2
286 2 temp |=0x0900;
287 2 break;
288 2 case 3:
289 2
290 2 temp |=0x0a00;
291 2 break;
292 2 case 4:
293 2
294 2 temp |=0x0b00;
295 2 break;
296 2 case 5:
297 2
298 2 temp |=0x0c00;
299 2 break;
300 2 case 6:
301 2
302 2 temp |=0x0d00;
303 2 break;
C51 COMPILER V7.50 LED 08/30/2005 17:12:03 PAGE 6
304 2 case 7:
305 2
306 2 temp |=0x0e00;
307 2 break;
308 2 case 8:
309 2
310 2 temp |=0x0f00;
311 2 break;
312 2 default:break;
313 2 }
314 1 switch(dat)
315 1 {
316 2 case 0:
317 2 temp |=0x3f;
318 2 break;
319 2 case 1:
320 2 temp |=0x06;
321 2 break;
322 2 case 2:
323 2 temp |=0x5b;
324 2 break;
325 2 case 3:
326 2 temp |=0x4f;
327 2 break;
328 2 case 4:
329 2 temp |=0x66;
330 2 break;
331 2 case 5:
332 2 temp |=0x6d;
333 2 break;
334 2 case 6:
335 2 temp |=0x7d;
336 2 break;
337 2 case 7:
338 2 temp |=0x07;
339 2 break;
340 2 case 8:
341 2 temp |=0x7f;
342 2 break;
343 2 case 9:
344 2 temp |=0x6f;
345 2 break;
346 2 case 10:
347 2 temp |=0x77;
348 2 break;
349 2 case 11:
350 2 temp |=0x7c;
351 2 break;
352 2 case 12:
353 2 temp |=0x58;
354 2 break;
355 2 case 13:
356 2 temp |=0x5e;
357 2 break;
358 2 case 14:
359 2 temp |=0x79;
360 2 break;
361 2 case 15:
362 2 temp |=0x71;
363 2 break;
364 2 default:break;
365 2 }
C51 COMPILER V7.50 LED 08/30/2005 17:12:03 PAGE 7
366 1
367 1 I2cStart();
368 1 if(CH452CS==1)
369 1 {
370 2 CH452_I2c_WrByte(((unsigned char)(temp>>7)&0x3E)|0x60); // CH452的ADDR=1时(默认)
371 2 }
372 1 else if(CH452CS==2)
373 1 {
374 2 CH452_I2c_WrByte(((unsigned char)(temp>>7)&0x3E)|0x40);
375 2 }
376 1 CH452_I2c_WrByte((unsigned char)temp); /*发送数据*/
377 1 I2cStop(); /*结束总线*/
378 1
379 1
380 1
381 1 }
382 //-------------------------------------------------------
383 void VfdDisplayInt(uchar *str,uchar MaxNum,uchar Pwd)
384 {
385 1 uchar i,j=0,k,m,w=0,len,add=0;
386 1 uchar buff[30];
387 1 uchar temp[30];
388 1
389 1 len=strlen(str);
390 1 if(len==0)
391 1 {
392 2 CH452_Init();
393 2 return;
394 2 }
395 1 if(len>20)len=20;
396 1 for(i=0;i<30;i++)
397 1 {
398 2 buff[i]=0;
399 2 temp[i]=0;
400 2 }
401 1 CH452_Init();
402 1 if(Pwd==0)
403 1 {
404 2 for(i=0;i<len;i++)
405 2 {
406 3 if(str[i]=='.')j=i;
407 3 }
408 2
409 2 for(i=0;i<len;i++)
410 2 {
411 3
412 3 if(str[i]!='.')
413 3 {
414 4 buff[add]=str[i];
415 4 add++;
416 4 w +=1;
417 4 }
418 3 }
419 2 for(i=0;i<20;i++)
420 2 {
421 3 if(buff[i]<='9' && buff[i]>='0') temp[i] = buff[i] - '0';
422 3 else if(buff[i]<='F' && buff[i]>='A') temp[i] = (buff[i] - 'A')+10;
423 3 else if(buff[i]<='f' && buff[i]>='a') temp[i] = (buff[i] - 'a')+10;
424 3 else temp[i] = 0x13;
425 3 }
426 2 k=len-1;
427 2 m=k-j;
C51 COMPILER V7.50 LED 08/30/2005 17:12:03 PAGE 8
428 2 if(len>8)len=8;
429 2 if(k>8)len=8;
430 2 if(j==0)
431 2 {
432 3 for(i=0;i<len;i++)
433 3 {
434 4
435 4 CH452_Disp(1,0,i+1,temp[w-1-i]);
436 4 }
437 3 // CH452_Disp(2,0,1,8);
438 3 // CH452_Disp(2,0,2,8);
439 3 }
440 2 else
441 2 {
442 3
443 3 for(i=0;i<k;i++)
444 3 {
445 4 if(j!=0&&i==m)
446 4 {
447 5 CH452_Disp(1,1,i+1,temp[w-1-i]);
448 5 }
449 4 else
450 4 {
451 5
452 5 CH452_Disp(1,0,i+1,temp[w-1-i]);
453 5 }
454 4 }
455 3
456 3 }
457 2
458 2 }
459 1 else
460 1 {
461 2 for(i=0;i<len;i++)
462 2 {
463 3 CH452_Disp(1,0,i+1,20);
464 3 }
465 2 }
466 1 CH452_Disp(2,0,1,8);
467 1 CH452_Disp(2,0,2,8);
468 1
469 1 }
*** WARNING C280 IN LINE 383 OF LED.C: 'MaxNum': unreferenced local variable
470
471 void VfdDisStr(uchar *str)
472 {
473 1
474 1 uchar i,buff[10];
475 1 uchar len;
476 1 len=strlen(str);
477 1 if(len==0)
478 1 {
479 2 CH452_Init();
480 2 return;
481 2
482 2 }
483 1 for(i=0;i<10;i++)
484 1 {
485 2 if(str[i]<='9' && str[i]>='0') buff[i] = str[i] - '0';
486 2 else if(str[i]<='F' && str[i]>='A') buff[i] = (str[i] - 'A')+10;
487 2 else if(str[i]<='f' && str[i]>='a') buff[i] = (str[i] - 'a')+10;
488 2 else buff[i] = 0x13;
C51 COMPILER V7.50 LED 08/30/2005 17:12:03 PAGE 9
489 2 }
490 1 CH452_Disp(1,0,1,buff[0]);
491 1 CH452_Disp(1,0,2,buff[1]);
492 1 CH452_Disp(1,0,3,buff[2]);
493 1 CH452_Disp(1,0,4,buff[3]);
494 1 CH452_Disp(1,0,5,buff[4]);
495 1 CH452_Disp(1,0,6,buff[5]);
496 1 CH452_Disp(1,0,7,buff[6]);
497 1 CH452_Disp(1,0,8,buff[7]);
498 1 CH452_Disp(2,0,1,buff[8]);
499 1 CH452_Disp(2,0,2,buff[9]);
500 1
501 1 }
C51 COMPILER V7.50 LED 08/30/2005 17:12:03 PAGE 10
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION Com007E (BEGIN)
0000 L?0127:
0000 L?0128:
0000 900000 R MOV DPTR,#temp
0003 E0 MOVX A,@DPTR
0004 F0 MOVX @DPTR,A
0005 A3 INC DPTR
0006 E0 MOVX A,@DPTR
0007 22 RET
0008 L?0129:
0008 900000 R MOV DPTR,#i
000B L?0130:
000B E0 MOVX A,@DPTR
000C FF MOV R7,A
000D 04 INC A
000E FB MOV R3,A
000F 900000 R MOV DPTR,#w
0012 E0 MOVX A,@DPTR
0013 C3 CLR C
0014 9F SUBB A,R7
0015 FF MOV R7,A
0016 E4 CLR A
0017 9400 SUBB A,#00H
0019 FE MOV R6,A
001A 7400 R MOV A,#LOW temp+0FFFFH
001C 2F ADD A,R7
001D F582 MOV DPL,A
001F 7400 R MOV A,#HIGH temp+0FFFFH
0021 3E ADDC A,R6
0022 F583 MOV DPH,A
0024 E0 MOVX A,@DPTR
0025 900000 R MOV DPTR,#?_CH452_Disp?BYTE+03H
0028 F0 MOVX @DPTR,A
0029 22 RET
002A L?0131:
002A L?0132:
002A 900000 R MOV DPTR,#i
002D E0 MOVX A,@DPTR
002E FF MOV R7,A
002F L?0133:
002F 2400 R ADD A,#LOW buff
0031 L?0134:
0031 F582 MOV DPL,A
0033 E4 CLR A
0034 3400 R ADDC A,#HIGH buff
0036 F583 MOV DPH,A
0038 22 RET
0039 L?0135:
0039 L?0136:
0039 900000 R MOV DPTR,#str
003C E0 MOVX A,@DPTR
003D FB MOV R3,A
003E A3 INC DPTR
003F E0 MOVX A,@DPTR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -