標(biāo)題: LED模擬交通燈運行代碼 [打印本頁]

作者: sui、    時間: 2020-10-31 17:13
標(biāo)題: LED模擬交通燈運行代碼
//-----------------------------------------------------------------
// 名稱: LED模擬交通燈
//-----------------------------------------------------------------
// 說明: 東西向綠燈亮若干秒后,黃燈閃爍,閃爍5次后亮紅燈,
//  紅燈亮后,南北向由紅燈變?yōu)榫G燈,若干秒后南北向黃燈閃爍,
//  閃爍5次后亮紅燈,東西向綠燈亮,如此往復(fù).
//  本例將時間設(shè)得較短是為了調(diào)試的時候能較快的觀察到運行效果.
//
//-----------------------------------------------------------------
#include <reg51.h>
#define INT8U unsigned char
#define INT16U 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;
//閃爍次數(shù)及操作類型變量定義
INT8U Flash_Count = 0, Operation_Type = 1;
//-----------------------------------------------------------------
// 延時函數(shù)
//-----------------------------------------------------------------
void delay_ms(INT16U x)
{
INT8U t; while(x--) for(t = 0; t < 120; t++);
}
//-----------------------------------------------------------------
// 交通燈切換子程序
//-----------------------------------------------------------------
void Traffic_Light()
{
switch (Operation_Type)
{
  case 1://東西向綠燈與南北向紅燈亮
   RED_A = 1; YELLOW_A = 1; GREEN_A = 0;
    RED_B = 0; YELLOW_B = 1; GREEN_B = 1;
   delay_ms(5000);      //??5?
   Operation_Type = 2; //??case2
   break;

  case 2://東西向黃燈開始閃爍,綠燈關(guān)閉
   delay_ms(1000);
   YELLOW_A = ~YELLOW_A; GREEN_A = 1;
   if(++Flash_Count != 6) return;
   Flash_Count = 0;
   Operation_Type = 3;
   break;

  case 3://東西向紅燈與南北向綠燈亮
   RED_A = 0; YELLOW_A = 1; GREEN_A = 1;
    RED_B = 1; YELLOW_B = 1; GREEN_B = 0;
   delay_ms(5000);      //??5?
   Operation_Type = 4; //??case2
   break;

  case 4://南北向黃燈開始閃爍
   delay_ms(1000);
   YELLOW_B = ~YELLOW_B; GREEN_B = 1;
   if(++Flash_Count != 6) return;
   Flash_Count = 0;
   Operation_Type = 1;
   break;

  }
}
//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
void main()
{
while(1)
Traffic_Light();
}




04 LED模擬交通燈.rar

48.99 KB, 下載次數(shù): 4, 下載積分: 黑幣 -5






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1