📄 manwalk.c
字号:
RLED_C=0; //上电工作时红灯虽然亮,但倒计时显示的时间应为左转绿灯。 by jansion
//Clrdog(); //watchdog函数;by jansion
/*while(CHKG1) //ChekG2()8/26
{
Display(0xff); // Display(0xff);
}
if(!CHKG1)//&&ChekG2()) //明天来是是用ChekG1()和CHEKG2()函数试试。或者改未 if(CHKG1){if(CHKG2(){} }
{ //msec(2);
// Display(0xff);
if(CHKG2)
{TFflag = 0;}
// else
// {
// Display(0xff);
// TFflag = 1;
// }
}*/
while(CHKG1)
{
Display(0xff);
RLED_C=1;
Clrdog();//edit by jansion9/14
}
if(!CHKG1)
{
Display(0xff);
if(!CHKG1)
{
TFflag = 0;
}
}
for(;;)
{
// Clrdog();//edit by jansion914
if(TFflag==1)
{
Clrdog();
MakeOutTimesf();
if(Flash_flg)//每秒刷屏 实现每秒刷新if(!(SysT0OverTimes % 10)){DecSecond=1;by jansion
{
if(RR&&!(GG2)) //此处if 语段为显示红灯倒计时时间by jansion原来为if(RR&&(!(GG2)))RR&&(!(GG2))&&R2Times
{ //更改中加上了初始态中的判断直行红灯->左转绿灯.byjansion/7/6
// RTS=0;
RLED_C=1; //进一步更改,使黄灯-->(红灯)-->左转绿灯,倒计时显示。7/10
if(!ROT) // RLED_C=0,关红灯,否则开红灯。RlED=1时关延时;
{ if(R2Times>10)//原语句if(RTimes)by jansion 7/10日 RTimes&&ROT
{// ROT=1;
if(DecSecond)
{
if(R2Times>9)
{
R2Times -=10;
TempS = (uchar)(R2Times/10);
Display(TempS);
}
else
{
Display(0xff);
R2Times=0;
}
DecSecond = 0;
}
else
{
if(R2Times<5)
{
Display(0xff);
}
else
Display((uchar)(R2Times/10));
}
}
else
{
Display(0xff);//'-'
}
}
else if(ROT)//原语句ifRR&&(!(GG2))&&(!R2Times))byjansion 7/10日 RR&&(!(GG2))
{
RLED_C=1; //左转绿灯显示完,开红灯控制信号。
if(RTimes)//原语句if(RTimes)by jansion 7/10日 RTimes&&ROT
{
if(DecSecond)
{
if(RTimes>9)
{
RTimes -=10;
TempS = (uchar)(RTimes/10);
Display(TempS);
}
else
{
Display(0xff);
RTimes=0;
}
DecSecond = 0;
}
else
{
if(RTimes<5)
{
Display(0xff);
}
else
Display((uchar)(RTimes/10));
}
}
else
{
Display(0xff);//'-'
}
}
else
{
Display(0xff);//'-'
}
}
// else if(CG())
// else if(!CHKG)
//for(del=(R2Times);0<del;del--){;} //原语句for(del=(R2Times+15);0<del;del--){;}byjansion 7/7日
//若RLED_C=1则不执行for延时,且复位R2Times;
else if(GG2) //此处if 语段为显示左转绿灯G2倒计时时间 by jansion (原来if(RR&&GG2))
// else if(CHKR&&CHKY)
// else if(!(ChekR()||ChekY()))
{
ROT=1;
// R2Times=0;
RLED_C=0;
if(G2Times)
{
if(DecSecond)
{
if(G2Times>9)
{
G2Times -=10;
TempS = (uchar)(G2Times/10);
Display(TempS);
}
else
{
Display(0xff);
G2Times=0;
}
DecSecond = 0;
}
else
{
if(G2Times<5) //??此处中GTimes=?ms,是否应该改为GTimes/10
{
Display(0xff);
}
else
Display((uchar)(G2Times/10));
}
}
else
{
Display(0xff);//'-'
}
}
else if(GG1) //此处if 语段为显示直行绿灯G1倒计时时间。by jansion
// else if(CHKR&&CHKY)
// else if(!(ChekR()||ChekY()))
{// ROT=0;
// RTS=0;
RLED_C=0;
if(G1Times)
{
if(DecSecond)
{
if(G1Times>9)
{
G1Times -=10;
TempS = (uchar)(G1Times/10);
Display(TempS);
}
else
{
Display(0xff);
G1Times=0;
}
DecSecond = 0;
}
else
{
if(G1Times<5)
{
Display(0xff);
}
else
Display((uchar)(G1Times/10));
}
}
else
{
Display(0xff);//'-'
}
}
else if(YY) //此处if 语段为显示黄灯倒计时时间。by jansion
{ ROT=0;
RTS=1;
// ROT=0; //进一步更改,使黄灯-->(红灯)-->左转绿灯,倒计时显示。7/10
// ROT=1; //若ROT=0,则关红灯,ROT=1开红灯。
RLED_C=0;
// YR2Times=YTimes+R2Times;
if(YTimes)
{
if(DecSecond)
{
if(YTimes>9) //??此处中YTimes=?ms,是否应该改为YTimes/10
{ //YR2Times=YTimes+R2Times;
YTimes-=10;
TempS = (uchar)(YTimes/10);
Display(TempS);
}
else
{
Display(0xff);
YTimes=0;
}
DecSecond = 0;
}
else
{
if(YTimes<5) //??此处中YTimes=?ms,是否应该改为YTimes/10
{
Display(0xff);
}
else
Display((uchar)((YTimes)/10));
}
}
else
{
Display(0xff);//'-'
}
}
}
Flash_flg = 0;
//flagF();
}
else
{
Clrdog();
MakeOutTimest();
if(Flash_flg)//每秒刷屏 实现每秒刷新if(!(SysT0OverTimes % 10)){DecSecond=1;by jansion
{ //msec(1);
if(RR)//&&!(GG2)) //此处if 语段为显示红灯倒计时时间by jansion原来为if(RR&&(!(GG2)))RR&&(!(GG2))&&R2Times
{ //更改中加上了初始态中的判断直行红灯->左转绿灯.byjansion/7/6
// RLED_C=1; //进一步更改,使黄灯-->(红灯)-->左转绿灯,倒计时显示。7/10
RLED_C=1; //左转绿灯显示完,开红灯控制信号。
if(RTimes)//原语句if(RTimes)by jansion 7/10日 RTimes&&ROT
{
if(DecSecond)
{
if(RTimes>9)
{
RTimes -=10;
TempS = (uchar)(RTimes/10);
rdrr = (uchar)(RTimes%10);
if(rdrr>5)
{Display(TempS+1);}
else{Display(TempS);}
}
else
{
Display(0xff);
RTimes=0;
}
DecSecond = 0;
}
else
{
if(RTimes<5)
{
Display(0xff);
}
else
Display((uchar)(RTimes/10));
}
}
else
{
Display(0xff);//'-'
}
}
else if(GG1) //此处if 语段为显示直行绿灯G1倒计时时间。by jansion
{
RLED_C=0;
if(G1Times)
{
if(DecSecond)
{
if(G1Times>9)
{
G1Times -=10;
TempS = (uchar)(G1Times/10);
rdrg = (uchar)(RTimes%10);
if(rdrg>5)
{Display(TempS+1);}
else{Display(TempS);}
}
else
{
Display(0xff);
G1Times=0;
}
DecSecond = 0;
}
else
{
if(G1Times<5)
{
Display(0xff);
}
else
Display((uchar)(G1Times/10));
}
}
else
{
Display(0xff);//'-'
}
}
else if(YY) //此处if 语段为显示黄灯倒计时时间。by jansion
{ RLED_C=0;
if(YTimes)
{
if(DecSecond)
{
if(YTimes>9) //??此处中YTimes=?ms,是否应该改为YTimes/10
{ //YR2Times=YTimes+R2Times;
YTimes-=10;
TempS = (uchar)(YTimes/10);
Display(TempS);
}
else
{
Display(0xff);
YTimes=0;
}
DecSecond = 0;
}
else
{
if(YTimes<5) //??此处中YTimes=?ms,是否应该改为YTimes/10
{
Display(0xff);
}
else
Display((uchar)((YTimes)/10));
}
}
else
{
Display(0xff);//'-'
}
}
}
Flash_flg = 0;
//flagS();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -