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

📄 ra8803.lst

📁 带字库的RA8803的驱动程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   RA8803                                                                10/22/2005 14:00:49 PAGE 1   


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

line level    source

   1          /*******************************************************************************
   2          *                                                                            
   3          *       Filename:       RA8803.c
   4          * 
   5          *       Author:         Duke Chang
   6          *       Company:        RAiO Technology Inc.
   7          *       Case:
   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          *               Function 
  18          *
  19          ********************************************************************************
  20          *
  21          *               Pin assignemt:
  22          *               P0.0 :  D0
  23          *               P0.1 :  D1
  24          *               P0.2 :  D2
  25          *               P0.3 :  D3
  26          *               P0.4 :  D4
  27          *               P0.5 :  D5
  28          *               P0.6 :  D6
  29          *               P0.7 :  D7
  30          *
  31          *               P2.0 :  RS
  32          *               P2.5 :  RSTZ
  33          *
  34          *               P3.0 :          X
  35          *               P3.1 :          X
  36          *               P3.2 :          X
  37          *               P3.3 :  INTR
  38          *               P3.4 :  CSZ
  39          *               P3.5 :          X
  40          *               P3.6 :  WRZ
  41          *               P3.7 :  RDZ
  42          *
  43          *******************************************************************************/
  44          
  45          #include "RA8803.h"
  46          
  47          /******************************************************************************/
  48          /*Sub program area                                                                                                                        */
  49          /******************************************************************************/
  50          
  51          //==============================================================================
  52          //Subroutine:   LCD_Reset
  53          //Function:             
  54          //==============================================================================
  55          void LCD_Reset(void)
C51 COMPILER V7.50   RA8803                                                                10/22/2005 14:00:49 PAGE 2   

  56          {
  57   1              bRST = 0;
  58   1              Delay100ms(5);
  59   1              bRST = 1;
  60   1              Delay100ms(5);
  61   1      }
  62          
  63          //==============================================================================
  64          //Subroutine:   LCD_Initial
  65          //Function:             
  66          //==============================================================================
  67          void LCD_Initial(void)
  68          {
  69   1              LCD_CmdWrite(WLCR, B1100_0101);         //Normal Power 
  70   1              LCD_CmdWrite(MISC, B0000_0011);         //8Mhz
  71   1              
  72   1              LCD_CmdWrite(WCCR, B0110_1011);         //
  73   1      
  74   1              LCD_CmdWrite(AWRR, cAWRR);
  75   1              LCD_CmdWrite(AWBR, cAWBR);
  76   1              LCD_CmdWrite(AWLR, B0000_0000);
  77   1              LCD_CmdWrite(AWTR, B0000_0000);
  78   1              LCD_CmdWrite(DWRR, cDWRR);
  79   1              LCD_CmdWrite(DWBR, cDWBR);
  80   1              LCD_CmdWrite(DWLR, B0000_0000);
  81   1              LCD_CmdWrite(DWTR, B0000_0000);
  82   1      
  83   1              LCD_CmdWrite(SCCR, B0000_1100);         //Frame Rate
  84   1              LCD_CmdWrite(INTR, B0000_0000);
  85   1              LCD_CmdWrite(TPCR, B1100_0000);
  86   1              LCD_CmdWrite(TPSR, B0011_0101);
  87   1      
  88   1              LCD_CmdWrite(PNTR, B0000_0000);         //Fill Data=00
  89   1      
  90   1              LCD_CmdWrite(FNCR, B1001_0000);         //GB Code
  91   1      
  92   1              LCD_CmdWrite(LCCR, B0000_0000);         //DAC Off       
  93   1      }
  94          
  95          //==============================================================================
  96          //Subroutine:   LCD_CmdWrite
  97          //Function:             
  98          //==============================================================================
  99          void LCD_CmdWrite(uchar Addr, uchar Data)
 100          {
 101   1      
 102   1      #ifdef Parallel_8080
 103   1              bCSZ = 0;
 104   1              bRS = 0;
 105   1                      
 106   1              DATA_BUS = Addr;                //Reg Addr
 107   1              bWRZ = 0;
 108   1              bWRZ = 1;
 109   1      
 110   1              DATA_BUS = Data;                //Reg Data
 111   1              bWRZ = 0;
 112   1              bWRZ = 1;
 113   1      
 114   1              bCSZ = 1;
 115   1              DATA_BUS = 0xff;        
 116   1      #endif
 117   1      
C51 COMPILER V7.50   RA8803                                                                10/22/2005 14:00:49 PAGE 3   

 118   1      #ifdef Parallel_6800
                      bCSZ = 0;
                      bRS  = 0;
                      bWRZ = 0;
                              
                      DATA_BUS = Addr;                //Reg Addr
                      bRDZ = 1;
                      bRDZ = 0;
              
                      DATA_BUS = Data;                //Reg Data
                      bRDZ = 1;
                      bRDZ = 0;
              
                      bWRZ = 1;
                      bCSZ = 1;
                      
                      DATA_BUS = 0xff;        
              #endif
 136   1      }
 137          
 138          //==============================================================================
 139          //Subroutine:   CmdRead
 140          //Function:             
 141          //==============================================================================
 142          uchar LCD_CmdRead(uchar Addr)
 143          {
 144   1              uchar Data;
 145   1              
 146   1      #ifdef Parallel_8080
 147   1              bCSZ = 0;
 148   1              bRS = 0;
 149   1      
 150   1              DATA_BUS = Addr;                //Reg Addr
 151   1              bWRZ = 0;
 152   1              bWRZ = 1;
 153   1              
 154   1              DATA_BUS = 0xff;
 155   1              bRDZ = 0;
 156   1              Data = DATA_BUS;
 157   1              bRDZ = 1;
 158   1      
 159   1              bCSZ = 1;
 160   1      #endif
 161   1      
 162   1      #ifdef Parallel_6800
                      bCSZ = 0;
                      bRS = 0;
                      bWRZ = 0;
              
                      DATA_BUS = Addr;                //Reg Addr
                      bRDZ = 1;
                      bRDZ = 0;
                      
                      DATA_BUS = 0xff;
                      bWRZ = 1;       
                      bRDZ = 1;
                      Data = DATA_BUS;
                      bRDZ = 0;
              
                      bCSZ = 1;
              #endif
 179   1      
C51 COMPILER V7.50   RA8803                                                                10/22/2005 14:00:49 PAGE 4   

 180   1              return Data;
 181   1      }
 182          
 183          //==============================================================================
 184          //Subroutine:   LCD_DataWrite
 185          //Function:             
 186          //==============================================================================
 187          void LCD_DataWrite(uchar Data)
 188          {
 189   1              LCD_ChkBusy();
 190   1              LCD_ChkBusy();  
 191   1              
 192   1      #ifdef Parallel_8080
 193   1              bCSZ = 0;
 194   1              bRS = 1;
 195   1              
 196   1              DATA_BUS = Data;
 197   1              bWRZ = 0;
 198   1              bWRZ = 1;
 199   1      
 200   1              bCSZ = 1;
 201   1              
 202   1              DATA_BUS = 0xff;
 203   1      #endif
 204   1      
 205   1      #ifdef Parallel_6800
                      bCSZ = 0;
                      bRS = 1;
                      
                      DATA_BUS = Data;
                      bRDZ = 1;
                      bRDZ = 0;
              
                      bCSZ = 1;
                      
                      DATA_BUS = 0xff;
              #endif
 217   1      }
 218          
 219          //==============================================================================
 220          //Subroutine:   LCD_DataRead
 221          //Function:             
 222          //==============================================================================
 223          uchar LCD_DataRead(void)
 224          {
 225   1              uchar Data;
 226   1      
 227   1              LCD_ChkBusy();
 228   1              
 229   1      #ifdef Parallel_8080
 230   1              bCSZ = 0;
 231   1              bRS = 1;
 232   1      
 233   1              bRDZ = 0;
 234   1              Data = DATA_BUS;
 235   1              bRDZ = 1;
 236   1      
 237   1              bCSZ = 1;
 238   1      #endif
 239   1      
 240   1      #ifdef Parallel_6800
                      bCSZ = 0;
C51 COMPILER V7.50   RA8803                                                                10/22/2005 14:00:49 PAGE 5   

                      bRS = 1;
              
                      bRDZ = 1;
                      Data = DATA_BUS;
                      bRDZ = 0;
              
                      bCSZ = 1;
              #endif
 250   1              return Data;
 251   1      }
 252          
 253          //==============================================================================
 254          //Subroutine:   LCD_ChkBusy
 255          //Function:             
 256          //==============================================================================
 257          void LCD_ChkBusy(void)
 258          {
 259   1      //      uchar temp;
 260   1              
 261   1      //      do
 262   1      //      {
 263   1      //              temp = LCD_CmdRead(ISR);
 264   1      //      }while(temp & cTestb7);
 265   1      }
 266          
 267          //==============================================================================
 268          //Subroutine:   LCD_On
 269          //Function:
 270          //==============================================================================
 271          void LCD_ON(void)
 272          {
 273   1              uchar temp;
 274   1              
 275   1              temp = LCD_CmdRead(WLCR);
 276   1              temp |= cSetb2;
 277   1              LCD_CmdWrite(WLCR, temp);
 278   1      }
 279          
 280          void LCD_OFF(void)
 281          {
 282   1              uchar temp;
 283   1              
 284   1              temp = LCD_CmdRead(WLCR);
 285   1              temp &= cClrb2;
 286   1              LCD_CmdWrite(WLCR, temp);
 287   1      }
 288          
 289          //==============================================================================
 290          //Subroutine:   LCD_GotoXY
 291          //Function:             LCD Cursor X-Y
 292          //==============================================================================
 293          void LCD_GotoXY(uchar x, uchar y)
 294          {
 295   1              LCD_CmdWrite(CPXR, (x & B0011_1111));
 296   1              LCD_CmdWrite(CPYR, (y & B1111_1111));   
 297   1      }
 298          
 299          //==============================================================================
 300          //Subroutine:   LCD_Graphic
 301          //Function:
 302          //==============================================================================
 303          void LCD_Graphic(void)
C51 COMPILER V7.50   RA8803                                                                10/22/2005 14:00:49 PAGE 6   

 304          {
 305   1              uchar temp;
 306   1              
 307   1              temp = LCD_CmdRead(WLCR);
 308   1              temp &= cClrb3;
 309   1              LCD_CmdWrite(WLCR, temp);
 310   1      }
 311          
 312          void LCD_Text(void)
 313          {
 314   1              uchar temp;
 315   1              
 316   1              temp = LCD_CmdRead(WLCR);
 317   1              temp |= cSetb3;
 318   1              LCD_CmdWrite(WLCR, temp);
 319   1      }
 320          
 321          //==============================================================================
 322          //Subroutine:   LCD_PrintStr
 323          //Function:             
 324          //==============================================================================
 325          void LCD_PrintStrD100ms(uchar *ptr, uchar x, uchar y, uchar time)
 326          {
 327   1              LCD_GotoXY(x, y);
 328   1              
 329   1              while(*ptr != 0)
 330   1              {
 331   2                      LCD_DataWrite(*ptr);
 332   2                      ptr++;
 333   2                      Delay100ms(time);
 334   2              }
 335   1      }
 336          
 337          //==============================================================================
 338          //Subroutine:   Bold
 339          //Function:
 340          //==============================================================================
 341          void LCD_Bold(void)
 342          {
 343   1              uchar temp;
 344   1              
 345   1              temp = LCD_CmdRead(WCCR);
 346   1              temp |= cSetb4;

⌨️ 快捷键说明

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