寒假项目最后一个,基于STC/AT89C51的红路灯设计
实现十效果具体为:南北通行42秒,南北闪烁3秒,南北黄灯4秒,禁止通行1秒,东西黄灯4秒,东西通行27秒,东西闪烁3秒,东西黄灯4秒。同时具备特殊放行模式:南北自由通行;东西自由通行;全部禁行。所有时间可以修改。貌似和平时的红路灯不一样,但是由于想凑齐八个状态,就整了这神奇的控制步骤。黄灯多,安全第一!!
原理图:
本来是想设计一个蓝牙或者WiFi模块,然后弄一个手持控制器,但是由于技术原因没实现,就只能把控制按键用IO口直接接出来了。数码管采用了七段四联共阳数码管,分成两段使用,分别显示南北方向和东西方向的倒计时。
原理图则侧重于模拟红绿灯控制,因而画到了一块板子上。
主函数如下所示:
void main()//主函数
{P0=0xff;P1=0xff;P2=0xff;P3=0xff;while(1){uchar flag1=0,flag2=0;if(key1==0){delay(10);if(key1==0){stop();P1=0xff;while(!key1);}}if(key2==0){delay(10);if(key2==0){nanbei();P1=0xff;while(!key2);}}if(key3==0){delay(10);if(key3==0){dongxi();P1=0xff;while(!key3);}}if(key1==1&&key2==1&&key3==1){state1();state2();state3();state4();state5();state6();state7();state8();}}
}
资源包含:proteus仿真+原理图;keil编写的C语言程序;ad原理图+PCB;产品说明书。
资源链接:
加我QQ:2430687381
资源有偿,谢绝白嫖