各位大侠帮忙看看,为什么if语句无法实现呢?OUT22=1; OUT32=1; 在延时后不能实现一直是高电平呢?void dis_dianya()
{
float res0;
uchar d0,d1,d2,d3,d4,d5,d6;
int a;
ADC_Init(ADC_PORT0);
res0=GetADCResult(ADC_CH0)*51;
a=(int)res0 ;
d0='U';
d1='=';
d2=a/100; //电压百位
d3=a%100/10; //电压十位
d4=a%100%10; //电压个位
d5='.';
d6='V';
write_cmd(0x90);
write_dat('U');
write_dat('=');
write_dat(d2+0x30); //电压百位
write_dat(d3+0x30); //电压十位
write_dat(d4+0x30); //电压个位
write_dat('V');
delay_1ms(100);
if((a>20))
{
if((a<34)||(a>66))
{
delay_1ms(10000); //延时5S
if((a<34)||(a>66))
{
OUT33=1; //关闭进气阀
OUT22=0; //打开排气阀
OUT32=0; //蜂鸣器报警
delay_1ms(5000); //延时5秒
OUT22=1; //关闭出气阀
OUT32=1; //蜂鸣器关闭
}
}
}
}
main()
{
lcd_init();
OUT22=1;
OUT32=1;
while(1)
{
dis_dianya();
}
}
|