Red de conocimiento informático - Material del sitio web - Basado en un microcontrolador (depuración de Keil), ayuda a diseñar un programa en lenguaje C para el control de semáforos. Gracias. . (Las instrucciones de montaje son demasiado problemáticas)

Basado en un microcontrolador (depuración de Keil), ayuda a diseñar un programa en lenguaje C para el control de semáforos. Gracias. . (Las instrucciones de montaje son demasiado problemáticas)

#include?lt;reg51.hgt;

#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,?Operation_Type=1;

void?DelayMS(uint?x)

{ uchar?i; ?for?(i=0;ilt;120;i);

}

void?Traffic_Light()

{ cambiar?(Operation_Type) { caso ?1:

RED_A=1; YELLOW_A=1;

RED_B=1; 2000);

Operation_Type=2;

interrupción; caso?2:

DelayMS(300);

YELLOW_A=!YELLOW_A ;GREEN_A=1;

if( Flash_Count!=10)?return;

Flash_Count=0;

Operation_Type=3;

romper; caso?3:

RED_A=0; GREEN_A=1;

RED_B=1; p>DelayMS(2000);

Operation_Type=4;

interrupción; caso?4:

DelayMS(300);

YELLOW_B=!YELLOW_B;GREEN_B=1;

if( Flash_Count!=10)?return;

Flash_Count=0;

Operation_Type=1;

p>

romper; }

}

void?main()

{ while(1)?Traffic_Light();

}

Consulte la ilustración del diagrama del circuito.