能否写一个交通灯的c语言程序
时间: 2024-02-15 20:03:36 浏览: 24
当然可以,请见下面的C语言程序。这是一个简单的交通灯控制程序,通过控制不同灯的亮灭状态来实现交通灯的功能。
```
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
int i;
while(1)
{
printf("Green light is on\n");
Sleep(5000); //绿灯亮5秒钟
printf("Yellow light is on\n");
Sleep(2000); //黄灯亮2秒钟
printf("Red light is on\n");
Sleep(5000); //红灯亮5秒钟
}
return 0;
}
```
这个程序可以通过循环来实现不停地交替切换交通灯的状态。在循环中,先亮绿灯5秒钟,然后亮黄灯2秒钟,最后亮红灯5秒钟,然后再从头开始循环。
相关问题
用c语言写一个交通灯程序
好的,这是一个交通灯程序的示例:
```
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
while(1)
{
printf("红灯亮\n");
sleep(5);
printf("黄灯亮\n");
sleep(2);
printf("绿灯亮\n");
sleep(5);
}
return 0;
}
```
这是一个简单的交通灯模拟,每个灯的亮起时间分别为5秒和2秒。你可以根据需要修改亮起时间。
完整地用C语言写一个交通信号灯程序
下面是一个完整的交通信号灯程序,包含了不同状态下的信号灯控制和LED灯亮灭控制:
```
#include <stdio.h>
#include <wiringPi.h>
#define RED 0
#define YELLOW 1
#define GREEN 2
void setTrafficLight(int red, int yellow, int green)
{
digitalWrite(RED, red);
digitalWrite(YELLOW, yellow);
digitalWrite(GREEN, green);
}
int main()
{
// 初始化wiringPi库
wiringPiSetup();
// 设置GPIO引脚为输出模式
pinMode(RED, OUTPUT);
pinMode(YELLOW, OUTPUT);
pinMode(GREEN, OUTPUT);
// 初始化信号灯状态
int red = 1, yellow = 0, green = 0;
// 无限循环
while(1) {
// 红灯亮
setTrafficLight(1, 0, 0);
printf("Red light on\n");
delay(5000);
// 红灯黄灯同时亮
setTrafficLight(1, 1, 0);
printf("Red and yellow light on\n");
delay(2000);
// 绿灯亮
setTrafficLight(0, 0, 1);
printf("Green light on\n");
delay(5000);
// 绿灯黄灯同时亮
setTrafficLight(0, 1, 0);
printf("Green and yellow light on\n");
delay(2000);
}
return 0;
}
```
这个程序使用了wiringPi库来控制树莓派的GPIO引脚,需要在编译时链接wiringPi库,命令如下:
```
gcc -o traffic_light traffic_light.c -lwiringPi
```
程序执行时会不断循环交替显示红黄绿灯的状态。