编写交通信号灯控制程序。要求如下:
1.能够正常的南北东西走向红绿灯控制
2.红绿灯切换的时候,黄灯红灯要闪烁
3.使用插入代码功能,代码格式一定要符合C语言标准格式
首先我们打开keil_proteus中调试交通信号灯的电路图




根据题目要求我们知道这9个灯的闪烁要满足
能够正常的南北东西走向红绿灯控制
红绿灯切换的时候,黄灯红灯要闪烁
所以现在我们打开Keil uVision4开始编撰代码,编好的代码如下

#include <reg52.h>
#include "delay.h"
sbit W_E_R=P0^0;
sbit W_E_Y=P0^1;
sbit W_E_G=P0^2;
sbit N_S_R=P0^3;
sbit N_S_Y=P0^4;
sbit N_S_G=P0^5;
void main()
{
//四个路口红灯亮
W_E_R = 0;
N_S_R = 0;
delay1s();
//交通灯正常工作循环
while(1)
{
//东西红灯亮,南北绿灯亮,10s延迟
W_E_R = 0;
N_S_R = 1;
N_S_G = 0;
delay10s();
//东西红灯闪,南北黄灯闪,3s延迟
W_E_R = 0;
N_S_Y = 0;
N_S_G = 1;
delay1s();
W_E_R = 1;
N_S_Y = 1;
delay1s();
W_E_R = 0;
N_S_Y = 0;
N_S_G = 1;
delay1s();
W_E_R = 1;
N_S_Y = 1;
delay1s();
W_E_R = 0;
N_S_Y = 0;
N_S_G = 1;
delay1s();
W_E_R = 1;
N_S_Y = 1;
delay1s();
//东西绿灯亮,南北红灯亮,10s延迟
W_E_G=0;
N_S_R=1;
N_S_R=0;
delay10s();
//东西黄灯闪,南北红灯闪,3s延迟
}
}
最后将代码输入到proteus中即可实现交通灯调试

