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

📄 62420.c.c

📁 这是62420的源代码程序,已通过调试并成功应用于产批品中
💻 C
字号:
#include <AT89X52.H>
#include  <intrins.h>
#include  "I2C.H"
#define uchar unsigned char 
#define uint  unsigned int
#define PARAMEAD 0

void STARTBIT();
void I2C_TX(uchar temp);
void STOPBIT();
uchar I2C_RX();
void EEPROM_RD();
void EPWR1B(uchar add,uchar adata);

/**********************************************************
程序名称: 静音程序
程序功能: 静音62420
入口参数:
出口参数:
调用子程序:
**********************************************************/
 void mute_62420()
 {
      STARTBIT();
      M62420_ADD = 0x80; //62420的slave地址
      I2C_TX(M62420_ADD);
      M62420_ADD1 = 0x10;//62420的sub地址,开启静音模式
      I2C_TX(M62420_ADD1);
      STOPBIT();
 }

/**********************************************************
程序名称: 62420开始位程序
程序功能: 
入口参数:
出口参数:
调用子程序:
**********************************************************/
 void STARTBIT()
 { 
     uchar j,count;
     I2C_SDA = 1;
     if (I2C_SDA)
     {
       I2C_SCL = 1;
       for (j=30; j; j--)
       {              };
       I2C_SDA = 0;
       for (j=30; j; j--)
       {              };
       I2C_SCL = 0;
     }
     else 
     {
       for (count=20; count; count--)
       { 
          I2C_SCL = 0;
          for (j=30; j; j--)
          {              };
          I2C_SCL = 1;
          for (j=30; j; j--)
          {              };
       }
      
          ERROR_CODE = I2CSTRER;
          ERROR_F = 1;
     }  
 }
/**********************************************************
程序名称: 62420写地址程序
程序功能: 
入口参数:
出口参数:
调用子程序:
**********************************************************/

  void I2C_TX(uchar temp)
  {
      uchar i,j,k;
      for (i=8; i; i--)
      { 
         I2C_SCL = 0;   
         temp<<=1;
         _nop_();
         _nop_();
         I2C_SDA = CY;
         for (j=30; j; j--)
         {                   };
         I2C_SCL = 1;
         for (j=30; j; j--)
         {                   };
      }

        I2C_SCL = 0;
        _nop_();
        I2C_SDA = 1;
        _nop_();
      
        if (I2C_SDA)
        {
          for(k=255; k; k--)
          {                    };
          ERROR_F = 1;
          ERROR_CODE = I2CTXER;
          I2C_SCL = 1;
          for (j=30; j; j--)
          {                   };
          I2C_SCL = 0;
        }
      
        else
        {
          I2C_SCL = 1;
          for (j=30; j; j--)
          {                   };
          I2C_SCL = 0; 
        }
  }
/**********************************************************
程序名称: 62420停止位程序
程序功能: 
入口参数:
出口参数:
调用子程序:
**********************************************************/
 void STOPBIT()
 { 
    uchar j=20, count;
    do 
    {
       I2C_SCL = 0;
       _nop_();
       I2C_SDA = 0;
       _nop_();
       _nop_();
       I2C_SCL = 1;
       for (count=30; count; count--)
       {                     };
       I2C_SDA = 1;
    }
       while((I2C_SDA==0) && (j--)); //先判断I2C_SDA是否为0,如为0,满足即为真;则再判断j-1是否为真;只有两条件同时满足时才执行循环.
             
       if (!I2C_SDA)   
       { 
          ERROR_CODE = I2CSTPER;
          ERROR_F = 1;
       }       
       else  
       for(count=30; count; count--)
       {                        };
      
           
  }

     
      

⌨️ 快捷键说明

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