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

📄 jcsa89-01.lst

📁 PCF8576 DRIVER
💻 LST
字号:
C51 COMPILER V7.09   JCSA89_01                                                             08/18/2006 14:23:26 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE JCSA89_01
OBJECT MODULE PLACED IN JCSA89-01.OBJ
COMPILER INVOKED BY: C:\Keil\C51\Bin\c51.exe JCSA89-01.c DB OE SMALL ROM(LARGE)

line level    source

   1          #include  <reg52.h>
   2          #include  <INTRINS.H>
   3          sbit SDA=P1^6;
   4          sbit SCL=P1^7;
   5          sbit GO=P3^3;
   6          
   7          void DelayXms(unsigned int i);
   8          void I2CStart();
   9          void I2CStop();
  10          void I2CSent(unsigned char Data);
  11          void ClearRAM();
  12          void Initial();
  13          void Display(unsigned char d);
  14          void Wait();
  15          
  16          void DelayXms(unsigned int i)
  17          {
  18   1          unsigned char a;
  19   1          unsigned int b;
  20   1          for(b=0;b<i;b++)
  21   1          for(a=0;a<255;a++);
  22   1      }
  23          
  24          void I2CStart( void )
  25          {
  26   1          SDA=1;
  27   1          _nop_();                    
  28   1          SCL=1;      
  29   1          _nop_();       
  30   1          SDA=0;      
  31   1          _nop_();            
  32   1          SCL=0;                      
  33   1      }
  34          
  35          void I2CStop( void )
  36          {
  37   1          SDA=0;
  38   1          _nop_();    
  39   1          SCL=1;
  40   1          _nop_();    
  41   1          SDA=1;                  
  42   1      } 
  43          
  44          void I2CSent(unsigned char Data)        
  45          {
  46   1          unsigned char i,d;
  47   1          bit ack;
  48   1          SDA=1;
  49   1      Resent:
  50   1          d=Data;
  51   1          for(i=0;i<8;i++)
  52   1          {
  53   2              if(d&0x80)
  54   2              SDA=1;
  55   2              else
C51 COMPILER V7.09   JCSA89_01                                                             08/18/2006 14:23:26 PAGE 2   

  56   2              SDA=0;
  57   2              d<<=1;
  58   2              _nop_();
  59   2              SCL=1;
  60   2              _nop_();
  61   2              SCL=0;
  62   2          }
  63   1          _nop_();
  64   1          SDA=1;
  65   1          _nop_();
  66   1          SCL=1;
  67   1          _nop_();
  68   1          ack=SDA;
  69   1           SCL=0;
  70   1          _nop_();
  71   1          if(ack==1)goto Resent;
  72   1      }
  73          
  74          void WriteData(unsigned char seg,unsigned char Data)
  75          {
  76   1          I2CStart();
  77   1          I2CSent(0x70);
  78   1          I2CSent(seg);
  79   1          I2CSent(Data);
  80   1          I2CStop();
  81   1      }
  82          
  83          void ClearRAM()
  84          {
  85   1          unsigned char i;
  86   1          for(i=0;i<40;i++)
  87   1          WriteData(i,0x00);
  88   1      }
  89          
  90           void Display(unsigned char d)
  91          {
  92   1          unsigned char i;
  93   1          for(i=0;i<28;i++)
  94   1          {
  95   2              WriteData(i,d);
  96   2          }
  97   1      }
  98          
  99          void Wait()
 100          {  
 101   1          while(1)
 102   1          {
 103   2              if(GO==0)
 104   2              {
 105   3                  DelayXms(500);
 106   3                  return;
 107   3              }
 108   2          }
 109   1      }
 110                 
 111          void Initial()
 112          {
 113   1          I2CStart();
 114   1          I2CSent(0x70);     
 115   1          I2CSent(0xe0);    //Device select A0=A1=A2=0
 116   1          I2CSent(0xc8);    //Mode set           
 117   1          I2CSent(0xfE);    //Bank select set
C51 COMPILER V7.09   JCSA89_01                                                             08/18/2006 14:23:26 PAGE 3   

 118   1          I2CSent(0x00);    //Data pointer address
 119   1          I2CStop();
 120   1          ClearRAM();    
 121   1      } 
 122            
 123          
 124          
 125          void main(void)
 126          {  
 127   1          Initial();
 128   1          while(1)
 129   1          {
 130   2              Display(0xff);
 131   2              Wait();
 132   2              Display(0x00);
 133   2              Wait();
 134   2              Display(0x55);
 135   2              Wait();
 136   2              Display(0xaa);
 137   2              Wait();
 138   2          }
 139   1      }
 140             
 141          
 142          
 143          
 144          
 145          
 146          
 147          
 148          
 149          
 150          
 151          
 152          
 153          
 154          
 155          
 156          
 157          
 158          
 159          
 160          
 161          
 162          
 163          
 164          
 165          
 166          
 167          
 168          
 169          
 170          
 171          
 172          
 173          
 174          
 175          
 176          
 177          
 178          
 179          
C51 COMPILER V7.09   JCSA89_01                                                             08/18/2006 14:23:26 PAGE 4   

 180          
 181          
 182          
 183          
 184          
 185          
 186          
 187          
 188          
 189          
 190          
 191          
 192          
 193          
 194          
 195          
 196          
 197          
 198          
 199          
 200          
 201          
 202          
 203          
 204          
 205          
 206          
 207          
 208          
 209          
 210          
 211          
 212          
 213          
 214          
 215          
 216          
 217          
 218          
 219          
 220          
 221          
 222          
 223          
 224          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    230    ----
   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 + -