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

📄 i2ctest.lst

📁 电子时钟
💻 LST
📖 第 1 页 / 共 2 页
字号:
 116                                                  unsigned char I2C_Receive_byte(void)
 117                                                  {
 118   1                                                      unsigned char i,da=0;
 119   1                                                      bit     a;
 120   1                                                      for(i=0;i<8;i++)
 121   1                                                      {
 122   2                                                              SDA=1;
*** ERROR C202 IN LINE 122 OF I2CTEST.C: 'SDA': undefined identifier
 123   2                                                              SCL=1;
*** ERROR C202 IN LINE 123 OF I2CTEST.C: 'SCL': undefined identifier
 124   2                                                              delay(3);
 125   2                                                              a=SDA;
*** ERROR C202 IN LINE 125 OF I2CTEST.C: 'SDA': undefined identifier
 126   2                                                              delay(3);
 127   2                                                              SCL=0;
*** ERROR C202 IN LINE 127 OF I2CTEST.C: 'SCL': undefined identifier
 128   2                                                              if(a==1)
 129   2                                                              {
 130   3                                                                      da=da<<1;
 131   3                                                                      da=da|0x01;
 132   3                                                              }
 133   2                                                              else
 134   2                                                              {
 135   3                                                                      da=da<<1;
 136   3                                                              }
 137   2                                                      }
 138   1                                                      return da;
 139   1                                              }
 140                                                                                                          
 141                                                  //**********Send n bety ,n<16,page[0-7],add[0-255].error return 0********//
 142                                                  bit I2C_Send_Nbyte(unsigned char page,unsigned char add,unsigned char *buffer,unsigned char n)
 143                                                  {
 144   1                                                      unsigned char i;
 145   1                                                              
 146   1                                                      I2C_start();                    //send start//                  
C51 COMPILER V7.02a   I2CTEST                                                              09/30/2004 14:30:10 PAGE 4   

 147   1                                                      
 148   1                                                      I2C_Send_byte(page);            //send  address//
 149   1                                                      if(I2C_Cack()==1)
 150   1                                                      {
 151   2                                                              I2C_stop();
 152   2                                                              return 0;
 153   2                                                      }
 154   1                                                      
 155   1                                                      I2C_Send_byte(add);             //send data address//
 156   1                                                      if(I2C_Cack()==1)
 157   1                                                      {
 158   2                                                              I2C_stop();
 159   2                                                              return 0;
 160   2                                                      }
 161   1                                                      
 162   1                                                      for(i=0;i<n;i++)                //send data//
 163   1                                                      {
 164   2                                                              I2C_Send_byte(buffer[i]);
 165   2                                                              if(I2C_Cack()==1)
 166   2                                                              {
 167   3                                                                      I2C_stop();
 168   3                                                                      return 0;
 169   3                                                              }
 170   2                                                      }
 171   1                                                      
 172   1                                                      I2C_stop();                     //send stop//
 173   1                                                      return 1;
 174   1                                              }                       
 175                                                          
 176                                                  
 177                                                  //***********receive n byte n<16,page[0-7],add[0-255],error return 0*********//
 178                                                  bit I2C_Receive_Nbyte(unsigned char page,unsigned char add,unsigned char *buffer,unsigned char n)
 179                                                  {
 180   1                                                      unsigned char i;
 181   1                                                      
 182   1                                                      I2C_start();                    //send start//                                          
 183   1                                                      
 184   1                                                      I2C_Send_byte(page);            //send device address//
 185   1                                                      if(I2C_Cack()==1)
 186   1                                                      {
 187   2                                                              I2C_stop();
 188   2                                                              return 0;
 189   2                                                      }
 190   1                                                      
 191   1                                                      I2C_Send_byte(add);             //send data address//
 192   1                                                      if(I2C_Cack()==1)
 193   1                                                      {
 194   2                                                              I2C_stop();
 195   2                                                              return 0;
 196   2                                                      }
 197   1                                                      
 198   1                                                      for(i=0;i<n;i++)                //send data//
 199   1                                                      {
 200   2                                                              buffer[i]=I2C_Receive_byte();
 201   2                                                              if(i!=n)
 202   2                                                              {
 203   3                                                                      I2C_ack();
 204   3                                                              }
 205   2                                                              else
 206   2                                                              {
 207   3                                                                      I2C_nack();
 208   3                                                              }
C51 COMPILER V7.02a   I2CTEST                                                              09/30/2004 14:30:10 PAGE 5   

 209   2                                                      }
 210   1                                                              
 211   1                                                      I2C_stop();                     //send stop//
 212   1                                                                              
 213   1                                                      return 1;
 214   1                                              }               
 215                                                                          
 216                                                  
 217                                                  //********main************//
 218                                                  void main(void)
 219                                                  {                                               unsigned char i,j,k;
 220   1                                                      unsigned char code yuan[17]={0,1,2,3,4,5,6,7,8,9,10,11,13,13,14,15,16};
 221   1                                                      unsigned char   tt[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
 222   1                                                      bit     a=0;
 223   1                                                      SCON = 0x52;
*** ERROR C202 IN LINE 223 OF I2CTEST.C: 'SCON': undefined identifier
 224   1                                                      TMOD=0x29;      
*** ERROR C202 IN LINE 224 OF I2CTEST.C: 'TMOD': undefined identifier
 225   1                                                      TH1=0xfd;
*** ERROR C202 IN LINE 225 OF I2CTEST.C: 'TH1': undefined identifier
 226   1                                                      TL1=0xfd;                                       //** 9600 baud **//
*** ERROR C202 IN LINE 226 OF I2CTEST.C: 'TL1': undefined identifier
 227   1                                                      TR1=1;                                          //** start timer 1 **//
*** ERROR C202 IN LINE 227 OF I2CTEST.C: 'TR1': undefined identifier
 228   1                                                      TI=1;
*** ERROR C202 IN LINE 228 OF I2CTEST.C: 'TI': undefined identifier
 229   1                                                      EA=1;                                           //** Allow UART Int **//
*** ERROR C202 IN LINE 229 OF I2CTEST.C: 'EA': undefined identifier
 230   1                              
 231   1                                                      printf("I1C Test\n");
 232   1                                                      led=0;
 233   1                                                      delay_ms(100);
 234   1                                                      
 235   1                                              /*      for(i=0;i<8;i++)
 236   1                                                      {
 237   1                                                              for(j=0;j<0x10;j++)
 238   1                                                              {
 239   1                                                                      I2C_Send_Nbyte(i,j*0x10,yuan,16);
 240   1                                                                      delay_ms(10);
 241   1                                                              }
 242   1                                                      }       
 243   1                                                      led=!led;       */
 244   1                                                      delay_ms(200);
 245   1                                                      I2C_Receive_Nbyte(0x4,0xa0,tt,16);
 246   1                                                       delay_ms(100);
 247   1                                                       for(i=0;i<16;i++)
 248   1                                                       {
 249   2                                                              printf("%x,",tt[i]);
 250   2                                                      }
 251   1                                                      printf("\n");
 252   1                                                      while(1);
 253   1                                              }

C51 COMPILATION COMPLETE.  1 WARNING(S),  39 ERROR(S)

⌨️ 快捷键说明

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