基于单片机的智能火灾报警系统大学论文 下载本文

}

for(i=0;i<8;i++) { } CS=1; SCL=1;

return value;

//接收校验数据

value1>>=1; if(DO)

value1+=0x80;

SCL=1; SCL=0;

return 0;

/***********************数码显示函数*****************************/ void display() { }

/****************按键处理数码管显示函数***************/ void key_with() {

uchar i;

for(i=0;i

//位选

P2 = smg_we[i]; P1 = dis_smg[i]; delay_1ms(1); P1 = 0xff; P2 = 0xff;

//段选

//消隐

//位选

{ }

if(menu_1 == 0)

shoudong = 1;

if(key_can == 1) //设置键

{ menu_1 ++;

if(menu_1 >= 3) { menu_1 = 0;

}

if(menu_1 == 0) { smg_i = 3; }

if(menu_1 == 1) { dis_smg[2] = 0xbf ; dis_smg[3] = smg_du[10]; //显示A

smg_i = 4;

}

if(menu_1 == 2) { dis_smg[0] = smg_du[s_dengji % 10]; dis_smg[1] = 0xbf ; dis_smg[2] = 0xbf ; dis_smg[3] = smg_du[11]; //显示B

smg_i = 4;

}

}

if(menu_1 == 0) { if((key_can == 2) || (key_can == 3))

shoudong = 0; //取消手动报警}

if(menu_1 == 1) //设置高温报警

{ if(key_can == 2) {

if(flag_lj_3_en == 0)

//取个位显示

}

}

s_temp ++ ; //按键按下未松开自动加三次

else

s_temp += 10; //按键按下未松开自动加三次之后每次自动加10

if(s_temp > 99)

s_temp = 99; dis_smg[2] = 0xbf ;

//显示A

dis_smg[3] = smg_du[10];

if(key_can == 3) { }

//设置低温报警

if(flag_lj_3_en == 0)

s_temp -- ;

//按键按下未松开自动加三次

else

s_temp -= 10; //

if(s_temp <= 10)

s_temp = 10 ;

if(menu_1 == 2) {

if(key_can == 2) { }

if(key_can == 3) {

if(flag_lj_3_en == 0) if(flag_lj_3_en == 0)

s_dengji ++ ;

else

s_dengji ++ ;

if(s_dengji >= 9)

s_dengji = 9;

dis_smg[0] = smg_du[s_dengji % 10]; //取个位显示 dis_smg[1] = 0xbf ; dis_smg[2] = 0xbf ; dis_smg[3] = smg_du[11];

//显示B

}

}

}

s_dengji -- ;

else

dis_smg[0] = smg_du[s_dengji % 10]; //取个位显示 dis_smg[1] = 0xbf ; dis_smg[2] = 0xbf; dis_smg[3] = smg_du[11];

//显示B

/****************独立按键处理函数************************/ void key() {

static uchar key_new = 0,key_old = 0,key_value = 0; if(key_new == 0) { } else {

if((P2 & 0x0f) != 0x0f)

key_value ++; //按键按下的时候

key_value ++;

else

key_value = 0;

if(key_value >= 5) { }

write_eepom(); key_value = 0; key_time = 0; key_new = 1; flag_lj_en = 0;

//关闭连加使能

flag_lj_3_en = 0; //关闭3秒后使能 flag_value = 0;

//清零

else