我的绿灯不会闪烁,求大神求救
#include<AT89X52.H> sbit NSG=P1^0; sbit NSY=P1^1; sbit NSR=P1^2; sbit WEG=P1^3; sbit WEY=P1^4; sbit WER=P1^5;
void Delay(z) { unsigned char i; TMOD=0X10; for(i=0;i<z;i++) { TH1=0X3C; TL1=0XB0; TR1=1; while(!TF1); TF1=0; } }
void main() { unsigned char i,t,j,k; while(1) { //南北红灯30S for(j=30,k=25;j>0;j--) { k--; if(k==0) { k=3; //绿灯闪烁 if(j>=4&&j<=6) { NSR=0; WEG=0; Delay(10); WEG=1; Delay(10); } //黄灯亮,红灯横闪烁 else if(j>=1&&j<=3) { WEG=1; WEY=0; NSR=0; Delay(10); NSR=1; Delay(10); } } else { NSR=0; WER=1; NSG=1; WEG=0; NSY=1; WEY=1; Delay(20); } } //东西红灯40S for(i=40,t=35;i>0;i--) { t--; if(t==0) { t=3; //绿灯闪烁 if(i>=4&&i<=6) { WER=0; NSG=0; Delay(10); NSG=1; Delay(10); } //黄灯亮,红灯闪烁 else if(i>=1&&i<=3) { NSG=1; NSY=0; WER=0; Delay(10); WER=1; Delay(10); } } else { WER=0; NSR=1; WEG=1; NSG=0; WEY=1; NSY=1; Delay(20); } }
} }
|