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

📄 10732.lst

📁 uc1612 LCD 驱动例程实现各种电检测试画面
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.06   10732                                                                 06/07/2007 23:24:53 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE 10732
OBJECT MODULE PLACED IN 10732.OBJ
COMPILER INVOKED BY: d:\program files\Keil\C51\BIN\C51.EXE 10732.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*lcm msgf10732-01*/
   2          /*uc1612*/
   3          /* 80 mode  */
   4          /*  81*77  */
   5          
   6          
   7          #include <reg51.h>
   8          #include <intrins.h>
   9          #include <common.h>
  10          #include <def.h>
  11          #include <font.h>
  12          
  13          unsigned char code page_c[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,
  14                                  0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19};
  15          
  16          code adj_vop[194]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
  17                             0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
  18                             0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
  19                                             0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
  20                                             0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
  21                             0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
  22                                     0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
  23                                     0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
  24                                     0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
  25                                     0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
  26                                     0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
  27                             0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
  28                                             0xc0,0xc1};
  29          
  30          
  31          sbit RST=P2^2;
  32          sbit CS0=P2^1;
  33          sbit CD=P2^0;
  34          sbit WR0=P2^3;
  35          sbit WR1=P2^4;
  36          
  37          sbit K1=P2^5;
  38          sbit K2=P2^6;
  39          sbit K3=P2^7;
  40          
  41          
  42          void init_lcd()
  43          {
  44   1         CS0=0;
  45   1         delay1ms(200);
  46   1         RST=1;
  47   1         delay1ms(200);
  48   1         RST=0;
  49   1         delay1ms(200);
  50   1         RST=1;
  51   1         delay1ms(200);
  52   1         write_com(0xE2);//system reset
  53   1         delay1ms(40);
  54   1      
  55   1         write_com(0xf1);//set duty 1/80
C51 COMPILER V7.06   10732                                                                 06/07/2007 23:24:53 PAGE 2   

  56   1         write_com(0x4f);
  57   1      
  58   1       //  write_com(0x84);//set partial display
  59   1      
  60   1       //  write_com(0x24);//set t.c
  61   1      
  62   1       //  write_com(0x28);//set panel loading
  63   1      
  64   1       //  write_com(0x2f);//set pump
  65   1      
  66   1         write_com(0x81);//set vop
  67   1         write_com(120);//vop=10v
  68   1      
  69   1         write_com(0x89);//set ram address control
  70   1       //  write_com(0xa2);//set line rate
  71   1         write_com(0xeb);//set bias=1/9
  72   1         write_com(0xc0);//set lcd mapping
  73   1         write_com(0xd6);//set gray scale
  74   1      
  75   1         write_com(0x00);//set colomn address
  76   1      
  77   1         write_com(0x60);//set row address
  78   1         write_com(0x70);
  79   1         write_com(0xaf);//set display enable
  80   1         delay1ms(20);
  81   1      }
  82          
  83          
  84          void write_data(uchar dat)
  85          {
  86   1          busy();
  87   1              CS0=0;
  88   1              CD=1;
  89   1              WR1=1;
  90   1              P0=dat;
  91   1              WR0=0;
  92   1              delay1ms(0);
  93   1              WR0=1;
  94   1              CS0=1;
  95   1      
  96   1      }
  97          
  98          void write_com(uchar com)
  99          {
 100   1          busy();
 101   1              CS0=0;
 102   1          CD=0;
 103   1              WR1=1;
 104   1              P0=com;
 105   1              WR0=0;
 106   1              delay1ms(0);
 107   1              WR0=1;
 108   1              delay1ms(0);
 109   1              CS0=1; 
 110   1      }
 111          
 112          void busy()
 113          {
 114   1              _nop_();
 115   1              _nop_();
 116   1      }
 117          
C51 COMPILER V7.06   10732                                                                 06/07/2007 23:24:53 PAGE 3   

 118          
 119          void delay1ms(uint t)
 120          {
 121   1              register int i,j;
 122   1              for(i=0;i<t;i++)
 123   1              for(j=0;j<125;j++);
 124   1      }
 125          
 126          
 127          
 128          
 129          void locatexy(uchar page,uchar slsb,uchar smsb)
 130          {
 131   1        write_com(page);
 132   1        write_com(slsb);
 133   1        write_com(smsb);
 134   1      }
 135          
 136          
 137          void clrram()
 138          {
 139   1        uint i,j;
 140   1                write_com(0x00);
 141   1            write_com(lsb);
 142   1            write_com(msb);
 143   1            for(i=0;i<80;i++)
 144   1            {
 145   2              for(j=0;j<26;j++)
 146   2              {
 147   3      
 148   3               write_data(0x00);
 149   3              }
 150   2      
 151   2            }
 152   1        
 153   1      }
 154          
 155          
 156          
 157          void font()
 158          {
 159   1      
 160   1        uint i,j,k;
 161   1        clrram();
 162   1        locatexy(0x00,0x60,0x70);
 163   1        for(j=0;j<11;j++)
 164   1        {
 165   2           for(i=0;i<26;i++)
 166   2               {
 167   3                 write_data(font1[i]);
 168   3               }
 169   2        }
 170   1      
 171   1        for(j=0;j<26;j++)
 172   1        {
 173   2           write_data(0x00);
 174   2        }
 175   1      
 176   1        for(k=0;k<6;k++)
 177   1        {
 178   2           for(j=0;j<11;j++)
 179   2           {
C51 COMPILER V7.06   10732                                                                 06/07/2007 23:24:53 PAGE 4   

 180   3             for(i=0;i<21;i++)
 181   3                 {
 182   4                   write_data(font1[i]);
 183   4                 }
 184   3           }
 185   2          
 186   2        }
 187   1        for(i=0;i<10;i++)
 188   1        {
 189   2          for(j=0;j<26;j++)
 190   2              {
 191   3                 write_data(font2[j]);
 192   3              }
 193   2        }
 194   1      }
 195          
 196          
 197          void displayon()
 198          {
 199   1        uint i,j;
 200   1                write_com(0x00);
 201   1            write_com(lsb);
 202   1            write_com(msb);
 203   1        for(i=0;i<80;i++)
 204   1        {
 205   2          for(j=0;j<26;j++)
 206   2              {
 207   3      
 208   3      
 209   3                write_data(0xff);
 210   3              }
 211   2        }
 212   1      
 213   1        
 214   1      }
 215          
 216          void  displayoff()
 217          {
 218   1         uint i,j;
 219   1                 write_com(0x00);
 220   1             write_com(lsb);
 221   1             write_com(msb);
 222   1         for(i=0;i<80;i++)
 223   1         {
 224   2           for(j=0;j<26;j++)

⌨️ 快捷键说明

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