模式2,为手动调节模式,它的步骤就是在系统运行前调节你想控制的亮几盏灯,可控灯数在一盏到四盏之间,其余都和默认模式一样。
传感器的信号变化会在芯片版上的贴片LED灯上显示,当调节时,贴片LED在三种不同模式下亮灭也不相同,可用来区分模式,也可用作远程监控。
速度的判断是根据车经过前两个传感器的时间来判断,初次进入第一个传感器默认的速度是经过两个传感器的时间为300毫秒。
void main(void)
{
TMOD|=0x10; //定时器T1设为方式1
TH1=0xd8;TL1=0xf0; //赋初值
EA=1; //使能中断
ET1=1; //使能定时器1中断
TR1=1; //开启定时器1
P0=0xff; //I/O口初始化
P2=0x00;
lamp_LE1=1; //路灯组1初始化
lamp_LE1=0;
lamp_LE2=1; //路灯组2初始化
lamp_LE2=0;
Led_LE= 1; //led显示组初始化
Led_LE= 0;
while(1)
{
sensor_read(); //读取传感器检测值
display_sensor(); //显示传感器检测值
if(key1==0){ delay300ms();mode++;if(mode==3)mode=0; } //调节模式
if(sensor_value!=0) //传感器检测到有效值
{
if(sensor_vlast==0){P2_1=lamp_code1[0][sensor_value-1];P2_2=lamp_code2[0][sensor_value-1]; }//传感器第一次检测到有效值
else if(((sensor_value-sensor_vlast)==1)||((sensor_vlast-sensor_value)==7)){ //判断小车是否逆时针行驶
if(counter<=(speed/2)){ //判断小车时候过传感器间距的一半
P2_1=lamp_code1[(lamp_num-1)*4+3][sensor_value-1]; //没过一半,逆时针提前亮lamp_num个灯
P2_2=lamp_code2[(lamp_num-1)*4+3][sensor_value-1];
} else { AT89S52单片机节能型路灯控制系统模型设计+PCB电路图+源码+流程图(11):http://www.youerw.com/zidonghua/lunwen_1174.html