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

📄 eg1206f4.lst

📁 这是一款针对大部分都可以通用的128x64标准程序。是8080 interface
💻 LST
字号:
C51 COMPILER V8.02   EG1206F4                                                              02/17/2009 17:44:47 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE EG1206F4
OBJECT MODULE PLACED IN EG1206F4.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE EG1206F4.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*ic splc502b-c
   2          vop:8.7v    write by dices  */
   3          #include<reg52.h>
   4          
   5          sbit rs=P3^6;
   6          sbit rd=P3^5;
   7          sbit res=P3^7;
   8          sbit cs=P3^1;
   9          sbit wr=P3^0;
  10          
  11          unsigned char ratio;
  12          unsigned char refer;
  13          unsigned char data1;
  14          unsigned char data2;
  15          extern unsigned char code piture[];
  16          extern unsigned char code piture1[];
  17          //extern unsigned char code picture2[];
  18          
  19          void write_data(unsigned char data3);
  20          void write_com(unsigned char com);
  21          void ini(void);
  22          void delay(unsigned char d);
  23          void wdot(unsigned char d1,unsigned char d2);
  24          void display(void);
  25          void dispaly_map(unsigned char e[]);
  26          void main()
  27          {
  28   1         EA=1;
  29   1         PX1=1;
  30   1         IT1=1;
  31   1         EX1=1;
  32   1         ratio=0x25;
  33   1         refer=26; 
  34   1         ini();
  35   1         while(1)
  36   1         {
  37   2             dispaly_map(piture);
  38   2             display();
  39   2             dispaly_map(piture1);
  40   2         }
  41   1      }
  42          void write_data(unsigned char data3)
  43          { 
  44   1         rs=1;
  45   1         cs=0;
  46   1         rd=1;
  47   1         wr=0;
  48   1         P1=data3;
  49   1         delay(1);
  50   1         wr=1;
  51   1         cs=1;
  52   1         //delay(10);
  53   1               
  54   1      
  55   1      }
C51 COMPILER V8.02   EG1206F4                                                              02/17/2009 17:44:47 PAGE 2   

  56          void write_com(unsigned char com)
  57          {
  58   1         rs=0;
  59   1         cs=0;
  60   1         rd=1;
  61   1         wr=0;
  62   1         P1=com;
  63   1         delay(1);
  64   1         wr=1;
  65   1         cs=1;
  66   1         //delay(10);
  67   1      
  68   1      }
  69          void zd(void)interrupt 1  using 0
  70          {
  71   1         unsigned char InputKey;
  72   1               P2=0x0f;
  73   1           InputKey=P2;
  74   1         
  75   1           switch(InputKey)
  76   1                  {
  77   2                  case 0x0b:
  78   2                    if(refer<64){  ++refer;ini(); }
  79   2                    break;
  80   2                  case 0x0e:
  81   2                    if(refer>0)   {  --refer;ini();}
  82   2                    break;
  83   2                  default:
  84   2                    break;
  85   2                   } 
  86   1      }
  87          void ini(void)
  88          {
  89   1               res=1;
  90   1               delay(1000);
  91   1           res=0;
  92   1               delay(1000);
  93   1               res=1;
  94   1               write_com(0xe2);
  95   1               delay(1000);            //reset
  96   1               write_com(0xa0);        //adc
  97   1               write_com(0x40);        //start line
  98   1               write_com(0xc0);        //common dir
  99   1               write_com(0xa2);         //a2 1/9  a3 1/7
 100   1               write_com(ratio);        //                            
 101   1               write_com(0x81);         //
 102   1           write_com(refer);    //
 103   1               write_com(0x2f);         //power control
 104   1               write_com(0xaf);     //display on
 105   1              
 106   1      
 107   1      }
 108          void dispaly_map(unsigned char e[])
 109          {       unsigned char p;
 110   1              unsigned char w;
 111   1              unsigned char k;
 112   1                      unsigned char i;
 113   1              i=0;
 114   1                      k=0xb0;          
 115   1           for(w=0;w<8;w++)
 116   1               {
 117   2          write_com(k+w);        //pages
C51 COMPILER V8.02   EG1206F4                                                              02/17/2009 17:44:47 PAGE 3   

 118   2              write_com(0x10);        //seg 0
 119   2              write_com(0x00);
 120   2              for(p=0;p<128;p++)
 121   2              { 
 122   3               
 123   3            write_data(e[w*128+p]);
 124   3                
 125   3              }
 126   2              }
 127   1              delay(5000);
 128   1      }
 129          void display()
 130          { 
 131   1          wdot(0xff,0xff);
 132   1              wdot(0x00,0x00);
 133   1          wdot(0xaa,0xaa);
 134   1              wdot(0x55,0x55);
 135   1              wdot(0x00,0xff);
 136   1              wdot(0xff,0x00);
 137   1          wdot(0xaa,0x55);
 138   1              wdot(0x55,0xaa);
 139   1      }
 140          //-----------------------------------
 141          void wdot(unsigned char d1,unsigned char d2)
 142          {   
 143   1           unsigned char k;
 144   1               unsigned char p;
 145   1               unsigned char w;
 146   1           k=0xb0;
 147   1               for(w=0;w<8;w++)
 148   1               {
 149   2              write_com(k+w);   //page set
 150   2                      write_com(0x10);  //column addr set upper
 151   2                      write_com(0x00);  //column addr set lower
 152   2                      for(p=0;p<64;p++)
 153   2                      { 
 154   3                      write_data(d1);
 155   3                              write_data(d2);
 156   3                      }
 157   2                }
 158   1                delay(1000);
 159   1      }
 160          void delay(unsigned char d)
 161          {
 162   1        int k;
 163   1        int t;
 164   1        for(k=30;k>0;k--)
 165   1        {
 166   2          for(t=0;t<d;t++) 
 167   2              {}
 168   2        }
 169   1      }
 170          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    445    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4      12
   IDATA SIZE       =   ----    ----
C51 COMPILER V8.02   EG1206F4                                                              02/17/2009 17:44:47 PAGE 4   

   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 + -