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

📄 ra8803.lst

📁 RA8803 DRIVER
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.09   RA8803                                                                03/11/2008 10:09:11 PAGE 1   


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

line level    source

   1           
   2          #include <reg52.h>
   3          #include <intrins.h>
   4          #include <absacc.h>
   5          
   6          
   7          typedef unsigned char uchar;
   8          typedef unsigned int uint;
   9          
  10          
  11          sbit RST=P1^3;
  12          sbit CS=P1^4;
  13          sbit GO=P3^3;
  14          sbit busy=P3^4;
  15          /************************************************************************************/
  16          unsigned char code TAB[];  
  17          
  18          void Delayms(uint s)
  19          {
  20   1          uint a,b;
  21   1              for(a=0;a<s;a++)
  22   1              for(b=225;b!=0;b--);
  23   1      }
  24          
  25          void Wait()
  26          {  
  27   1          while(1)
  28   1          {   
  29   2              if(GO==0)
  30   2              {
  31   3                  Delayms(150);
  32   3                              while(~GO);
  33   3                  return;
  34   3              }
  35   2          }
  36   1      }        
  37          //-------------------------------------------------------------------------------
  38          void WriteCommand(uchar add,uchar cmd)
  39          {
  40   1          CS=0;
  41   1              XBYTE[0xf000]=add; 
  42   1              CS=1;
  43   1              Delayms(3);
  44   1              CS=0;
  45   1              XBYTE[0xf000]=cmd;
  46   1              CS=1;
  47   1              Delayms(3);
  48   1      }
  49          
  50          //-------------------------------------------------------------------------------
  51          void WriteData(uchar d)
  52          {   
  53   1          CS=0;
  54   1          while(busy);
  55   1              XBYTE[0xf200]=d;
C51 COMPILER V7.09   RA8803                                                                03/11/2008 10:09:11 PAGE 2   

  56   1              CS=1;
  57   1      }
  58          
  59                
  60          void LCMInitial() 
  61          {
  62   1          CS=0;
  63   1          RST=1;  
  64   1              Delayms(10);
  65   1          RST=0;
  66   1              Delayms(100);
  67   1              RST=1;
  68   1              CS=1;
  69   1              Delayms(80);
  70   1              WriteCommand(0x01,0xF1);//system clock  
  71   1              WriteCommand(0x02,0x02);//advance power setup register
  72   1              WriteCommand(0x03,0x80);//advance display setup register
  73   1              WriteCommand(0x10,0x28);//cursor control register
  74   1              WriteCommand(0x11,0xf0);//distance of word or lines register
  75   1              WriteCommand(0x12,0x91);//memory access mode register
  76   1              
  77   1              WriteCommand(0x21,0X27);//display window right register
  78   1              WriteCommand(0x31,0Xef);//display window bottom register
  79   1              WriteCommand(0x41,0x00);//display window left register
  80   1              WriteCommand(0x51,0x00);//display window top register
  81   1      
  82   1              WriteCommand(0x20,0X27);//active window right register
  83   1              WriteCommand(0x30,0XEF);//active window bottom register
  84   1              WriteCommand(0x40,0x00);//active window left register
  85   1              WriteCommand(0x50,0x00);//active window top register
  86   1      
  87   1              WriteCommand(0x61,0x00);//shift action rang begin segment register
  88   1              WriteCommand(0x71,0x00);//shift action rang begin comon register
  89   1              WriteCommand(0x72,0x3f);//shift action rang end comon register
  90   1              WriteCommand(0x80,0x00);//blink time register
  91   1              WriteCommand(0x90,0x06);//shift clock control register
  92   1      
  93   1              WriteCommand(0x81,0x0c);//frame rate polarity change at common_a register
  94   1              WriteCommand(0xc0,0x00);//touch panel conrol register
  95   1              WriteCommand(0xa0,0x0B);
  96   1              WriteCommand(0xa1,0x00);//key scan control register
  97   1      
  98   1              WriteCommand(0xf0,0xa0);//font control register
  99   1              WriteCommand(0xd0,0x07);
 100   1      
 101   1              WriteCommand(0x00,0xc5);//display modle 
 102   1              WriteCommand(0x60,0x00);//cursor position x register
 103   1              WriteCommand(0x70,0x00);//cursor position y register
 104   1      
 105   1      }       
 106          
 107          Display_v(uchar d)
 108          {       
 109   1          uchar v,h; 
 110   1          WriteCommand(0x00,0xc5);//display modle 
 111   1              WriteCommand(0x60,0x00);//cursor position x register
 112   1              WriteCommand(0x70,0x00);//cursor position y register  
 113   1              for(h=0;h<240;h++)
 114   1              for(v=0;v<40;v++)
 115   1              WriteData(d);
 116   1              Wait();
 117   1      }
C51 COMPILER V7.09   RA8803                                                                03/11/2008 10:09:11 PAGE 3   

 118          
 119          Display_h(uchar d1,uchar d2)
 120          {       
 121   1          uchar v,h; 
 122   1          WriteCommand(0x00,0xc5);//display modle 
 123   1              WriteCommand(0x60,0x00);//cursor position x register
 124   1              WriteCommand(0x70,0x00);//cursor position y register  
 125   1              for(h=0;h<240;h++)
 126   1              for(v=0;v<40;v++)
 127   1              h%2==0?WriteData(d1):WriteData(d2);  
 128   1              Wait();
 129   1      }
 130          
 131          Display_bmp(uchar *ptr)
 132          {       
 133   1          uchar v,h; 
 134   1          WriteCommand(0x00,0xc5);//display modle 
 135   1              WriteCommand(0x60,0x00);//cursor position x register
 136   1              WriteCommand(0x70,0x00);//cursor position y register  
 137   1              for(h=0;h<40;h++)
 138   1              for(v=0;v<240;v++)
 139   1              WriteData(*ptr++);
 140   1              Wait();
 141   1      }             
 142          
 143          void main()
 144          {
 145   1          LCMInitial();

⌨️ 快捷键说明

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