标题:
LED灯模拟交通灯的简单单片机仿真
[打印本页]
作者:
51黑ff
时间:
2016-9-25 15:35
标题:
LED灯模拟交通灯的简单单片机仿真
0.png
(22.88 KB, 下载次数: 58)
下载附件
2016-9-25 15:33 上传
0.png
(47.08 KB, 下载次数: 54)
下载附件
2016-9-25 15:33 上传
单片机交通灯所有资料下载:
LED模拟交通灯.rar
(45.06 KB, 下载次数: 24)
2016-9-25 15:35 上传
点击文件名下载附件
下载积分: 黑币 -5
源程序:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit RED_A=P0^0;
sbit YELLOW_A=P0^1;
sbit GREEN_A=P0^2;//东西向灯
sbit RED_B=P0^3;
sbit YELLOW_B=P0^4;
sbit GREEN_B=P0^5;//南北向灯
uchar Flash_Count=0,a=1; //闪烁次数,操作类型变量
void delay(uint x)
{ uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
//延时
void Traffic_Light()
{
switch(a)
{
case 1://东西向绿灯与南北向红灯亮
RED_A=1;YELLOW_A=1;GREEN_A=0;
RED_B=0;YELLOW_B=1;GREEN_B=1;
delay(2000);
a=2;
break;
case 2://东西向黄灯闪烁,绿灯关闭
delay(300);
YELLOW_A=~YELLOW_A;GREEN_A=1;
if(++Flash_Count!=10)//闪烁5 次
return;
Flash_Count=0;
a=3;
break;
case 3://东西向红灯亮,南北向绿灯亮
RED_A=0;YELLOW_A=1;GREEN_A=1;
RED_B=1;YELLOW_B=1;GREEN_B=0;
delay(2000);
a=4;
break;
case 4://南北向黄灯闪烁5次,绿灯关闭
delay(300);
YELLOW_B=~YELLOW_B;GREEN_B=1;
if(++Flash_Count!=10)//闪烁5 次
return;
Flash_Count=0;
a=1;
}
}
void main()
{
while(1)
{
Traffic_Light();
}
}
复制代码
作者:
diamond99
时间:
2017-6-26 14:10
有程序框图吗?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1