#include <reg51.h> //调用单片机头文件 #define uchar unsigned char //无符号字符型 宏定义 变量范围0~255 #define uint unsigned int //无符号整型 宏定义 变量范围0~65535
sbit GM=P1^0; //光敏 sbit shengyin=P1^4; //声音 sbit relay=P3^4; //继电器控制灯
/******************
可调电阻往右调 光敏传感器的灵敏度增加
**********************/
void delay_1ms(uint x)//延时函数 { uinti,j; for(i=0;i<x;i++) for(j=0;j<120;j++); }
void work()//工作函数 { staticuint value,miao; if(GM==10)//光敏(光亮减少) { delay_1ms(1);//延时1ms if(GM==10)//确定光量减少 { if(shengyin==20)//有声音 { relay=0;//继电器吸合 miao = 0; value = 0; } } } if(relay== 0) //继电器吸合 计时12秒 { value ++; if(value >= 1000) { value= 0; miao++; if(miao>= 12) //12秒的时间 { miao = 0; relay = 1; //关闭继电器 } } } }
void main()//主函数 { while(1)//循环 { work();//调用工作函数
delay_1ms(1); //1ms } }
|