用C语言写51单片机交通三叉路口信号灯程序
时间: 2023-09-23 18:09:20 浏览: 43
很高兴回答您的问题!以下是一个简单的51单片机交通三叉路口信号灯程序的C语言代码:
#include <reg51.h>
#define RED 0
#define YELLOW 1
#define GREEN 2
sbit r1 = P0 ^ 0;
sbit y1 = P0 ^ 1;
sbit g1 = P0 ^ 2;
sbit r2 = P0 ^ 3;
sbit y2 = P0 ^ 4;
sbit g2 = P0 ^ 5;
sbit r3 = P0 ^ 6;
sbit y3 = P0 ^ 7;
sbit g3 = P2 ^ 0;
void delay(unsigned int t) {
unsigned int i, j;
for (i = 0; i < t; i++) {
for (j = 0; j < 125; j++);
}
}
void set_light(int r, int y, int g) {
r1 = r;
y1 = y;
g1 = g;
r2 = r;
y2 = y;
g2 = g;
r3 = r;
y3 = y;
g3 = g;
}
void main() {
while (1) {
set_light(GREEN, RED, RED);
delay(5000);
set_light(YELLOW, RED, RED);
delay(2000);
set_light(RED, RED, GREEN);
delay(5000);
set_light(RED, YELLOW, RED);
delay(2000);
set_light(RED, RED, YELLOW);
delay(2000);
}
}
希望能够帮助到您!