1 关于LED模拟交通灯单片机C语言程序设计-德赢Vwin官网 网

关于LED模拟交通灯单片机C语言程序设计

嵌入式设计应用

133人已加入

描述

本文为大家带来三个关于LED模拟交通灯单片机C语言程序设计。

关于LED模拟交通灯单片机C语言程序设计一

功能说明

东西向绿灯亮若干秒,黄灯闪烁5次后红灯亮,红灯亮后,南北向由红灯变为绿灯,若干秒后南北向黄灯闪烁5此后变红灯,东西向变绿灯,如此重复。

c语言程序

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitRED_A=P0^0;//东西向灯

sbitYELLOW_A=P0^1;

sbitGREEN_A=P0^2;

sbitRED_B=P0^3;//南北向灯

sbitYELLOW_B=P0^4;

sbitGREEN_B=P0^5;

ucharFlash_Count=0,Operation_Type=1;//闪烁次数,操作类型变量

//延时

voidDelayMS(uintx)

{

uchari;

}

while(x--)for(i=0;i《120;i++);

//交通灯切换

voidTraffic_Light()

{

switch(Operation_Type)

{

case1://东西向绿灯与南北向红灯亮

RED_A=1;YELLOW_A=1;GREEN_A=0;

RED_B=0;YELLOW_B=1;GREEN_B=1;

DelayMS(2000);

Operation_Type=2;

break;

case2://东西向黄灯闪烁,绿灯关闭

DelayMS(300);

YELLOW_A=~YELLOW_A;GREEN_A=1;

if(++Flash_Count!=10)return;//闪烁5次

Flash_Count=0;

Operation_Type=3;

break;

case3://东西向红灯,南北向绿灯亮

RED_A=0;YELLOW_A=1;GREEN_A=1;

RED_B=1;YELLOW_B=1;GREEN_B=0;

DelayMS(2000);

Operation_Type=4;

break;

case4://南北向黄灯闪烁5次

DelayMS(300);

YELLOW_B=~YELLOW_B;GREEN_B=1;

if(++Flash_Count!=10)return;

Flash_Count=0;

Operation_Type=1;

}

电路图


关于LED模拟交通灯单片机C语言程序设计二

功能说明

利用51单片机控制LED灯来模拟交通灯,通过控制时钟来控制LED

c语言程序

#include《reg51.h》

#defineucharunsignedchar

#defineuintunsignedint

sbitledns_re=P1^0;

sbitledns_ge=P1^1;

sbitledns_ye=P1^2;

sbitledwe_re=P1^3;

sbitledwe_ge=P1^4;

sbitledwe_ye=P1^5;

voiddelay(ucharz)

{

ucharx,y;

for(x=z;x》0;x--)

for(y=110;y》0;y--);

}

voidmain()

{

uinti;

while(1)

{

ledns_re=0;

ledwe_ge=0;

ledns_ye=1;

ledwe_ye=1;

for(i=0;i《50;i++)

{

delay(1000);

}

ledns_ye=0;

ledwe_ye=0;

ledns_re=1;

ledwe_ge=1;

for(i=0;i《10;i++)

{

delay(1000);

}

ledns_ge=0;

ledwe_re=0;

ledns_ye=1;

ledwe_ye=1;

for(i=0;i《30;i++)

{

delay(1000);

}

ledns_ye=0;

ledwe_ye=0;

ledns_ge=1;

ledwe_re=1;

for(i=0;i《10;i++)

{

delay(1000);

}

}

}

}

//主程序

voidmain()

{

while(1)Traffic_Light();

}

电路图


关于LED模拟交通灯单片机C语言程序设计三

功能说明

上电或按键复位后能自动显示系统提示符“d.1004-16”,进入准备工作状态。按开始键则开始工作,按结束键则返回“P.”状态。要求甲车道和乙车道两条交叉道路上的车辆交替运行,甲车道为主车道,每次通车时间为60秒,乙车道为次车道,每次通车时间为30秒,要求黄灯亮3秒,并且1秒闪烁一次。有应急车辆出现时,红灯全亮,应急车辆通车时间10秒,同时禁止其他车辆通过。

c语言程序

C语言
C语言
C语言

C语言
C语言
C语言

电路图

 

pcb顶层图

 

pcb底层图

 

元件分布图

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分