編寫交通信號燈控制程序。要求如下:
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中即可實現交通燈調試