📄 386.c
字号:
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 + -