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

📄 demo.lst

📁 RA8803液晶控制器的程序
💻 LST
字号:
C51 COMPILER V8.08   DEMO                                                                  02/27/2008 09:09:24 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE DEMO
OBJECT MODULE PLACED IN Demo.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE Demo.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*******************************************************************************
   2          *                                                                            
   3          *       Filename:       Demo.c
   4          * 
   5          *       Author:         Duke Chang
   6          *       Company:        RAiO Technology Inc.
   7          *       Case:           320x240 
   8          *       Device:         MXIC MX10E8050IQC at 18.432MHz
   9          *       Date:           2005/10/1
  10          *       Modifier:       Duke Chang
  11          *       Modify Date:    2005/10/13
  12          *       Visions:        1.0
  13          *       Compiled Using Keil C v7.50
  14          *       
  15          *******************************************************************************/
  16          
  17          #include "Demo.h"
  18          
  19          /******************************************************************************/
  20          /*Main program area                                                                                                                       */
  21          /******************************************************************************/
  22          void main(void)
  23          {
  24   1              uchar state;
  25   1      
  26   1              P0 = 0xff;
  27   1              P1 = 0xff;
  28   1              P2 = 0xff;
  29   1      #ifdef Parallel_8080
  30   1              P3 = 0xff;
  31   1      #endif
  32   1      
  33   1      #ifdef Parallel_6800
                      P3 = 0x77;
              #endif
  36   1              
  37   1              AUXR = B0000_0011;      //Enable MOVX for external interface
  38   1      
  39   1              LCD_Reset();
  40   1              LCD_Initial();
  41   1              state = 0;
  42   1      
  43   1              while(1)        
  44   1              {               
  45   2                      switch(state)
  46   2                      {
  47   3                              case 0:
  48   3                                      Test_Font();
  49   3                                      break;  
  50   3                              case 1:
  51   3                                      Test_Pattern();
  52   3                                      break;  
  53   3                              case 2: 
  54   3                                      Test_Font();
  55   3                                      Test_Touch();
C51 COMPILER V8.08   DEMO                                                                  02/27/2008 09:09:24 PAGE 2   

  56   3                                      break;
  57   3      
  58   3                      }       
  59   2                      state++;
  60   2                      if(state==3) state=0;                                           
  61   2              }                               
  62   1      }
  63          
  64          /******************************************************************************/
  65          /*Sub program area                                                                                                                        */
  66          /******************************************************************************/
  67          
  68          //==============================================================================
  69          //Subroutine:   Test_Pattern
  70          //Function:             
  71          //==============================================================================
  72          void Test_Pattern(void)
  73          {
  74   1              uchar x, y;
  75   1              uchar pat, temp, count;
  76   1      
  77   1              LCD_ON();
  78   1              LCD_Graphic();
  79   1      
  80   1              for(pat=0; pat<10; pat++)       
  81   1              {                       
  82   2                      switch(pat)
  83   2                      {
  84   3                              case 0: temp = 0xff;
  85   3                                      break;  
  86   3                              case 1: temp = 0x00;
  87   3                                      break;
  88   3                              case 2: temp = 0x55;
  89   3                                      break;
  90   3                              case 3: temp = 0xaa;
  91   3                                      break;  
  92   3                              case 4: temp = 0xcc;
  93   3                                      break;  
  94   3                              case 5: temp = 0x33;
  95   3                                      break;  
  96   3                              case 6: temp = 0xF0;
  97   3                                      break;  
  98   3                              case 7: temp = 0x0F;
  99   3                                      break;
 100   3                              case 8: temp = 0x0F;
 101   3                                      break;
 102   3                              case 9: temp = 0xFF;
 103   3                                      break;                          
 104   3                      }                                                               
 105   2                      count = 0;
 106   2                      LCD_GotoXY(0, 0);
 107   2                      Delay100us(1);
 108   2                      for(y=0 ; y<cYSize ; y++)
 109   2                      { 
 110   3                              for(x=0 ; x<cXSize/2 ; x++)
 111   3                              {
 112   4                                      LCD_DataWrite(temp);
 113   4                                      if(pat==9)      LCD_DataWrite(~temp);
 114   4                                      else LCD_DataWrite(temp);
 115   4                              }
 116   3                              count++;
 117   3                              if((pat==8)&&(count==4))
C51 COMPILER V8.08   DEMO                                                                  02/27/2008 09:09:24 PAGE 3   

 118   3                              {       temp = ~temp;
 119   4                                      count=0;
 120   4                              }
 121   3      
 122   3                              else if((pat==9)&&(count==8))
 123   3                              {       temp = ~temp;
 124   4                                      count=0;
 125   4                              } 
 126   3                      }
 127   2                      LCD_CmdWrite(MAMR, B1001_0001);
 128   2                      Delay100ms(10);
 129   2              }
 130   1      }
 131          
 132          //==============================================================================
 133          //Subroutine:   Test Display/Inverse/Blink/Cursor
 134          //Function:             
 135          //==============================================================================
 136          void Test_Touch(void)
 137          {
 138   1              uchar temp, X1, X2, Y1, Y2;
 139   1              uint Timeout;
 140   1      
 141   1              ADC_On();
 142   1              LCD_GotoXY(0, 210);
 143   1              for(temp=0 ; temp<22 ; temp++)
 144   1              {       LCD_DataWrite(sRAiO5[temp]);
 145   2              }
 146   1      
 147   1              Timeout=0;
 148   1              while(1)
 149   1              {
 150   2                      temp = ADC_Touch();
 151   2                      if(temp==0x01)
 152   2                      {
 153   3                              Timeout=0;
 154   3                              X1 = ADC_X();
 155   3                              Y1 = ADC_Y();
 156   3                              Delay1ms(2);
 157   3                              temp = ADC_Touch();
 158   3                              if(temp==0x01)
 159   3                              {
 160   4                                      X2 = ADC_X();
 161   4                                      Y2 = ADC_Y();
 162   4      //                              Delay1ms(2);
 163   4                              
 164   4                                      LCD_GotoXY(0, 210);
 165   4                                      if((X1==X2) && (Y1==Y2))
 166   4                                      {       
 167   5                                              LCD_Bold();
 168   5                                              for(temp=0 ; temp<11 ; temp++)
 169   5                                              {       LCD_DataWrite(sRAiO7[temp]);
 170   6                                              }
 171   5      //                                      Delay10ms(1);
 172   5                                              LCD_GotoXY(13, 210);
 173   5                                              Print_Hex(Y1);
 174   5                                              LCD_GotoXY(21, 210);
 175   5                                              Print_Hex(X1);
 176   5                                              LCD_NoBold();
 177   5                                      }
 178   4                              }
 179   3                      }
C51 COMPILER V8.08   DEMO                                                                  02/27/2008 09:09:24 PAGE 4   

 180   2                      else
 181   2                      {
 182   3                              LCD_GotoXY(0, 210);
 183   3                              for(temp=0 ; temp<11 ; temp++)
 184   3                              {       LCD_DataWrite(sRAiO6[temp]);
 185   4                              }
 186   3                              Timeout++;
 187   3                              if(Timeout==0x08FF) break;
 188   3                      }
 189   2              }
 190   1      }
 191          //==============================================================================
 192          //Subroutine:   Test_Font, 8x18, 8x16m 16x16, Bold
 193          //Function:             
 194          //==============================================================================
 195          void Test_Font(void)
 196          {
 197   1              uchar temp;
 198   1      
 199   1              LCD_ON();
 200   1              LCD_Clear();
 201   1              LCD_Text();
 202   1              LCD_AlignOff();
 203   1      
 204   1              LCD_GotoXY(0, 0);
 205   1              LCD_PrintStr(sRAiO1, cXSize);
 206   1              Delay10ms(2);
 207   1      
 208   1              LCD_PrintStr(sRAiO2, cXSize);
 209   1              Delay10ms(2);
 210   1      
 211   1              LCD_Inv();
 212   1              LCD_PrintStr(sRAiO3, cXSize);
 213   1              Delay10ms(2);
 214   1      
 215   1              LCD_NoInv();
 216   1              LCD_GotoXY(10, 75);
 217   1              LCD_FontSize(0x05);
 218   1              for(temp=0 ; temp<11 ; temp++)
 219   1              {       LCD_DataWrite(sRAiO4[temp]);
 220   2                      Delay100us(2);
 221   2              }
 222   1              Delay10ms(2);
 223   1      
 224   1              LCD_FontSize(0x00);
 225   1              LCD_GotoXY(0, 120);
 226   1              for(temp=0x30 ; temp<=0x7F ; temp++)
 227   1              {       LCD_DataWrite(temp);
 228   2              }
 229   1              Delay10ms(2);
 230   1      
 231   1              LCD_GotoXY(0, 160);
 232   1              LCD_Bold();
 233   1              for(temp=0x30 ; temp<=0x7F ; temp++)
 234   1              {       LCD_DataWrite(temp);
 235   2              }
 236   1      
 237   1              LCD_NoBold();
 238   1              Delay100ms(20);
 239   1      }


C51 COMPILER V8.08   DEMO                                                                  02/27/2008 09:09:24 PAGE 5   

MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    665    ----
   CONSTANT SIZE    =    220    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      14
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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