基于单片机的火灾报警系统设计(8)

2019-04-21 20:30

附录

{

s_dengji ++ ; //烟物报警值加1 if(s_dengji >= 9) s_dengji = 9; }

if(key_can == 3) { s_dengji --; //烟物报警值减1 if(s_dengji <= 1) s_dengji = 1; }

dis_smg[0] = smg_du[s_dengji % 10]; //取个位显示 dis_smg[1] = 0xbf ; dis_smg[2] = 0xbf; dis_smg[3] = smg_du[11]; //显示B write_eeprom(); //保存数据 } }

/*****************************报警函数******************************/ void clock_h_l() { 0))

static uchar value;

if((dengji >= s_dengji) || (temperature >= s_temp) || (shoudong == 1)) //报警 { value ++; if(value >= 2) { value = 10; beep = ~beep; //蜂鸣器报警 } }else { if((dengji < s_dengji) && (temperature < s_temp) && (shoudong == //取消报警 { value = 0; beep = 1; //取消报警

—32—

附录 }

} }

/******************************主函数*******************************/ void main() { beep = 0; //开机蜂鸣器叫一声 delay_1ms(200); P0 = P1 = P2 = P3 = 0xff; //初始化IO口为高电平 temperature = read_temp(); //读取温度值 init_eeprom(); //开始初始化保存的数据

delay_1ms(650); temperature = read_temp(); //读取温度值 time_init(); //初始化定时器 while(1) { key(); //独立按键程序 if(key_can < 10) { key_with(); //按键按下要执行的程序 }

if(flag_300ms == 1) { flag_300ms = 0; clock_h_l(); temperature = read_temp(); //读取温度值 dengji = ad0832read(1,0); dengji = dengji * 10 / 250; if(menu_1 == 0) {

if(temperature >= 99) temperature = 99; dis_smg[3]=smg_du[dengji];//显示烟物报警等级 dis_smg[2]= 0xbf; // - dis_smg[1]=smg_du[temperature/10]; //十位 dis_smg[0]=smg_du[temperature]; //个位

—33—

附录 ADC0832为8位ADC,数值为0~255,我们将其分开放入l_tmpdate数组中显示 } } delay_1ms(1); } }

/**********************定时器0中断服务程序************************/ void time0_int() interrupt 1 { static uchar value; TH0 = 0xf8;

TL0 = 0x30; // 2ms value ++; display(); //数码管显示函数 if(value % 150 == 0) { flag_300ms = 1; //300ms value = 0; }

}

—34—


基于单片机的火灾报警系统设计(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:体育节通知章程

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: