}
} { }
}
write_com(0x80+0x40+2); //将光标移动到秒个位 write_com(0x0f); //显示光标并且闪烁
write_eepom();
//设置低温报警
if(menu_1 == 2)
if(key_can == 3) { }
if(key_can == 2) { }
write_eepom();
if(flag_lj_3_en == 0)
t_low -- ; t_low -= 10; t_low = 10;
else
if(t_low <= 10)
write_sfm3_18B20(2,10,t_low);
write_com(0x80+0x40+10); //将光标移动到秒个位 write_com(0x0f); //显示光标并且闪烁 if(flag_lj_3_en == 0)
t_low ++ ; t_low += 10; t_low = t_high - 1;
else
if(t_low >= t_high)
write_sfm3_18B20(2,10,t_low);
write_com(0x80+0x40+10); //将光标移动到秒个位 write_com(0x0f); //显示光标并且闪烁
/********************菜单对应的处理函数***********************/ void menu_dispaly() {
}
if((menu_1 == 1)) { { }
//对光标不处理,要不然光标不会显示在正确的位置
write_com(0x80+0x42); //将光标移动到 write_com(0x0f); //显示光标并且闪烁
}else if((menu_1 == 2))
write_com(0x80+0x4a); //将光标移动到 write_com(0x0f); //显示光标并且闪烁
/****************报警函数***************/ void clock_h_l() { }
void main() {
init_1602(); init_1602_dis_csf(); temperature = read_temp(); read_eepom();
write_sfm3_18B20(2,2,t_high); if(a_a == 0xff) {
t_high = 300;
//新的单片机初始单片机内问EEPOM
write_sfm3_18B20(2,10,t_low);
//先读出温度的值
time_init(); //初始化定时器 if((temperature <= t_low) || (temperature >= t_high)) { } else { }
flag_clock = 0; beep = 1;
flag_clock = 1;
// // //
}
t_low = 100; a_a = 1; write_eepom();
//先读出温度的值
delay_1ms(650);
temperature = read_temp(); while(1) {
{ } key(); {
key_with();
if(flag_300ms == 1)
write_sfm3_18B20(1,8,temperature);
//300ms 处理一次温度程序
temperature = read_temp(); //先读出温度的值 clock_h_l(); //报警函数 if(flag_clock == 1)
beep = ~beep;
flag_300ms = 0; if(menu_1 == 0) { }
if(zd_break_en == 1) { }
menu_dispaly(); //不同级的菜单对应显示1602对应显示不同
//按键程序
zd_break_value ++; //每300ms加一次
if(zd_break_value > 50) //15秒后自动退出设置界面 {
menu_1 = 0; zd_break_en = 0; zd_break_value = 0;
write_com(0x0c); //关闭光标
//自动退出设置界面程序
write_sfm3_18B20(1,8,temperature);
}
if(key_can < 10)
//设置报警温度
}
}
}
/*************定时器0中断服务程序***************/ void time0_int() interrupt 1 { }
static uchar value; TH0 = 0x3c;
TL0 = 0xb0; // 50ms value ++; if(value % 6 == 0) { }
if(flag_lj_en == 1) //按下按键使能 { }
key_time ++;
if(key_time > 10) //500ms { }
key_time = 0; key_500ms = 1; //500ms flag_value ++; if(flag_value > 3) { }
flag_value = 10;
flag_lj_3_en = 1; //3次后1.5秒后连加大些
flag_300ms = 1; value = 0;
//300ms