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

📄 display.lst

📁 8051带32Mflash的源代码
💻 LST
📖 第 1 页 / 共 4 页
字号:
 724   1              rgb2=r>>3;
 725   1              rgb=rgb2<<11;
 726   1              rgb2=g>>2;
 727   1              rgb=rgb|rgb2<<5;
 728   1              rgb2=b>>3;
 729   1              rgb=rgb|rgb2;
 730   1              return rgb;
 731   1              
 732   1      }
 733          
 734          
 735          /*----------------------------------------------------------------
 736                          SET WHOLE SCREEN sub program    
 737          -----------------------------------------------------------------*/
 738           void set_whole_screen()
 739          {
 740   1              D0=0;
 741   1              D8=0;
 742   1              W_C(0x4E);
 743   1              
 744   1              W_D(0x00);
 745   1              W_C(0x4F);
 746   1              W_D(0x0000);
 747   1              W_C(0X22);
 748   1              
 749   1      }
 750          
 751          
 752          /*----------------------------------------------------------------
 753                          DISPLAY RED sub program 
 754          -----------------------------------------------------------------*/
 755          void display_red()//red
 756          {       
 757   1              
 758   1              
 759   1              uchar i;
 760   1              unsigned int k;
 761   1              
 762   1              set_whole_screen();
 763   1              D0=0;
 764   1              D8=0;
 765   1              for(k=0;k<320;k++)
 766   1                      for(i=0;i<240;i++)
 767   1                      {
 768   2                              W_D(0xfc00);
 769   2                      }
 770   1              D0=0;
 771   1              D8=0;
 772   1      }
 773          
 774          
 775          /*----------------------------------------------------------------
 776                          DISPLAY GREEN sub program       
 777          -----------------------------------------------------------------*/
 778          
C51 COMPILER V7.01  DISPLAY                                                                11/16/2007 15:52:11 PAGE 17  

 779          void display_green()//green
 780          {       
 781   1              uchar i;
 782   1              unsigned int k;
 783   1              
 784   1              set_whole_screen();
 785   1              D0=0;
 786   1              D8=1;
 787   1              for(k=0;k<320;k++)
 788   1                      for(i=0;i<240;i++)
 789   1                      {
 790   2                              W_D(0x03e0);
 791   2                      
 792   2                      }
 793   1              D0=0;
 794   1              D8=0;
 795   1      }
 796          
 797          /*----------------------------------------------------------------
 798                          DISPLAY BLUE sub program        
 799          -----------------------------------------------------------------*/
 800          
 801          void display_blue()//blue
 802          {
 803   1              uchar i;
 804   1              unsigned int k;
 805   1              
 806   1              set_whole_screen();
 807   1              D0=1;
 808   1              D8=0;
 809   1              for(k=0;k<320;k++)
 810   1                      for(i=0;i<240;i++)
 811   1                      {
 812   2                              W_D(0x1f);
 813   2                       
 814   2                      }
 815   1              D0=0;
 816   1              D8=0;
 817   1      }//end sub
 818          
 819          
 820          /*----------------------------------------------------------------
 821                          DISPLAY WHITE sub program       
 822          -----------------------------------------------------------------*/
 823          void display_white()//white
 824          {
 825   1              uchar i;
 826   1              unsigned int k;
 827   1              
 828   1              set_whole_screen();
 829   1              
 830   1      
 831   1                      for(k=0;k<320;k++)
 832   1                              for(i=0;i<240;i++)
 833   1                              {
 834   2                                      W_D(0xffff);
 835   2                              
 836   2                               }
 837   1      
 838   1      }//end sub
 839          
 840          
C51 COMPILER V7.01  DISPLAY                                                                11/16/2007 15:52:11 PAGE 18  

 841          /*----------------------------------------------------------------
 842                          DISPLAY BLACK+SHAPE  sub program        
 843          -----------------------------------------------------------------*/
 844          void display_black()//black+绿色的框,作为边界确认
 845          {
 846   1              uchar i;
 847   1              unsigned int k;
 848   1              
 849   1              set_whole_screen();
 850   1              D0=0;
 851   1              D8=0;
 852   1              for(k=0;k<320;k++)
 853   1                      for(i=0;i<240;i++)
 854   1                      {
 855   2                              W_D(0x00);
 856   2                      
 857   2                       }
 858   1      
 859   1      }
 860          
 861          
 862          /*----------------------------------------------------------------
 863                          CLEAR DISPLAY sub program       
 864          -----------------------------------------------------------------*/
 865          void display_clear()//clear
 866          {
 867   1              unsigned char i,ii;
 868   1              set_whole_screen();
 869   1      
 870   1              for(ii=0;ii<32;ii++)
 871   1                      for(i=0;i<240;i++)
 872   1                              W_D(RGB(254,0,0));//red
 873   1                              
 874   1              for(ii=0;ii<32;ii++)
 875   1                      for(i=0;i<240;i++)
 876   1                              W_D(RGB(0,254,0));//g
 877   1      
 878   1              for(ii=0;ii<32;ii++)
 879   1                      for(i=0;i<240;i++)
 880   1                              W_D(RGB(0,0,254));//b
 881   1      
 882   1              for(ii=0;ii<32;ii++)
 883   1                      for(i=0;i<240;i++)
 884   1                              W_D(RGB(0,254,254));//b+g
 885   1      
 886   1              for(ii=0;ii<32;ii++)
 887   1                      for(i=0;i<240;i++)
 888   1                              W_D(RGB(254,0,254));//r+b
 889   1              
 890   1      
 891   1              for(ii=0;ii<32;ii++)
 892   1                      for(i=0;i<240;i++)
 893   1                              W_D(RGB(254,254,0));//r+g
 894   1      
 895   1              
 896   1              for(ii=0;ii<32;ii++)
 897   1                      for(i=0;i<240;i++)
 898   1                              W_D(RGB(0,0,0));//black
 899   1      
 900   1              for(ii=0;ii<32;ii++)
 901   1                      for(i=0;i<240;i++)
 902   1                              W_D(RGB(254,254,254));//white
C51 COMPILER V7.01  DISPLAY                                                                11/16/2007 15:52:11 PAGE 19  

 903   1       
 904   1              
 905   1              for(ii=0;ii<32;ii++)
 906   1                      for(i=0;i<240;i++)
 907   1                              W_D(RGB(0,0,0));//black
 908   1      
 909   1              for(ii=0;ii<32;ii++)
 910   1                      for(i=0;i<240;i++)
 911   1                              W_D(RGB(254,254,254));//white
 912   1      }//end sub
 913          
 914          
 915          /*----------------------------------------------------------------
 916                          DISPLAY PIXEL sub program       
 917          -----------------------------------------------------------------*/
 918          void set_pixel(unsigned int x,unsigned int y)
 919          {
 920   1              uint value;
 921   1              value=x&0x00ff;
 922   1              if(x>=240)x=240-1;
 923   1              if(y>=320)y=320-1;
 924   1              CMD(0x4E, x); 
 925   1              CMD(0x4F, y); 
 926   1              CMD(0x22, 0xffff);
 927   1      
 928   1      
 929   1                      
 930   1      }
 931          
 932          
 933          /*----------------------------------------------------------------
 934                          TEST PIXEL sub program  
 935          -----------------------------------------------------------------*/
 936          void test_pixel2()
 937          {
 938   1              unsigned int a;
 939   1              for(a=0;a<320;a++)
 940   1              {
 941   2                      if(a<240)
 942   2                      {
 943   3                              W_C(0x4e);
 944   3                              W_D(a);
 945   3                      }
 946   2                      else
 947   2                      {
 948   3                              W_C(0x4e);
 949   3                              W_D(120);
 950   3                      }
 951   2                      W_C(0x4f);
 952   2                      W_D(a);
 953   2                      
 954   2                      W_C(0X22);
 955   2                      
 956   2                      W_D(0xffFF);
 957   2              }
 958   1      }
 959           
 960          
 961          void write_picdata(uint value)
 962          {
 963   1              W_D(value);
 964   1      }
C51 COMPILER V7.01  DISPLAY                                                                11/16/2007 15:52:11 PAGE 20  

 965          #if INTERFACE_16BIT 
 966          void write_picdata1(uchar vdata1,uchar vdata2)
 967          {
 968   1      
 969   1              LCM_RS=1;
 970   1              lcm_cs(0);
 971   1              OUTPORT_H=vdata2;
 972   1              OUTPORT_L=vdata1;
 973   1              LCM_WR=0;
 974   1              LCM_WR=1;
 975   1              lcm_cs(1);
 976   1      }
 977          
 978          #elif INTERFACE_8BIT
              void write_picdata1(uchar vdata1,uchar vdata2)
              {
              
                      LCM_RS=1;
                      lcm_cs(0);
                      OUTPORT_L=vdata2;
                      LCM_WR=0;
                      LCM_WR=1;
                      OUTPORT_L=vdata1;
                      LCM_WR=0;
                      LCM_WR=1;
                      lcm_cs(1);
              }
              #else
                              #error write_picdata1(uchar vdata1,uchar vdata2) DON'T SET INTERFACE
              #endif
 995          
 996          
 997          void dis_RGB(void)
 998          {       
 999   1              display_green();//
1000   1              delay10ms(2200);
1001   1      //      display_blue();//
1002   1      //      delay10ms(2000);
1003   1      //      display_red();//
1004   1      //      delay10ms(2000);
1005   1      //      display_white();//
1006   1      //      delay10ms(2000);
1007   1              display_black();//
1008   1              delay10ms(2000);
1009   1      //      display_clear();//  
1010   1      }
1011          
1012          uchar LCM_SETUP_REG(uchar *p)
1013          {
1014   1              if((*(p+2)<0x100)&&*(p+2)>=0)
1015   1              {       W_C(*(p+2));
1016   2                      W_D_HL(*(p+6),*(p+7));
1017   2              }
1018   1              else
1019   1                      return 0;
1020   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1037    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
C51 COMPILER V7.01  DISPLAY                                                                11/16/2007 15:52:11 PAGE 21  

   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3       3
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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