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

📄 ra8822.lst

📁 MSC-51驱动SYB240128AZK
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   RA8822                                                                11/09/2005 10:16:16 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE RA8822
OBJECT MODULE PLACED IN RA8822.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE RA8822.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*******************************************************************************
   2          *                                                                            
   3          *       Filename:       RA8822.c
   4          * 
   5          *       Author:         Duke Chang
   6          *       Company:        RAiO Technology Inc.
   7          *       Case:           240x128 
   8          *       Device:         MXIC MX10E8050IQC at 18.432MHz
   9          *       Date:           2005/10/12
  10          *       Modifier:       Duke Chang
  11          *       Modify Date:    2005/10/12
  12          *       Visions:        1.0
  13          *       Compiled Using Keil C v7.50
  14          *       
  15          *******************************************************************************/
  16          
  17          #include "RA8822.h"
  18          
  19          /******************************************************************************/
  20          /*Sub program area                                                                                                                        */
  21          /******************************************************************************/
  22          
  23          //==============================================================================
  24          //Subroutine:   LCD_Reset
  25          //Function:             
  26          //==============================================================================
  27          void LCD_Reset(void)
  28          {
  29   1              bRST = 0;
  30   1              Delay100ms(5);
  31   1              bRST = 1;
  32   1              Delay100ms(2);
  33   1      }
  34          
  35          //==============================================================================
  36          //Subroutine:   LCD_Initial
  37          //Function:             
  38          //==============================================================================
  39          void LCD_Initial(void)
  40          {
  41   1              LCD_CmdWrite(WLCR, B1100_0101);         //Normal Power 
  42   1              LCD_CmdWrite(MISC, B0000_0011);         //8Mhz
  43   1              
  44   1              LCD_CmdWrite(WCCR, B0110_1011);         //
  45   1      
  46   1              LCD_CmdWrite(AWRR, cAWRR);
  47   1              LCD_CmdWrite(AWBR, cAWBR);
  48   1              LCD_CmdWrite(AWLR, B0000_0000);
  49   1              LCD_CmdWrite(AWTR, B0000_0000);
  50   1              LCD_CmdWrite(DWRR, cDWRR);
  51   1              LCD_CmdWrite(DWBR, cDWBR);
  52   1              LCD_CmdWrite(DWLR, B0000_0000);
  53   1              LCD_CmdWrite(DWTR, B0000_0000);
  54   1      
  55   1              LCD_CmdWrite(SCCR, B0001_1100);         //Frame Rate
C51 COMPILER V7.50   RA8822                                                                11/09/2005 10:16:16 PAGE 2   

  56   1              LCD_CmdWrite(INTR, B0000_0000);
  57   1              LCD_CmdWrite(TPCR, B1100_0000);
  58   1              LCD_CmdWrite(TPSR, B0011_0101);
  59   1      
  60   1              LCD_CmdWrite(PNTR, B0000_0000);         //Fill Data=00
  61   1              LCD_CmdWrite(LCCR, B0000_0000);         //DAC Off
  62   1      
  63   1              LCD_CmdWrite(FNCR, cFNCR);              //GB Code or BIG5 Code
  64   1      }
  65          
  66          //==============================================================================
  67          //Subroutine:   LCD_CmdWrite
  68          //Function:             
  69          //==============================================================================
  70          void LCD_CmdWrite(uchar Addr, uchar Data)
  71          {
  72   1              LCD_ChkBusy();  
  73   1      
  74   1      #ifdef Parallel_8080
  75   1              bCSZ = 0;
  76   1              bRS = 0;
  77   1              DATA_BUS = Addr;                //Reg Addr
  78   1              bWRZ = 0;
  79   1              bWRZ = 1;
  80   1      
  81   1              DATA_BUS = Data;                //Reg Data
  82   1              bWRZ = 0;
  83   1              bWRZ = 1;
  84   1              bCSZ = 1;
  85   1              DATA_BUS = 0xff;        
  86   1      #endif
  87   1      
  88   1      #ifdef Parallel_6800
                      bCSZ = 0;
                      bRS = 0;
                      bWRZ = 0;
                      DATA_BUS = Addr;                //Reg Addr
                      bRDZ = 1;
                      bRDZ = 0;
                      DATA_BUS = 0xff;
              
                      DATA_BUS = Data;                //Reg Data
                      bRDZ = 1;
                      bRDZ = 0;
                      DATA_BUS = 0xff;
                      bWRZ = 1;
                      bCSZ = 1;
              #endif
 104   1      }
 105          
 106          //==============================================================================
 107          //Subroutine:   CmdRead
 108          //Function:             
 109          //==============================================================================
 110          uchar LCD_CmdRead(uchar Addr)
 111          {
 112   1              uchar Data;
 113   1              
 114   1      #ifdef Parallel_8080
 115   1              bCSZ = 0;
 116   1              bRS = 0;
 117   1              DATA_BUS = Addr;                //Reg Addr
C51 COMPILER V7.50   RA8822                                                                11/09/2005 10:16:16 PAGE 3   

 118   1              bWRZ = 0;
 119   1              bWRZ = 1;
 120   1              
 121   1              DATA_BUS = 0xff;
 122   1              bRDZ = 0;
 123   1              Data = DATA_BUS;
 124   1              bRDZ = 1;
 125   1              bCSZ = 1;
 126   1      #endif
 127   1      
 128   1      #ifdef Parallel_6800
                      bCSZ = 0;
                      bRS = 0;
                      bWRZ = 0;
                      DATA_BUS = Addr;                //Reg Addr
                      bRDZ = 1;
                      bRDZ = 0;
                      DATA_BUS = 0xff;
                      bWRZ = 1;
              
                      bCSZ = 0;
                      bRDZ = 1;
                      Data = DATA_BUS;
                      bRDZ = 0;
                      bCSZ = 1;
              #endif
 144   1              return Data;
 145   1      }
 146          
 147          //==============================================================================
 148          //Subroutine:   LCD_DataWrite
 149          //Function:             
 150          //==============================================================================
 151          void LCD_DataWrite(uchar Data)
 152          {
 153   1              LCD_ChkBusy();
 154   1              
 155   1      #ifdef Parallel_8080
 156   1              bCSZ = 0;
 157   1              bRS = 1;
 158   1              DATA_BUS = Data;
 159   1              bWRZ = 0;
 160   1              bWRZ = 1;
 161   1              bCSZ = 1;
 162   1              DATA_BUS = 0xff;
 163   1      #endif
 164   1      
 165   1      #ifdef Parallel_6800
                      bCSZ = 0;
                      bRS  = 1;
                      bWRZ = 0;               
                      DATA_BUS = Data;
                      bRDZ = 1;
                      bRDZ = 0;
                      DATA_BUS = 0xff;
                      bWRZ = 1;
                      bRS  = 0;
                      bCSZ = 1;
              #endif
 177   1      }
 178          
 179          //==============================================================================
C51 COMPILER V7.50   RA8822                                                                11/09/2005 10:16:16 PAGE 4   

 180          //Subroutine:   LCD_DataRead
 181          //Function:             
 182          //==============================================================================
 183          uchar LCD_DataRead(void)
 184          {
 185   1              uchar Data;
 186   1      
 187   1              LCD_ChkBusy();
 188   1              
 189   1      #ifdef Parallel_8080
 190   1              bCSZ = 0;
 191   1              bRS = 1;
 192   1              bRDZ = 0;
 193   1              Data = DATA_BUS;
 194   1              bRDZ = 1;
 195   1              bCSZ = 1;
 196   1      #endif
 197   1      
 198   1      #ifdef Parallel_6800
                      bCSZ = 0;
                      bRS  = 1;
                      bRDZ = 1;
                      Data = DATA_BUS;
                      bRDZ = 0;
                      bRS  = 0;
                      bCSZ = 1;
              #endif
 207   1              return Data;
 208   1      }
 209          
 210          //==============================================================================
 211          //Subroutine:   LCD_ChkBusy
 212          //Function:             
 213          //==============================================================================
 214          void LCD_ChkBusy(void)
 215          {
 216   1      //      uchar temp;
 217   1              
 218   1      //      do
 219   1      //      {
 220   1      //              temp = LCD_CmdRead(ISR);
 221   1      //      }while(temp & cTestb7);
 222   1      }
 223          
 224          //==============================================================================
 225          //Subroutine:   LCD_On
 226          //Function:
 227          //==============================================================================
 228          void LCD_ON(void)
 229          {
 230   1              uchar temp;
 231   1              
 232   1              temp = LCD_CmdRead(WLCR);
 233   1              temp |= cSetb2;
 234   1              LCD_CmdWrite(WLCR, temp);
 235   1      }
 236          
 237          void LCD_OFF(void)
 238          {
 239   1              uchar temp;
 240   1              
 241   1              temp = LCD_CmdRead(WLCR);
C51 COMPILER V7.50   RA8822                                                                11/09/2005 10:16:16 PAGE 5   

 242   1              temp &= cClrb2;
 243   1              LCD_CmdWrite(WLCR, temp);
 244   1      }
 245          
 246          //==============================================================================
 247          //Subroutine:   LCD_GotoXY
 248          //Function:             LCD Cursor X-Y
 249          //==============================================================================
 250          void LCD_GotoXY(uchar x, uchar y)
 251          {
 252   1              LCD_CmdWrite(CPXR, (x & B0011_1111));
 253   1              LCD_CmdWrite(CPYR, (y & B1111_1111));   
 254   1      }
 255          
 256          //==============================================================================
 257          //Subroutine:   LCD_Graphic
 258          //Function:
 259          //==============================================================================
 260          void LCD_Graphic(void)
 261          {
 262   1              uchar temp;
 263   1              
 264   1              temp = LCD_CmdRead(WLCR);
 265   1              temp &= cClrb3;
 266   1              LCD_CmdWrite(WLCR, temp);
 267   1      }
 268          
 269          void LCD_Text(void)
 270          {
 271   1              uchar temp;
 272   1              
 273   1              temp = LCD_CmdRead(WLCR);
 274   1              temp |= cSetb3;
 275   1              LCD_CmdWrite(WLCR, temp);
 276   1      }
 277          
 278          //==============================================================================
 279          //Subroutine:   LCD_PrintStr 1
 280          //Function:             
 281          //==============================================================================
 282          void LCD_PrintStrD100ms(uchar *ptr, uchar cXSize, uchar time)
 283          {
 284   1              uchar temp;
 285   1      
 286   1              for(temp=0 ; temp<cXSize ; temp++)
 287   1              {
 288   2                      LCD_DataWrite(*ptr);
 289   2                      ptr++;
 290   2                      Delay100ms(time);
 291   2              }
 292   1      }
 293          
 294          //==============================================================================
 295          //Subroutine:   LCD_PrintStr 2
 296          //Function:             
 297          //==============================================================================
 298          void LCD_PrintStr(uchar *ptr, uchar cXSize)
 299          {
 300   1              uchar temp;
 301   1      
 302   1              for(temp=0 ; temp<cXSize ; temp++)
 303   1              {
C51 COMPILER V7.50   RA8822                                                                11/09/2005 10:16:16 PAGE 6   

 304   2                      LCD_DataWrite(*ptr);
 305   2                      ptr++;
 306   2              }
 307   1      }
 308          
 309          //==============================================================================
 310          //Subroutine:   Bold
 311          //Function:
 312          //==============================================================================
 313          void LCD_Bold(void)
 314          {
 315   1              uchar temp;
 316   1              
 317   1              temp = LCD_CmdRead(WCCR);
 318   1              temp |= cSetb4;
 319   1              LCD_CmdWrite(WCCR, temp);
 320   1      }
 321          
 322          void LCD_NoBold(void)
 323          {
 324   1              uchar temp;
 325   1              
 326   1              temp = LCD_CmdRead(WCCR);
 327   1              temp &= cClrb4;
 328   1              LCD_CmdWrite(WCCR, temp);
 329   1      }
 330          
 331          //==============================================================================

⌨️ 快捷键说明

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