if(mode==1) //模式1添加的程序
{
switch(speed/10) //根据速度决定亮灯数
{
case 0:
case 1:lamp_num=4;break;
case 2:
case 3:lamp_num=3;break;
case 4:
case 5:lamp_num=2;break;
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:lamp_num=1;
}
if(key2==0){P2_temp=P2;P2=0xff;Led_LE=1;Led_LE=0;P2=P2_temp;} //改变显示状态,区别模式1
}
}
}
void isr_t1(void) interrupt 3 // 定时器T1中断服务程序
{ TH1=0xd8;
TL1=0xf0; //赋初值
if(counter<=1000)counter++; //计时,最大值10s
}
5 结果与分析
5.1 结果
经对硬件部分车模,跑道,LED灯,芯片部分单片机AT89S52,7805三端稳压器,74HC573数据锁存器,12MHz晶振的选型,对两部分进行安装以及焊接,其中芯片部分选择两块版进行焊接,第一块半焊接所有的芯片,第二块板接灯和电阻等外围电路,以方便文护检修,烧写程序等。最后对软硬件分别调试检测。实现了如下效果。
图5.1 整体效果图
5.1.1 模式0
小车默认模式下运行,车前方有两盏灯亮,车头后方的灯灭。此时,按下按键2,指示灯为全灭。
图5.2 默认模式亮灯
图5.3 默认模式下指示灯
5.1.2 模式1
模式1,即自动调节模式,车速越快车前方的灯亮的越多,为一盏到四盏。此时,按下按键2,指示灯为全亮。
图5.4 自动模式下指示灯
5.1.3 模式2
模式2,即为手动模式,可手动控制车前方亮的灯数,可以控制亮的灯数从一盏到四盏。
图5.5 手动模式下一盏指示灯
图5.6 手/自动模式下一盏路灯
图5.7 手动模式下两盏指示灯
图5.8 手/自动模式下两盏路灯 AT89S52单片机节能型路灯控制系统模型设计+PCB电路图+源码+流程图(13):http://www.751com.cn/zidonghua/lunwen_1174.html