1、 课程设计任务书专业:通信工程 学号:4090820 学生姓名(签名): 设计题目:烟雾检测系统一、 功能介绍当火情发生时,烟雾检测系统能以最快的速度检测报警,最大限度地减少火灾造成的人员伤亡和财产损失。烟雾检测系统是利用光电传感器将光信号转化为电信号,这个电信号通过调理电路后,送入单片机通过检测这个电信号来判断是否有烟雾发生。二、 硬件结构图说明:光电传感器是通过吧光强度的变化转换成电信号的变化来实现控制得。光电传感器一般由 3 部分组成:发送器、接收器和检测电路。发射器对准目标发射光束,发射的光束来源于半导体光源。接收器由光带二极管、光电三极管和光电池组成。在接收器后面为检测电路,它能滤出
2、有效信号和应用该信号。电源及复位电路 MC9S08JM60光电传感器报警电路三、 软件流程图NY YYYYNYN Y开始系统初始化AD 采样,求平均值Lightdark+x报警标志为 0?烟雾计数递增烟雾计数值=1? 定时中断周期为 4s烟雾计数值 =2? 定时中断周期为 1s烟雾计数值=3? 声光报警标志清零,计数变量清零四、 源代码void main(void)PE_low_level_init();for(;)Sample();Average();if (light_average(dark_average+30)if (alarm_flag =0)smoke_detect_count+
3、; /烟雾计数值递增somke_detect_count /烟雾计数值最大为 3if (smoke_detect_count=1)Timer_Variable_SetDutyMS(4000); /定时周期为 4selse if (smoke_detect_count=2)Timer_Variable_SetDutyMS(1000); /定时周期为 1selse if (smoke_detect_count=3)alarm_flag=1; /报警标志置 1LED_SetVal(); /点亮 LED 灯elseLED_ClrVal();alarm_flag=0; /没有烟雾出现,则标志清零smok
4、e_detect_count=0; /烟雾计数值清零Timer_Variable_SetDutyMS(8000);void LIGHT_AD_Init(void) setReg8(ADCSC1,0x1F); /关设备setReg8(ADCSC2,0x00); /控制寄存器 2 设置OutFlg=FALSE;ModeFlg=STOP; /设备状态设置setReg8(ADCCFG,0x07); /设置分频位void Sample (void)unsigned char I,temp;temp=PTBD; /保存端口 B 的状态OAPOWER_SetVal();LED_SetVal();for(i=0;i0x1F40)return ERR_RANGE;PE_Timer_LngMul(dword)Time,0x083126E9LU,if (PE_Timer_LngHi3(rtval0,rtval1,SetRatio();return ERR_OK;五、 总结