yjsy.lst

来自「LCD1602.rar」· LST 代码 · 共 805 行 · 第 1/4 页

LST
805
字号
 580   2      }
 581   1      }
 582          
 583          /*--------------------------清除内存------------------------------*/
 584          void Clr_Scr()
 585          {
 586   1      unsigned char j,k;
 587   1      Mcs=1;Scs=1;
 588   1       write_com(Page_Add+0);
 589   1       write_com(Col_Add+0);
 590   1      
 591   1       for(k=0;k<8;k++){
 592   2      write_com(Page_Add+k);
 593   2        for(j=0;j<64;j++)write_data(0x00);
 594   2       }
 595   1      }
 596          
 597          /*--------------------------指定位置显示汉字16*16-----------------------*/
 598          void hz_disp16(unsigned char pag,unsigned char col, unsigned char code *hzk)
 599          {
 600   1      unsigned char j=0,i=0;
 601   1      for(j=0;j<2;j++){
 602   2      write_com(Page_Add+pag+j);
 603   2      write_com(Col_Add+col);
 604   2      for(i=0;i<16;i++) write_data(hzk[16*j+i]);
 605   2      }
 606   1      }
 607          
 608          /*----------------------指定位置显示字母或数字8*16-----------------------*/
 609          void e_disp16(unsigned char pag,unsigned char col, unsigned char code *hzk)
 610          {
 611   1      unsigned char j=0,i=0;
 612   1      for(j=0;j<2;j++){
 613   2      write_com(Page_Add+pag+j);
C51 COMPILER V8.02   YJSY                                                                  05/23/2006 16:10:09 PAGE 11  

 614   2      write_com(Col_Add+col);
 615   2      for(i=0;i<8;i++) write_data(hzk[8*j+i]);
 616   2      }
 617   1      }
 618          
 619          
 620          /*------------------显示128*64图片---------------------------*/
 621          void Disp_Img(unsigned char code *img)
 622          {
 623   1              unsigned char j,k;
 624   1              for(k=0;k<8;k++)
 625   1              {
 626   2                      Mcs=1;Scs=0;delay(10);
 627   2                      write_com(Page_Add+k);
 628   2                      write_com(Col_Add+0);
 629   2                      for(j=0;j<64;j++) write_data(img[k*128+j]);
 630   2      
 631   2                      Mcs=0;Scs=1; delay(10);
 632   2                      write_com(Page_Add+k);
 633   2                      write_com(Col_Add+0);
 634   2                      for(j=64;j<128;j++) write_data(img[k*128+j]);
 635   2              }
 636   1      }
 637          
 638          
 639          /*------------------显示64*64图片---------------------------*/
 640          void Disp_Img2(unsigned char code *img)
 641          {
 642   1              unsigned char j,k;
 643   1              for(k=0;k<8;k++)
 644   1              {
 645   2                      Mcs=1;Scs=0;delay(10);
 646   2                      write_com(Page_Add+k);
 647   2                      write_com(Col_Add+0);
 648   2                      for(j=0;j<64;j++) write_data(img[k*64+j]);
 649   2              }
 650   1      }
 651          
 652          /*-------------------------------初始化LCD屏--------------------------*/
 653          void init_lcd()
 654          {
 655   1      Lcd_Rst=0;
 656   1      delay(100);
 657   1      Lcd_Rst=1;
 658   1      delay(100);
 659   1      
 660   1      Mcs=1;
 661   1      Scs=1;
 662   1      
 663   1      delay(100);
 664   1      write_com(Disp_Off);
 665   1      write_com(Page_Add+0);
 666   1      write_com(Start_Line+0);
 667   1      write_com(Col_Add+0);
 668   1      write_com(Disp_On);
 669   1      }
 670          
 671          /*------------------------------信息显示-----------------------------*/
 672          void Msg(void)
 673          {
 674   1      Clr_Scr();   //清除内存
 675   1      frame();   //边框
C51 COMPILER V8.02   YJSY                                                                  05/23/2006 16:10:09 PAGE 12  

 676   1      
 677   1      Mcs=1;Scs=0;
 678   1      hz_disp16(1,16,hu);
 679   1      delay(2000);
 680   1      hz_disp16(1,32,nan);
 681   1      delay(2000);
 682   1      hz_disp16(1,46,ke);
 683   1      delay(2000);
 684   1      
 685   1      Mcs=0;Scs=1;
 686   1      hz_disp16(1,0,ji);
 687   1      delay(2000);
 688   1      hz_disp16(1,16,da);
 689   1      delay(2000);
 690   1      hz_disp16(1,32,xue);
 691   1      delay(2000);
 692   1                   
 693   1      Mcs=1;Scs=0;
 694   1      hz_disp16(3,0,xin);
 695   1      delay(2000);
 696   1      hz_disp16(3,16,xi);
 697   1      delay(2000);
 698   1      hz_disp16(3,32,dian);
 699   1      delay(2000);
 700   1      hz_disp16(3,48,qi); 
 701   1      delay(2000);
 702   1      
 703   1      Mcs=0;Scs=1;
 704   1      hz_disp16(3,0,gong);
 705   1      delay(2000);
 706   1      hz_disp16(3,16,ceng);
 707   1      delay(2000);
 708   1      hz_disp16(3,32,xue);
 709   1      delay(2000);
 710   1      hz_disp16(3,48,yuan);
 711   1      delay(2000);
 712   1      
 713   1      Mcs=1;Scs=0;
 714   1      hz_disp16(5,0,zi);
 715   1      delay(2000);
 716   1      hz_disp16(5,16,dong);
 717   1      delay(2000);
 718   1      hz_disp16(5,32,hua);
 719   1      delay(2000);
 720   1      hz_disp16(5,48,xi2); 
 721   1      delay(2000);
 722   1      
 723   1      Mcs=0;Scs=1;
 724   1      e_disp16(5,16,w);
 725   1      delay(2000);
 726   1      e_disp16(5,24,h);
 727   1      delay(2000);
 728   1      e_disp16(5,32,o);
 729   1      delay(2000);
 730   1      e_disp16(5,40,a);
 731   1      delay(2000);
 732   1      e_disp16(5,48,m);
 733   1      delay(2000);
 734   1      e_disp16(5,56,i);
 735   1      delay(2000);
 736   1      }
 737          
C51 COMPILER V8.02   YJSY                                                                  05/23/2006 16:10:09 PAGE 13  

 738          /*---------------------------主程序---------------------------------*/
 739          void main(void)
 740          {
 741   1      unsigned char i=0;
 742   1      while(1){
 743   2      init_lcd();
 744   2      Disp_Img(pic1);
 745   2      delay(40000);
 746   2      Disp_Img(pic2);
 747   2      delay(40000);
 748   2      Disp_Img(pic3);
 749   2      delay(40000);
 750   2      Disp_Img(pic4);
 751   2      delay(40000);
 752   2      Disp_Img2(pic5);
 753   2      delay(40000);
 754   2      Msg();
 755   2      delay(40000);
 756   2      }
 757   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1003    ----
   CONSTANT SIZE    =   5248    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      18
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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