📄 main.c
字号:
/*交通信号灯控制系统
主道要求绿灯点亮48秒,黄灯点亮4秒并闪烁,红灯点亮24秒
侧道要求绿灯点亮24秒,黄灯点亮4秒并闪烁,红灯点亮48秒*/
#include<reg51.h>
unsigned char table[]={
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48
};
void delay();
void de(unsigned char p);
void shine1();
void shine2();
void main()
{ while(1)
{P1=0x0c;
de(48);
shine1();
P1=0x21;
de(24);
shine2();
}
}
void de(unsigned char p)
{unsigned int n;
for (n=p;n>=0;n--)
{P2=table[n];
delay();
if (P2==0)
break;
}
}
void delay()
{ unsigned int i,j;
for(i=100;i>0;i--)
{ for(j=250;j>0;j--);
}
}
void shine1()
{ unsigned int n,t=0;
for (n=4;n>=0;n--)
{P2=table[n];
if((t%2)==0) P1=0x0a;
if((t%2)==1) P1=0x08;
delay();
t++;
if (P2==0)
break;
}
}
void shine2()
{
unsigned int n,t=0;
for (n=4;n>=0;n--)
{P2=table[n];
if((t%2)==0) P1=0x11;
if((t%2)==1) P1=0x01;
delay();
t++;
if (P2==0)
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -