校园路灯智能控制系统的设计与实现
附 录
附录1 系统c语言程序
#include
22
校园路灯智能控制系统的设计与实现
#define uchar unsigned char //无符号字符型 宏定义 变量范围0~255 #define uint unsigned int uchar num,num1,num2;
sbit GM=P1^0; //光敏 sbit hw=P1^6; //人体红外 sbit relay=P3^4; //继电器控制灯 sbit yellow = P1^5; //红外指示灯 sbit lingwaideng=P1^1;//另外的一个灯 sbit led1=P1^2;//第三个灯 /******************
电位器往右调 光敏传感器的灵敏度增加
**********************/
void delay_1ms(uint x)//延时函数 { }
void work()//工作函数 {
//无符号整型 宏定义 变量范围0~65535
uint i,j; for(i=0;i static uchar value,miao; if(GM==0)//光敏(晚上) { 23 delay_1ms(20);//延时20ms 校园路灯智能控制系统的设计与实现 } if(GM==0)//确定是晚上 { } lingwaideng=0;//另外的一个灯亮 if(hw==1)//感应到人体 { } relay=0;//继电器吸合 miao = 0; value = 0; if(GM==1)//光敏(白天) { } if(relay == 0) //继电器吸合计时10秒 { value ++; if(value >= 10) { value = 0; miao ++; if(miao >= 10) //10秒的时间 { miao = 0; relay = 1; //关闭继电器 24 delay_1ms(20); if(GM==1)//确定是白天 { } lingwaideng=1;//另外的一个灯灭 校园路灯智能控制系统的设计与实现 } } } } void init() { } void main()//主函数 { TMOD=0x01; TH0=(65536-45872)/256; TL0=(65536-45872)%6; EA=1; ET0=1; hw = 0; delay_1ms(500);//延时500ms P0 = P1 = P2 = P3 = 0XFF; while(1)//循环 { work();//调用工作函数 yellow = ~hw; //红外感应指示灯 delay_1ms(100); //100ms init(); if(GM==0) { TR0=1; if(num2<=10) 25 校园路灯智能控制系统的设计与实现 led1=0; else led1=1; } if(GM==1) {TR0=0;num2=0;} } } void T0_time() interrupt 1 { TH0=(65536-45872)/256; TL0=(65536-45872)%6; num++; if(num==20) { num=0; num2++; } } 附录2 系统仿真图 26