⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 file_lcd.lst

📁 基于单片机的12864lcd显示驱动程序. 更改廷时便可移植到高速mpu上.
💻 LST
📖 第 1 页 / 共 4 页
字号:
 465   1      asm("nop");
 466   1          asm("nop");
C51 COMPILER V7.50   FILE_LCD                                                              09/13/2007 09:33:44 PAGE 10  

 467   1       CLMADD=CLMADD-64;
 468   1       PAGEADD=PAGEADD+1;
 469   1       TRANS=PAGEADD;
 470   1       TRANS1();
 471   1       for(;k<320;k++)
 472   1        {
 473   2         WRITE=table2[i+k];
 474   2         WRITE1();
 475   2        }
 476   1      asm("nop");
 477   1          asm("nop");
 478   1        CLMADD=CLMADD-64;
 479   1       PAGEADD=PAGEADD+1;
 480   1       TRANS=PAGEADD;
 481   1       TRANS1();
 482   1       for(;k<384;k++)
 483   1        {
 484   2         WRITE=table2[i+k];
 485   2         WRITE1();
 486   2        }
 487   1      asm("nop");
 488   1          asm("nop");
 489   1       CLMADD=CLMADD-64;
 490   1       PAGEADD=PAGEADD+1;
 491   1       TRANS=PAGEADD;
 492   1       TRANS1();
 493   1       for(;k<448;k++)
 494   1        {
 495   2         WRITE=table2[i+k];
 496   2         WRITE1();
 497   2        }
 498   1      asm("nop");
 499   1          asm("nop");
 500   1       CLMADD=CLMADD-64;
 501   1       PAGEADD=PAGEADD+1;
 502   1       TRANS=PAGEADD;
 503   1       TRANS1();
 504   1       for(;k<512;k++)
 505   1        {
 506   2         WRITE=table2[i+k];
 507   2         WRITE1();
 508   2        }
 509   1      asm("nop");
 510   1          asm("nop");
 511   1      }
 512          
 513          //////////////////////////////////////////////////////
 514          //LCD左半屏显示数字8*16格式函数
 515          void dis5()
 516          {
 517   1       TRANS=row;
 518   1       TRANS1();
 519   1       TRANS=PAGEADD;
 520   1       TRANS1();
 521   1       i=i*16;
 522   1      asm("nop");
 523   1          asm("nop");
 524   1       for(k=0;k<8;k++)
 525   1        {
 526   2         WRITE=table6[i+k];
 527   2         WRITE1();
 528   2        asm("nop");
C51 COMPILER V7.50   FILE_LCD                                                              09/13/2007 09:33:44 PAGE 11  

 529   2          asm("nop");
 530   2        }
 531   1       CLMADD=CLMADD-8;
 532   1       PAGEADD=PAGEADD+1;
 533   1       TRANS=PAGEADD;
 534   1       TRANS1();
 535   1       for(;k<16;k++)
 536   1        {
 537   2         WRITE=table6[i+k];
 538   2         WRITE1();
 539   2        }
 540   1      }
 541          
 542          ///////////////////////////////////////////////////
 543          //LCD右半屏显示中文16*16格式函数
 544          void dis2()
 545          {
 546   1       TRANS=row;
 547   1       TRANS2();
 548   1       TRANS=PAGEADD;
 549   1       TRANS2();
 550   1       i=i*32;
 551   1       for(k=0;k<16;k++)
 552   1        {
 553   2         WRITE=table[i+k];
 554   2         WRITE2();
 555   2        }
 556   1       CLMADD=CLMADD-16;
 557   1       PAGEADD=PAGEADD+1;
 558   1       TRANS=PAGEADD;
 559   1       TRANS2();
 560   1       for(;k<32;k++)
 561   1        {
 562   2         WRITE=table[i+k];
 563   2         WRITE2();
 564   2        }
 565   1      }
 566          
 567          /////////////////////////////////
 568          //LCD右半屏显示图形界面函数
 569          void dis4()
 570          {
 571   1       row=0xc0;    //设置显示起始行
 572   1       PAGEADD=0XB8;
 573   1       CLMADD=0X40;
 574   1       i=0;
 575   1       TRANS=row;
 576   1       TRANS2();
 577   1       TRANS=PAGEADD;
 578   1       TRANS2();
 579   1       i=i*64;
 580   1       for(k=0;k<64;k++)
 581   1        {
 582   2         WRITE=table3[i+k];
 583   2         WRITE2();
 584   2        }
 585   1      asm("nop");
 586   1          asm("nop");
 587   1       CLMADD=CLMADD-64;
 588   1       PAGEADD=PAGEADD+1;
 589   1       TRANS=PAGEADD;
 590   1       TRANS2();
C51 COMPILER V7.50   FILE_LCD                                                              09/13/2007 09:33:44 PAGE 12  

 591   1       for(;k<128;k++)
 592   1        {
 593   2         WRITE=table3[i+k];
 594   2         WRITE2();
 595   2        }
 596   1      asm("nop");
 597   1          asm("nop");
 598   1       CLMADD=CLMADD-64;
 599   1       PAGEADD=PAGEADD+1;
 600   1       TRANS=PAGEADD;
 601   1       TRANS2();
 602   1       for(;k<192;k++)
 603   1        {
 604   2         WRITE=table3[i+k];
 605   2         WRITE2();
 606   2        }
 607   1      asm("nop");
 608   1          asm("nop");
 609   1       CLMADD=CLMADD-64;
 610   1       PAGEADD=PAGEADD+1;
 611   1       TRANS=PAGEADD;
 612   1       TRANS2();
 613   1       for(;k<256;k++)
 614   1        {
 615   2         WRITE=table3[i+k];
 616   2         WRITE2();
 617   2        }
 618   1      asm("nop");
 619   1          asm("nop");
 620   1       CLMADD=CLMADD-64;
 621   1       PAGEADD=PAGEADD+1;
 622   1       TRANS=PAGEADD;
 623   1       TRANS2();
 624   1       for(;k<320;k++)
 625   1        {
 626   2         WRITE=table3[i+k];
 627   2         WRITE2();
 628   2        }
 629   1      asm("nop");
 630   1          asm("nop");
 631   1        CLMADD=CLMADD-64;
 632   1       PAGEADD=PAGEADD+1;
 633   1       TRANS=PAGEADD;
 634   1       TRANS2();
 635   1       for(;k<384;k++)
 636   1        {
 637   2         WRITE=table3[i+k];
 638   2         WRITE2();
 639   2        }
 640   1      asm("nop");
 641   1          asm("nop");
 642   1       CLMADD=CLMADD-64;
 643   1       PAGEADD=PAGEADD+1;
 644   1       TRANS=PAGEADD;
 645   1       TRANS2();
 646   1       for(;k<448;k++)
 647   1        {
 648   2         WRITE=table3[i+k];
 649   2         WRITE2();
 650   2        }
 651   1      asm("nop");
 652   1          asm("nop");
C51 COMPILER V7.50   FILE_LCD                                                              09/13/2007 09:33:44 PAGE 13  

 653   1       CLMADD=CLMADD-64;
 654   1       PAGEADD=PAGEADD+1;
 655   1       TRANS=PAGEADD;
 656   1       TRANS2();
 657   1       for(;k<512;k++)
 658   1        {
 659   2         WRITE=table3[i+k];
 660   2         WRITE2();
 661   2        }
 662   1      asm("nop");
 663   1          asm("nop");
 664   1      }
 665          
 666          ////////////////////////////
 667          //LCD右半屏显示数字8*16格式函数
 668          void dis6()
 669          {
 670   1       TRANS=row;
 671   1       TRANS2();
 672   1       TRANS=PAGEADD;
 673   1       TRANS2();
 674   1       i=i*16;
 675   1      asm("nop");
 676   1          asm("nop");
 677   1       for(k=0;k<8;k++)
 678   1        {
 679   2         WRITE=table6[i+k];
 680   2         WRITE2();
 681   2        asm("nop");
 682   2          asm("nop");
 683   2        }
 684   1       CLMADD=CLMADD-8;
 685   1       PAGEADD=PAGEADD+1;
 686   1       TRANS=PAGEADD;
 687   1       TRANS2();
 688   1       for(;k<16;k++)
 689   1        {
 690   2         WRITE=table6[i+k];
 691   2         WRITE2();
 692   2        }
 693   1      }
 694          
 695          ///////////////////////////////////////////////////////
 696          //显示组号子函数
 697          void dis7()
 698          {
 699   1       row=0xc0;    //设置显示起始行
 700   1       PAGEADD=0XBA;
 701   1       CLMADD=0X40;
 702   1       i=zuhao-1;
 703   1       dis1();
 704   1      }
 705          
 706          ///////////////////////////////////////////////////////
 707          //显示单体电池电压子函数
 708          void dis8()
 709          {
 710   1       row=0xc0;    
 711   1       switch(dianchihao)
 712   1          {
 713   2           case(1):{
 714   3               //显示个位
C51 COMPILER V7.50   FILE_LCD                                                              09/13/2007 09:33:44 PAGE 14  

 715   3               PAGEADD=0XB8;
 716   3               CLMADD=0X60;
 717   3               i=qianwei;
 718   3               dis5(); 
 719   3               //显示十位
 720   3               PAGEADD=0XB8;
 721   3               CLMADD=0X68;
 722   3               i=baiwei;
 723   3               dis5();
 724   3               //显示百位
 725   3               PAGEADD=0XB8;
 726   3               CLMADD=0X70;
 727   3               i=shiwei;
 728   3               dis5();
 729   3               //显示千位
 730   3               PAGEADD=0XB8;
 731   3               CLMADD=0X78;
 732   3               i=gewei;
 733   3               dis5();  
 734   3             };break;
 735   2      
 736   2           case(2):{
 737   3               PAGEADD=0XBA;
 738   3               CLMADD=0X60;
 739   3               i=qianwei;
 740   3               dis5(); 
 741   3               //显示十位

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -