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

📄 ht1622.lst

📁 HT1622 C51 QUDONGCHENGXU
💻 LST
字号:
C51 COMPILER V7.09   HT1622                                                                01/14/2009 16:21:13 PAGE 1   


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

line level    source

   1          #include   <stdio.h>
   2          #include <intrins.h>
   3          #include <reg52.h>
   4          
   5          sbit CS1=P3^7;
   6          sbit WRR=P3^6;
   7          sbit DI=P2^1;
   8          sbit GO1=P2^4;
   9          sbit GO2=P2^5;
  10          sbit SL=P2^3;
  11          
  12          
  13          
  14          void Delay(unsigned int i)
  15          {
  16   1          unsigned char a;
  17   1          unsigned int b;
  18   1          for(b=0;b<i;b++)
  19   1          for(a=0;a<255;a++);
  20   1      }
  21          
  22          bit Wait()
  23          {  
  24   1          bit GO=0;
  25   1          while(1)
  26   1          {   
  27   2              if(GO1==0||GO2==0)
  28   2              {
  29   3                  if(GO2==0)GO=1;
  30   3                  Delay(250);
  31   3                  while(GO1==0||GO2==0);
  32   3                              return GO;
  33   3              }
  34   2          }
  35   1      }
  36          
  37          
  38          Write()
  39          {
  40   1           WRR=1;
  41   1           _nop_();
  42   1           _nop_();
  43   1           WRR=0;
  44   1          _nop_();
  45   1          _nop_();
  46   1      }
  47          
  48          void write_cmd(unsigned char cmd)
  49          {
  50   1           unsigned char j,mask;
  51   1           CS1=0;
  52   1           WRR=0;
  53   1           DI=1;
  54   1           Write();
  55   1           DI=0;
C51 COMPILER V7.09   HT1622                                                                01/14/2009 16:21:13 PAGE 2   

  56   1           Write();
  57   1           DI=0;
  58   1           Write();
  59   1           for(j=0, mask=0x80; j<8; j++, mask>>=1 )
  60   1           {   
  61   2             if( (cmd & mask) != 0 )
  62   2             DI=1;
  63   2             else 
  64   2             DI=0;
  65   2             Write();
  66   2           }
  67   1           Write();
  68   1           CS1=1;
  69   1      }
  70          
  71          void write_dat(unsigned char add,unsigned char dat)
  72          {
  73   1           unsigned char j,mask;
  74   1           CS1=0;
  75   1           WRR=0;
  76   1           DI=1;
  77   1           Write();
  78   1           DI=0;
  79   1           Write();
  80   1           DI=1;
  81   1           Write();
  82   1           for(j=0, mask=0x20; j<6; j++, mask>>=1 )
  83   1           {   
  84   2             if(( add & mask)!=0 )
  85   2             DI=1;
  86   2             else 
  87   2             DI=0;
  88   2             Write();
  89   2           }  
  90   1           for(j=0, mask=0x01; j<4; j++, mask<<=1 )
  91   1           {   
  92   2             if(( dat & mask) != 0 )
  93   2             DI=1;
  94   2             else 
  95   2             DI=0;
  96   2             Write();
  97   2           } 
  98   1           CS1=1;
  99   1       } 
 100          
 101          
 102               
 103          void ht1622initial(void)
 104          {
 105   1           write_cmd(0x01);   //SYS EN
 106   1           write_cmd(0x18);   //RC 256k
 107   1           write_cmd(0x03);   //LCD ON
 108   1           write_cmd(0xe3);   //BIAS
 109   1      }
 110          
 111          
 112          void Display(unsigned char d)
 113          { 
 114   1           unsigned char i;
 115   1           for(i=0;i<64;i++)
 116   1           write_dat(i,d);    
 117   1      }
C51 COMPILER V7.09   HT1622                                                                01/14/2009 16:21:13 PAGE 3   

 118          
 119          
 120          
 121          
 122          display_point()
 123          {
 124   1           unsigned char n=0;
 125   1               while(1)
 126   1               {
 127   2                    Display(0x00);
 128   2                    write_dat(n/4,0x01<<(n%4));
 129   2                        if(Wait()==1)
 130   2                           if(n==0)n=255;
 131   2                           else n--;
 132   2                        else
 133   2                           if(n==255)n=0;
 134   2                           else n++ ;
 135   2               }
 136   1      }
 137                           
 138                            
 139          
 140          
 141          void main(void)
 142          {  
 143   1          ht1622initial();
 144   1              if(SL==0)
 145   1              {
 146   2                      Display(0xff);
 147   2                  Wait();
 148   2                      Display(0x00);
 149   2                  Wait();
 150   2                      display_point();
 151   2                      Wait();
 152   2          }
 153   1              while(1);
 154   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    311    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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