交通灯仿真C语言程序~求给力的朋友帮忙给下面这段程序加下注释~

[复制链接]
查看11 | 回复0 | 2011-5-17 04:46:48 | 显示全部楼层 |阅读模式
附录程序代码
#include\"reg52.h\"
#defineucharunsignedchar
#defineuintunsignedint

sbitkey1=P1^0;
uchartt=0,EW_LED=20,SN_LED=25,EW_T=0,SN_T=0,T,kk,SN_G_F=0,SN_Y_F=0,EW_G_F=0,EW_Y_F=0;
ucharSN_G_L,EW_G_L,SN_Y_L,EW_Y_L;
uchars_tt=0,s_T=0,s_kk,s_LED=15;
voidFlash_EW_G()
{
if(tt/5%2)
P0=P0
elseP0=P0
}

voidFlash_EW_Y()
{
if(tt/5%2)
P0=P0
elseP0=P0
}

voidFlash_SN_G()
{
if(tt/5%2)
P0=P0
elseP0=P0
}

voidFlash_SN_Y()
{
if(tt/5%2)
P0=P0
elseP0=P0
}

voidmain()
{
EA=1;
ET0=1;
ET1=1;
TH0=0X3C;
TL0=0XB0;
TH0=0X3C;
TL0=0XB0;
TMOD=0X11;
TR0=1;
while(1)
{
P0=0x14;
T=0;
tt=0;
kk=0;
SN_LED=26;
EW_LED=21;
P2=0x00;
P3=0x00;
EW_G_L=1;
EW_Y_L=1;
while(T!=26)//南北红灯,东西绿灯
{
if(kk!=T)
{
kk=T;
SN_LED--;
P2=SN_LED/10*16SN_LED;
EW_LED--;
P3=EW_LED/10*16EW_LED;
if(!(EW_LED)
EW_LED=2;
EW_G_F=1;
EW_G_L=0;
EW_Y_L=1;
}
if(!(EW_LED)
EW_Y_F=1;
EW_Y_L=0;
EW_G_F=0;
}
}
if(EW_G_F)
Flash_EW_G();
if(EW_Y_F)
Flash_EW_Y();
if(!key1)//省略按键识别
{
TR0=0;
TR1=1;
P0=0x41;
s_LED=15;
s_kk=100;
s_T=0;
s_tt=0;
while(s_T!=15)
{
if(s_kk!=s_T)
{
s_kk=s_T;
P2=s_LED/10*16s_LED;
P3=s_LED/10*16s_LED;
s_LED--;
}
}
P0=0x14;
P2=0x00;
P3=0x00;
TR1=0;
TR0=1;
}
}
T=0;
tt=0;
kk=0;
SN_G_L=1;
SN_Y_L=1;
SN_LED=21;
EW_LED=26;
P2=0x00;
P3=0x00;
P0=0x41;
while(T!=26)//东西红灯,南北绿灯
{
if(kk!=T)
{
kk=T;
SN_LED--;
P2=SN_LED/10*16SN_LED;
EW_LED--;
P3=EW_LED/10*16EW_LED;
if(!(SN_LED)
SN_G_F=1;
SN_G_L=0;
SN_Y_L=1;
EW_Y_F=0;
}
if(!(SN_LED)
SN_Y_F=1;
SN_Y_L=0;
SN_G_F=0;
}
}
if(SN_G_F)
Flash_SN_G();
if(SN_Y_F)
Flash_SN_Y();
if(!key1)//省略按键识别
{
TR0=0;
TR1=1;
P0=0x14;
s_LED=15;
s_kk=100;
s_T=0;
s_tt=0;
while(s_T!=15)
{
if(s_kk!=s_T)
{
s_kk=s_T;
P2=s_LED/10*16s_LED;
P3=s_LED/10*16s_LED;
s_LED--;
}
}
P0=0x41;
P2=0x00;
P3=0x00;
TR1=0;
TR0=1;
}
}
}
}

voidtimer0()interrupt1
{
TH0=0X3C;
TL0=0XB0;
tt;
if(tt==20)
{
tt=0;
T;
}
}

voidtimer1()interrupt3
{
TH1=0X3C;
TL1=0XB0;
s_tt;
if(s_tt==20)
{
s_tt=0;
s_T;
}

}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行