红外热释防盗报警器论文(6)

2019-05-18 17:11

}

/*************定时器0初始化程序***************/ void time_init() { }

uchar flag_alarm ; //报警标志位 uchar flag_bufang ; //布防标志位 uchar flag_bufang_en ; //布防标志位使能 uint flag_value; //用做定时器的变量

22

{ }

switch(key_io & 0x07) { }

case 0x06: key_can = 1; break; case 0x05: key_can = 2; break; case 0x03: key_can = 3; break;

//得到按键值 //得到按键值 //得到按键值

key_old = key_new;

EA = 1; //开总中断

//定时器0工作方式1 //开定时器0中断 //允许定时器0定时

TMOD = 0X01; ET0 = 1; TR0 = 1;

/******************红外报警处理**********************/ void hongwai_dis() { }

23

if(flag_alarm == 1) //报警 { }

red = ~red;

//红灯报警

beep = ~beep; //蜂鸣器报警

if(flag_bufang_en == 1) //准备开始布防 { }

if(flag_bufang == 1) //确认布防 { }

green = 0; //如果延时布防成功 绿灯长亮 if(hw == 1) { }

flag_alarm = 1;

//红外有输出

green = ~green;

//绿灯闪

/******************对应不同按键处理**********************/ void key_with() { }

24

if(key_can == 1) { }

//按键紧急报警

flag_alarm = 1; //报警标志位 ;

if(key_can == 2) //布防按键 { }

if(key_can == 3) { }

flag_alarm = 0; flag_bufang = 0; flag_bufang_en = 0; flag_value = 0; P2 = 0xff;

//取消报警 把变量清零

flag_bufang_en = 1;

/******************主程序**********************/ void main() { }

/*************定时器0中断服务程序***************/ void time0_int() interrupt 1 {

time_init(); while(1) { }

key();

yellow = ~hw; //红外热释电指示灯 有输出就亮黄灯 if(key_can < 10) { }

if(flag_300ms == 1) { }

flag_300ms = 0; hongwai_dis();

//红外报警函数

key_with();

//按键设置函数

static uint value;

25

}

TH0 = 0x3c;

TL0 = 0xb0; // 50ms value ++; if(value % 6 == 0) { }

if(flag_bufang_en == 1) { }

flag_value ++;

if(flag_value >= 600) //30秒 { }

flag_bufang = 1; flag_bufang_en = 0; flag_value = 0;

flag_300ms = 1;

26


红外热释防盗报警器论文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:一、办公室工作的主要职责、地位和作用

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

马上注册会员

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