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

📄 386.c

📁 C开发的报警程序
💻 C
📖 第 1 页 / 共 5 页
字号:
         goto ReadStatus;
        }
      else {
            
             for(Time_DU=0;Time_DU<1000;Time_DU++)
            {
             if(Sound_Du==1){Sound_Du=0;DELAY_025ms(1);}
             else {Sound_Du=1;DELAY_025ms(1);}
            }
            Sound_Du=1;
            J_LineToPhone=1;  //模拟挂机
            BJ=1; 

            return;
          }
     }//没有收满4位密码的处理

    } //没有键值输入,包含“收满4位密码/没有收满4位密码”的处理过程结束
}  //void Remote_Program() 子程序结束
//--------------------------------------------------------------------------------------------------//

unsigned char Read24C02_139()
{ 
   unsigned char ENDLOCK=0;
   bit Check_bit=1;
   startRead:  START24C02();
   WriteOneByte(160);            //寻址字节为0A0H,“写”
   Check_bit=Check24C02();      //校验应答位
   if(Check_bit==1)              //如果出错,从新启动总线
   goto startRead;
   
   WriteOneByte(99);      //确定片内寻址地址
   Check_bit=Check24C02();      //校验应答位
   if(Check_bit==1)              //如果出错,从新启动总线
   goto startRead;
   STOP24C02();            //  执行完后,scl=0,sda=1

  startReadD: START24C02();
   WriteOneByte(161);            //寻址字节为0A1H,“读”
   Check_bit=Check24C02();      //校验应答位
   if(Check_bit==1)              //如果出错,从新启动总线
   goto startReadD;
   ENDLOCK=ReadOneByte();
   MNACK();
   STOP24C02();
   return(ENDLOCK);
}

unsigned char Read24C02_FIRST()
{ 
   unsigned char ENDLOCK=0;
   bit Check_bit=1;
   startRead:  START24C02();
   WriteOneByte(160);            //寻址字节为0A0H,“写”
   Check_bit=Check24C02();      //校验应答位
   if(Check_bit==1)              //如果出错,从新启动总线
   goto startRead;
   
   WriteOneByte(98);      //确定片内寻址地址
   Check_bit=Check24C02();      //校验应答位
   if(Check_bit==1)              //如果出错,从新启动总线
   goto startRead;
   STOP24C02();            //  执行完后,scl=0,sda=1

  startReadD: START24C02();
   WriteOneByte(161);            //寻址字节为0A1H,“读”
   Check_bit=Check24C02();      //校验应答位
   if(Check_bit==1)              //如果出错,从新启动总线
   goto startReadD;
   ENDLOCK=ReadOneByte();
   MNACK();
   STOP24C02();
   return(ENDLOCK);
}

void initinize1(void) 
{
 bit Check_bit=1;

 startWrite:   START24C02();     //START24C02()执行完后,scl=0,sda=0
       WriteOneByte(160);            //寻址字节为0A0H,“写”;执行完后,scl=0,sda=0 
       Check_bit=Check24C02();      //校验应答位;执行完后,scl=0,sda不管
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(102);      //确定片内寻址地址
       Check_bit=Check24C02();      //校验应答位
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(0);  
       Check_bit=Check24C02();
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;
       STOP24C02();                 //执行完后,scl=0,sda=1
       _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

}

void initinize2(void) 
{
 bit Check_bit=1;

 startWrite:   START24C02();     //START24C02()执行完后,scl=0,sda=0
       WriteOneByte(160);            //寻址字节为0A0H,“写”;执行完后,scl=0,sda=0 
       Check_bit=Check24C02();      //校验应答位;执行完后,scl=0,sda不管
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(124);      //确定片内寻址地址
       Check_bit=Check24C02();      //校验应答位
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(0);  
       Check_bit=Check24C02();
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;
       STOP24C02();                 //执行完后,scl=0,sda=1
       _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}

void initinize3(void) 
{
 bit Check_bit=1;
 startWrite:   START24C02();     //START24C02()执行完后,scl=0,sda=0
       WriteOneByte(160);            //寻址字节为0A0H,“写”;执行完后,scl=0,sda=0 
       Check_bit=Check24C02();      //校验应答位;执行完后,scl=0,sda不管
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(144);      //确定片内寻址地址
       Check_bit=Check24C02();      //校验应答位
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(0);  
       Check_bit=Check24C02();
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;
       STOP24C02();                 //执行完后,scl=0,sda=1
       _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}

void initinize4(void) 
{
 bit Check_bit=1;

 startWrite:   START24C02();     //START24C02()执行完后,scl=0,sda=0
       WriteOneByte(160);            //寻址字节为0A0H,“写”;执行完后,scl=0,sda=0 
       Check_bit=Check24C02();      //校验应答位;执行完后,scl=0,sda不管
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(164);      //确定片内寻址地址
       Check_bit=Check24C02();      //校验应答位
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(0);  
       Check_bit=Check24C02();
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;
       STOP24C02();                 //执行完后,scl=0,sda=1
       _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}

void initinize5(void) 
{
 bit Check_bit=1;

 startWrite:   START24C02();     //START24C02()执行完后,scl=0,sda=0
       WriteOneByte(160);            //寻址字节为0A0H,“写”;执行完后,scl=0,sda=0 
       Check_bit=Check24C02();      //校验应答位;执行完后,scl=0,sda不管
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(184);      //确定片内寻址地址
       Check_bit=Check24C02();      //校验应答位
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(0);  
       Check_bit=Check24C02();
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;
       STOP24C02();                 //执行完后,scl=0,sda=1
       _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}

void initinize6(void) 
{
 bit Check_bit=1;

 startWrite:   START24C02();     //START24C02()执行完后,scl=0,sda=0
       WriteOneByte(160);            //寻址字节为0A0H,“写”;执行完后,scl=0,sda=0 
       Check_bit=Check24C02();      //校验应答位;执行完后,scl=0,sda不管
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(204);      //确定片内寻址地址
       Check_bit=Check24C02();      //校验应答位
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(0);  
       Check_bit=Check24C02();
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;
       STOP24C02();                 //执行完后,scl=0,sda=1
       _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}

void initinize7_0(void) 
{
 bit Check_bit=1;

 startWrite:   START24C02();     //START24C02()执行完后,scl=0,sda=0
       WriteOneByte(160);            //寻址字节为0A0H,“写”;执行完后,scl=0,sda=0 
       Check_bit=Check24C02();      //校验应答位;执行完后,scl=0,sda不管
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(224);      //确定片内寻址地址
       Check_bit=Check24C02();      //校验应答位
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(4);  
       Check_bit=Check24C02();
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;
       STOP24C02();                 //执行完后,scl=0,sda=1
       _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}

void initinize7_1(void) 
{
 bit Check_bit=1;

 startWrite:   START24C02();     //START24C02()执行完后,scl=0,sda=0
       WriteOneByte(160);            //寻址字节为0A0H,“写”;执行完后,scl=0,sda=0 
       Check_bit=Check24C02();      //校验应答位;执行完后,scl=0,sda不管
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(225);      //确定片内寻址地址
       Check_bit=Check24C02();      //校验应答位
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(1);  
       Check_bit=Check24C02();
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;
       STOP24C02();                 //执行完后,scl=0,sda=1
       _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}

void initinize7_2(void) 
{
 bit Check_bit=1;

 startWrite:   START24C02();     //START24C02()执行完后,scl=0,sda=0
       WriteOneByte(160);            //寻址字节为0A0H,“写”;执行完后,scl=0,sda=0 
       Check_bit=Check24C02();      //校验应答位;执行完后,scl=0,sda不管
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(226);      //确定片内寻址地址
       Check_bit=Check24C02();      //校验应答位
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(2);  
       Check_bit=Check24C02();
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;
       STOP24C02();                 //执行完后,scl=0,sda=1
       _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}

void initinize7_3(void) 
{
 bit Check_bit=1;

 startWrite:   START24C02();     //START24C02()执行完后,scl=0,sda=0
       WriteOneByte(160);            //寻址字节为0A0H,“写”;执行完后,scl=0,sda=0 
       Check_bit=Check24C02();      //校验应答位;执行完后,scl=0,sda不管
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(227);      //确定片内寻址地址
       Check_bit=Check24C02();      //校验应答位
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(3);  
       Check_bit=Check24C02();
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;
       STOP24C02();                 //执行完后,scl=0,sda=1
       _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}

void initinize7_4(void) 
{
 bit Check_bit=1;

 startWrite:   START24C02();     //START24C02()执行完后,scl=0,sda=0
       WriteOneByte(160);            //寻址字节为0A0H,“写”;执行完后,scl=0,sda=0 
       Check_bit=Check24C02();      //校验应答位;执行完后,scl=0,sda不管
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(228);      //确定片内寻址地址
       Check_bit=Check24C02();      //校验应答位
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(4);  
       Check_bit=Check24C02();
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;
       STOP24C02();                 //执行完后,scl=0,sda=1
       _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}

void initinize8_0(void) 
{
 bit Check_bit=1;

 startWrite:   START24C02();     //START24C02()执行完后,scl=0,sda=0
       WriteOneByte(160);            //寻址字节为0A0H,“写”;执行完后,scl=0,sda=0 
       Check_bit=Check24C02();      //校验应答位;执行完后,scl=0,sda不管
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(230);      //确定片内寻址地址
       Check_bit=Check24C02();      //校验应答位
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(1);  
       Check_bit=Check24C02();
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;
       STOP24C02();                 //执行完后,scl=0,sda=1
       _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}

void initinize8_1(void) 
{
 bit Check_bit=1;

 startWrite:   START24C02();     //START24C02()执行完后,scl=0,sda=0
       WriteOneByte(160);            //寻址字节为0A0H,“写”;执行完后,scl=0,sda=0 
       Check_bit=Check24C02();      //校验应答位;执行完后,scl=0,sda不管
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(231);      //确定片内寻址地址
       Check_bit=Check24C02();      //校验应答位
       if(Check_bit==1)              //如果出错,从新启动总线
       goto startWrite;

       WriteOneByte(5);  
       Check_bit=Check24C02();

⌨️ 快捷键说明

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