?? mykey.lst
字號:
349 2 case 6:
350 2 if((FLASHDATA[FLASHTAB]>'4')&&(FLASHDATA[FLASHTAB]<='6'))
351 2 {
352 3 FLASHDATA[FLASHTAB]=FLASHDATA[FLASHTAB]-1;
353 3 return;
354 3 }
355 2 else return;
356 2
357 2 case 7:
358 2 if((FLASHDATA[FLASHTAB]>'0')&&(FLASHDATA[FLASHTAB]<='9')&&(FLASHDATA[FLASHTAB-1]>='4')&&(FLASHDATA[FLA
-SHTAB-1]<'6'))
359 2 {
360 3 FLASHDATA[FLASHTAB]=FLASHDATA[FLASHTAB]-1;
361 3 return;
362 3 }
363 2 if((FLASHDATA[FLASHTAB]=='0')&&(FLASHDATA[FLASHTAB-1]>'4')&&(FLASHDATA[FLASHTAB-1]<='6'))
364 2 {
C51 COMPILER V8.02 MYKEY 05/17/2008 16:44:41 PAGE 7
365 3 FLASHDATA[FLASHTAB]='9';
366 3 FLASHDATA[FLASHTAB-1]=FLASHDATA[FLASHTAB-1]-1;
367 3 DATALCD[FLASHPOS[FLASHTAB-1]]= FLASHDATA[FLASHTAB-1];
368 3 return;
369 3 }
370 2 if((FLASHDATA[FLASHTAB]=='0')&&(FLASHDATA[FLASHTAB-1]=='4'))
371 2 {
372 3 FLASHDATA[FLASHTAB]='0';
373 3 FLASHDATA[FLASHTAB-1]='6';
374 3 DATALCD[FLASHPOS[FLASHTAB-1]]= FLASHDATA[FLASHTAB-1];
375 3 return;
376 3 }
377 2 else return;
378 2 }
379 1 }
380 void set_CLEAR(void)
381 {
382 1 FLASHADDR=0x00FF;
383 1 CPRST=NORM;
384 1 Page1();
385 1 }
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418 /***************************************/
419 // 延時子程序 延時t秒
420 /***************************************/
421 void delay(uint t)
422 {
423 1 uint i;
424 1 uint j;
425 1 for(j=0;j<t;j++)
426 1 for(i=0;i<109;i++)
C51 COMPILER V8.02 MYKEY 05/17/2008 16:44:41 PAGE 8
427 1 _nop_();
428 1 }
429
430
431 /***************************************/
432 //寫寄存器命令
433 /***************************************/
434 void CmdWrite(uchar cmdreg,uchar cmddata)
435 {
436 1
437 1 LCD_BUS=cmdreg; //寫入寄存器地址
438 1 CS=0;
439 1 _RD=1;
440 1 RS=0;
441 1 _WR=0;
442 1 _nop_();
443 1 _WR=1;
444 1 _nop_();
445 1 RS=1;
446 1 CS=1;
447 1
448 1 LCD_BUS=cmddata; //寫入?yún)?shù)
449 1
450 1 CS=0;
451 1 _RD=1;
452 1 RS=0;
453 1 _WR=0;
454 1 _nop_();
455 1 _WR=1;
456 1 _nop_();
457 1 RS=1;
458 1 CS=1;
459 1 _RD=1;
460 1 }
461
462 /******************************************/
463 //數(shù)據(jù)寫操作
464 /******************************************/
465 void DataWrite(uchar wrdata)
466 {
467 1 _RD=1;
468 1 _WR=1;
469 1 RS=1;
470 1
471 1 LCD_BUS=wrdata; //寫入數(shù)據(jù)
472 1
473 1 CS=0;
474 1 _WR=0;
475 1 _nop_();
476 1 _WR=1;
477 1 _nop_();
478 1 RS=0;
479 1 CS=1;
480 1 }
481
482 /******************************************/
483 //寫入字符串
484 /******************************************/
485 void Printstr(uchar code *pstr)
486 {
487 1 while(*pstr!=0)
488 1 {
C51 COMPILER V8.02 MYKEY 05/17/2008 16:44:41 PAGE 9
489 2 DataWrite(*pstr);
490 2 pstr++;
491 2 delay(1);
492 2 }
493 1 }
494
495 /******************************************/
496 //整屏幕寫入數(shù)據(jù)
497 /******************************************/
498 void FullScreenFill(uchar fill_data)
499 {
500 1 uchar i,j;
501 1 CmdWrite(0x60,0x00);
502 1 CmdWrite(0x70,0x00);
503 1 for(i=0;i<24;i++)
504 1 for(j=0;j<128;j++)
505 1 DataWrite(fill_data);
506 1 }
507
508 /******************************************/
509 //模塊復(fù)位與初始化
510 /******************************************/
511 void LCD_Initial()
512 {
513 1 _RST=0; //復(fù)位開始
514 1 delay(10);
515 1 _RST=1;
516 1 delay(10); //復(fù)位結(jié)束
517 1
518 1 CmdWrite(0x00,0xcd); //電源、軟件正常模式,文本正向模式,開顯示 ,屏幕不閃爍
519 1 //CmdWrite(0x00,0xc5);
520 1 CmdWrite(0x90,0x0d);
521 1 CmdWrite(0xf0,0xa0);
522 1 CmdWrite(0x11,0x00); //光標(biāo)高度和行距
523 1 CmdWrite(0x03,0x80); //移動控制
524 1 CmdWrite(0x10,0x6f); //光標(biāo)和字體控制
525 1 CmdWrite(0x12,0x91); //光標(biāo)自動右移,顯示PAGE1
526 1
527 1 CmdWrite(0x20,0x17); //工作視窗右邊參數(shù)的設(shè)定
528 1 CmdWrite(0x30,0x7f);
529 1 CmdWrite(0x40,0x00);
530 1 CmdWrite(0x50,0x00);
531 1
532 1 CmdWrite(0x21,0x17); //顯示視窗參數(shù)的設(shè)定
533 1 CmdWrite(0x31,0x80);
534 1 CmdWrite(0x41,0x00);
535 1 CmdWrite(0x51,0x00);
536 1
537 1 CmdWrite(0x60,0x00); //設(shè)定X坐標(biāo)
538 1 CmdWrite(0x70,0x00); //設(shè)定Y坐標(biāo)
539 1 CmdWrite(0xe0,0x00);
540 1 CmdWrite(0xf0,0xa0); //簡體自型
541 1 CmdWrite(0xf1,0x0f);
542 1 }
543
544
545 void Page1(void)
546 {
547 1
548 1 CmdWrite(0x60,0x00); //設(shè)定X坐標(biāo)
549 1 CmdWrite(0x70,0x00); //設(shè)定Y坐標(biāo)
550 1 Printstr("請設(shè)定值:");
C51 COMPILER V8.02 MYKEY 05/17/2008 16:44:41 PAGE 10
551 1
552 1 CmdWrite(0x60,0x00); //設(shè)定X坐標(biāo)
553 1 CmdWrite(0x70,0x20); //設(shè)定Y坐標(biāo)
554 1 Printstr("電壓幅度:");
555 1
556 1 CmdWrite(0x60,0x4a);
557 1 CmdWrite(0x70,0x20);
558 1 Printstr("0");
559 1
560 1 CmdWrite(0x60,0x4b);
561 1 CmdWrite(0x70,0x20);
562 1 Printstr(".");
563 1
564 1 CmdWrite(0x60,0x4c);
565 1 CmdWrite(0x70,0x20);
566 1 Printstr("1");
567 1
568 1 CmdWrite(0x60,0x4d);
569 1 CmdWrite(0x70,0x20);
570 1 Printstr("V");
571 1
572 1 CmdWrite(0x60,0x00); //設(shè)定X坐標(biāo)
573 1 CmdWrite(0x70,0x40); //設(shè)定Y坐標(biāo)
574 1 Printstr("電流幅度:");
575 1
576 1
577 1 CmdWrite(0x60,0x4a);
578 1 CmdWrite(0x70,0x40);
579 1 Printstr("1");
580 1
581 1 CmdWrite(0x60,0x4b);
582 1 CmdWrite(0x70,0x40);
583 1 Printstr(".");
584 1
585 1 CmdWrite(0x60,0x4c);
586 1 CmdWrite(0x70,0x40);
587 1 Printstr("0");
588 1
589 1 CmdWrite(0x60,0x4d);
590 1 CmdWrite(0x70,0x40);
591 1 Printstr("m");
592 1
593 1 CmdWrite(0x60,0x4e);
594 1 CmdWrite(0x70,0x40);
595 1 Printstr("A");
596 1
597 1
598 1
599 1
600 1 CmdWrite(0x60,0x00); //設(shè)定X坐標(biāo)
601 1 CmdWrite(0x70,0x60); //設(shè)定Y坐標(biāo)
602 1 Printstr("頻率:");
603 1
604 1 CmdWrite(0x60,0x46);
605 1 CmdWrite(0x70,0x60);
606 1 Printstr("5");
607 1
608 1 CmdWrite(0x60,0x47);
609 1 CmdWrite(0x70,0x60);
610 1 Printstr("0");
611 1
612 1 CmdWrite(0x60,0x48);
C51 COMPILER V8.02 MYKEY 05/17/2008 16:44:41 PAGE 11
613 1 CmdWrite(0x70,0x60);
614 1 Printstr("H");
615 1
616 1 CmdWrite(0x60,0x49);
617 1 CmdWrite(0x70,0x60);
618 1 Printstr("z");
619 1
620 1
621 1 }
622 void WriteTextScreen(unsigned char *TxtData)
623 {
624 1
625 1 unsigned char TempData;
626 1 unsigned char i=0;
627 1 CmdWrite(0x60,0x00); //設(shè)定X坐標(biāo)
628 1 CmdWrite(0x70,0x00); //設(shè)定Y坐標(biāo)
629 1 Printstr("請設(shè)定值:");
630 1 CmdWrite(0x60,0x00); //設(shè)定X坐標(biāo)
631 1 CmdWrite(0x70,0x20); //設(shè)定Y坐標(biāo)
632 1 for(i=0; i<14; i++)
633 1 {
634 2 TempData=(*(TxtData+i));
635 2 DataWrite(TempData);
636 2 }
637 1 CmdWrite(0x60,0x00); //設(shè)定X坐標(biāo)
638 1 CmdWrite(0x70,0x40); //設(shè)定Y坐標(biāo)
639 1 for(i=14; i<29; i++)
640 1 {
641 2 TempData=(*(TxtData+i));
642 2 DataWrite(TempData);
643 2 }
644 1 CmdWrite(0x60,0x00); //設(shè)定X坐標(biāo)
645 1 CmdWrite(0x70,0x60); //設(shè)定Y坐標(biāo)
646 1 for(i=29; i<39; i++)
647 1 {
648 2 TempData=(*(TxtData+i));
649 2 DataWrite(TempData);
650 2 }
651 1 }
652 void ncstrcpy(unsigned char *dst, const unsigned char *src)
653 {
654 1 while (*src!=0x00)
655 1 *dst++=*src++;
656 1 }
657 void dis_Page2(void)
658 {
659 1 sprintf(FLASHDATA,"%3.1f",vp);
660 1 ncstrcpy(DATALCD,"電壓幅度: ");
661 1 sprintf(DATALCD+10, "%3.1f",vp);
662 1 sprintf(DATALCD+13, "V");
663 1
664 1 sprintf(FLASHDATA+3,"%3.1f",ip);
665 1 ncstrcpy(DATALCD+14,"電流幅度: ");
666 1 sprintf(DATALCD+24, "%3.1f",ip);
667 1 sprintf(DATALCD+27, "mA");
668 1
669 1 sprintf(FLASHDATA+6,"%2d",freq);
670 1 ncstrcpy(DATALCD+29,"頻率: ");
671 1 sprintf(DATALCD+35, "%2d",freq);
672 1 sprintf(DATALCD+37, "Hz");
673 1
674 1 WriteTextScreen(DATALCD);
C51 COMPILER V8.02 MYKEY 05/17/2008 16:44:41 PAGE 12
675 1 }
676
677
678
679
680
681
682
683
684
685
686
687
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 3713 ----
CONSTANT SIZE = 128 ----
XDATA SIZE = 89 12
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -