|
}
voiddelay(ucharz)
break;
sbitledwe_ge=P1^4;
voidTraffic_Light()
ledwe_re=1;
voidmain()
while(1)
#defineuintunsignedint
{
break,植髮;
Operation_Type=2;
if(++Flash_Count!=10)return;
ledns_re=0;
for(x=z;x》0;x--)
利用51單片機控制LED燈來模儗交通燈,通過控制時鍾來控制LED
ledwe_ge=0;
for(i=0;i《10;i++)
delay(1000);
switch(Operation_Type)
for(i=0;i《50;i++)
c語言程序
ucharx,y;
電路圖
case2://東西向黃燈閃爍,綠燈關閉
}
break;
{
DelayMS(2000);
case1://東西向綠燈與南北向紅燈亮
{
Operation_Type=3;
sbitledns_re=P1^0;
ledns_ge=1;
voidDelayMS(uintx)
電路圖
}
{
#include《reg51.h》
關於LED模儗交通燈單片機C語言程序設計一 功能說明
sbitYELLOW_A=P0^1;
voidmain()
}
RED_B=0;YELLOW_B=1;GREEN_B=1;
while(1)Traffic_Light();
RED_A=1;YELLOW_A=1;GREEN_A=0;
pcb底層圖
關於LED模儗交通燈單片機C語言程序設計二 功能說明
sbitGREEN_B=P0^5;
delay(1000);
{
關於LED模儗交通燈單片機C語言程序設計三 功能說明
ledns_re=1;
uchari;
ledwe_ye=1;
ledns_ye=0;
Flash_Count=0;
uinti;
ledns_ye=1;
本文為大傢帶來三個關於LED模儗交通燈單片機C語言程序設計。
ledwe_ye=0;
sbitRED_B=P0^3;//南北向燈
#defineucharunsignedchar
DelayMS(300);
for(i=0;i《10;i++)
sbitledwe_ye=P1^5;
RED_A=0;YELLOW_A=1;GREEN_A=1;
}
}
上電或按鍵復位後能自動顯示係統提示符“d.1004-16”,進入准備工作狀態。按開始鍵則開始工作,按結束鍵則返回“P.”狀態,植牙。要求甲車道和乙車道兩條交叉道路上的車輛交替運行,甲車道為主車道,每次通車時間為60秒,乙車道為次車道,每次通車時間為30秒,要求黃燈亮3秒,並且1秒閃爍一次。有應急車輛出現時,紅燈全亮,應急車輛通車時間10秒,同時禁止其他車輛通過,空壓機。
元件分佈圖
}
Operation_Type=4;
c語言程序
//交通燈切換
case4://南北向黃燈閃爍5次
c語言程序
#defineucharunsignedchar
}
YELLOW_A=~YELLOW_A;GREEN_A=1;
{
{
sbitledns_ye=P1^2;
{
Operation_Type=1;
sbitGREEN_A=P0^2;
//延時
{
Flash_Count=0;
while(x--)for(i=0;i《120;i++);
{
ledns_ye=1;
#defineuintunsignedint
sbitledns_ge=P1^1;
sbitRED_A=P0^0;//東西向燈
RED_B=1;YELLOW_B=1;GREEN_B=0;
ledwe_ge=1;
{
#include
ledns_ge=0;
for(i=0;i《30;i++)
電路圖
sbitledwe_re=P1^3;
sbitYELLOW_B=P0^4;
東西向綠燈亮若乾秒,黃燈閃爍5次後紅燈亮,紅燈亮後,南北向由紅燈變為綠燈,若乾秒後南北向黃燈閃爍5此後變紅燈,東西向變綠燈,如此重復。
ucharFlash_Count=0,Operation_Type=1;//閃爍次數,操作類型變量
}
delay(1000);
if(++Flash_Count!=10)return;//閃爍5次
ledns_ye=0;
ledwe_ye=0;
//主程序
for(y=110;y》0;y--);
DelayMS(300);
ledwe_ye=1;
pcb頂層圖
delay(1000);
}
case3://東西向紅燈,南北向綠燈亮
DelayMS(2000);
YELLOW_B=~YELLOW_B;GREEN_B=1;
}
ledwe_re=0; |
|