📄 video_4360.#3
字号:
break;
}
if(count_mid4>SOUND_COUNT) //被告
{
input_state=4;
//send_state();
count_bg=FG_OUT;
break;
}
if(count_mid5>SOUND_COUNT) //嫌疑人
{
input_state=5;
//send_state();
count_bg=FG_OUT;
break;
}
if(count_mid6>SOUND_COUNT) //证人
{
input_state=6;
//send_state();
count_bg=FG_OUT;
break;
}
if(count_mid7>SOUND_COUNT) //取证
{
input_state=7;
//send_state();
count_bg=FG_OUT;
break;
}
break;
}
case 3: //JA5_6 原告
{
if(count_mid3>SOUND_COUNT)
{
count_bg=FG_OUT;
}
else
{
count_bg--;
if(count_bg==0)
{
input_state=0;
//send_state();
}
}
break;
}
case 4: //JA7_8 被告
{
if(count_mid4>SOUND_COUNT)
{
count_bg=FG_OUT;
}
else
{
count_bg--;
if(count_bg==0)
{
input_state=0;
//send_state();
}
}
break;
}
case 5: //JA9 嫌疑人
{
if(count_mid5>SOUND_COUNT)
{
count_bg=FG_OUT;
}
else
{
count_bg--;
if(count_bg==0)
{
input_state=0;
//send_state();
}
}
break;
}
case 6: //JA10 证人
{
if(count_mid6>SOUND_COUNT)
{
count_bg=FG_OUT;
}
else
{
count_bg--;
if(count_bg==0)
{
input_state=0;
//send_state();
}
}
break;
}
case 7: //JA11 取证
{
if(count_mid7>SOUND_COUNT)
{
count_bg=FG_OUT;
}
else
{
count_bg--;
if(count_bg==0)
{
input_state=0;
//send_state();
}
}
break;
}
default:
{
}
}
}
}
count_mid1=0;
count_mid2=0;
count_mid3=0;
count_mid4=0;
count_mid5=0;
count_mid6=0;
count_mid7=0;
}
/**********************IIC总线处理程序**********/
/*
void I2C_handle_write(void)
{
input_state = 0x09;//测试
i2c_start(); //发送起始位
IICSendByte(0x02);;//发送从器件地址+W
//while(i2c_sack()); //应答位检查,正常返回0,不正常返回1
//做了修改,防止死机处理,程序如下
//IICSendByte(input_state);//发送数据:input_state
if(!i2c_sack())
{
IICSendByte(input_state);
OK_i2cflag=1;
if(!i2c_sack())
{
OK_i2cflag=1;
}
else OK_i2cflag=0;
}
else OK_i2cflag=0;
//while(i2c_sack()); //应答位检查,正常返回0,不正常返回1
i2c_stop(); //发送停止位
}
*/
void I2C_handle_read(void)
{
data_i2c = 0;
i2c_start(); //发送起始位
IICSendByte(0x03);//发送从器件地址+R
//while(i2c_sack()); //应答位检查,正常返回0,不正常返回1
//做了修改,防止死机处理,程序如下
if(!i2c_sack())
{
data_i2c = IICReceiveByte();//接收从器件发送的数据
OK_i2cflag=1;//i2C操作成功标志
}
else
{
OK_i2cflag=0;
}
IICNoAck(); //发送反态应答位
i2c_stop(); //发送停止位
}
void I2C_cmd_4460(void)
{
if(data_i2c&0x80) //命令接收正确,且发生更新
{
data_i2c_bak= data_i2c;//更新备用数据
if(data_i2c&0x40) //手动
{
//监控频道 D2D1D0(data_i2c)
data_i2c_test = data_i2c&0x07;
set_4460_A(data_i2c_test);//打开A0,A1对应输出
//录像频道 D5D4D3(data_i2c)
data_i2c_test = (data_i2c>>3)&0x07;//连接Vin?
set_4460_B(data_i2c_test);//打开A0,A1对应输出
}
else //自动
{
//监控频道 D2D1D0(data_i2c)
data_i2c_test = ((data_i2c&0x07)<<4)&0x70;//连接Vin?
set_4460_A(data_i2c_test);//打开A0,A1对应输出
//录像频道 靠音频
}
}
}
void I2C_data_handle(void)
{
if(OK_i2cflag) //I2C 操作正确
{
if(data_i2c != data_i2c_bak)//数据发生更新
{
I2C_cmd_4460();
}
}
}
/*
void I2C_data_handle_new(void)
{
if(OK_i2cflag) //I2C 操作正确
{
if(data_i2c&0x80) //命令接收正确,数据发生更新
{
if(data_i2c&0x40) //手动
{
//监控频道 D2D1D0(data_i2c)
VA0=0;
VA1=0;//定址00
//cmd_4460(0xd0); //全关
test_4460();
cmd_4460(0xB0); //关闭A0,A1对应输出
cmd_4460(((data_i2c&0x07)<<4)&0x70); //连接Vin?
cmd_4460(0xC0); //打开A0,A1对应输出
delay(10);
//录像频道 D5D4D3(data_i2c)
VA0=1;
VA1=0;//定址01
cmd_4460(0xB0); //关闭A0,A1对应输出
cmd_4460(((data_i2c&0x38)<<1)&0x70); //连接Vin?
cmd_4460(0xC0); //打开A0,A1对应输出
delay(10);
}
else //自动
{
//监控频道 D2D1D0(data_i2c)
VA0=0;
VA1=0;//定址00
cmd_4460(0xB0); //关闭A0,A1对应输出
cmd_4460(((data_i2c&0x07)<<4)&0x70); //连接Vin?
cmd_4460(0xC0); //打开A0,A1对应输出
//录像频道 靠音频
}
}
}
}
*/
void I2C_handle(void)
{
//I2C_handle_write();
I2C_handle_read();
///data_i2c = 0xC4;//ADDED CODE, FOR DEBUG
//data_i2c = 0xDC;//ADDED CODE, FOR DEBUG
I2C_data_handle();
//I2C_data_handle_new();
}
void ISR_time1(void) interrupt 3
{
TR1=0;
TH1=0xD8;
TL1=0xF0;
if(count_i2c < I2C_COUNTSUM)
count_i2c++;
else
{
EA=0;
count_i2c = 0;
I2C_handle();//IIC总线处理程序
//delay();
EA=1;
}
TR1=1;
}
void init_io(void)
{
WDTCN=0xDE;
WDTCN=0xAD; //关看门狗
OSCICN=0x06; //用片内时钟,8M Hz
PRT0CF=0x0F0;
PRT1CF=0x0E0;
PRT2CF=0x0F0; //P2低4位推挽输出。
IT0=1;
EX0=1;
PX0=1;
TMOD=0x01;
TH0=-(CHECK_TIME*FOSC/12)/256;
TL0=-(CHECK_TIME*FOSC/12)%256;
ET0=0;
TR0=0; //配置TIME0
TMOD=TMOD|0x10;
TH1=0xD8;
TL1=0xF0;
ET1=1;
TR1=1; //配置TIME1
}
void main(void)
{
init_io();
init_4460();
EA=1;
cmd_4460(0xd0); //全关
//test_4460();
//set_4460_A(3);
//set_4460_B(4);
while(1);
/*
while(1)
{
if(!MID1)
{
if(count_mid1!=0xff)count_mid1++;
}
if(!MID2)
{
if(count_mid2!=0xff)count_mid2++;
}
if(!MID3)
{
if(count_mid3!=0xff)count_mid3++;
}
if(!MID4)
{
if(count_mid4!=0xff)count_mid4++;
}
if(!MID5)
{
if(count_mid5!=0xff)count_mid5++;
}
if(!MID6)
{
if(count_mid6!=0xff)count_mid6++;
}
if(!MID7)
{
if(count_mid7!=0xff)count_mid7++;
}
// for(i=0;i<254;i++);
}
*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -