📄 3.c
字号:
#include"reg51.h"
int i;
int j;
int k;
int n;
int m;
unsigned char bool;
sbit red1=P1^0;
sbit green1=P1^1;
sbit yellow1=P1^2;
sbit red2=P1^5;
sbit green2=P1^6;
sbit yellow2=P1^7;
sbit w1=P2^7;
sbit w2=P2^6;
sbit w3=P2^5;
sbit w4=P2^4;
void delay(void);
void delay2(void);
void init(void);
void display(int i);
unsigned char code table[]={
0xC0,/*0*/
0xF9,/*1*/
0xA4,/*2*/
0xB0,/*3*/
0x99,/*4*/
0x92,/*5*/
0x82,/*6*/
0xF8,/*7*/
0x80,/*8*/
0x90,/*9*/};
void main(void){
init();
while(1){
for(j=0;j<1000;j++)
display(i);
i--;
if(i<=0&&bool==1){
i=60;
bool=0;
yellow2=1;
}
if(i<=0&&bool==0)
{
i=45;
bool=1;
yellow1=1;
}
if(i<5&&bool==0){
yellow1=0;
green1=1;}
if(i<5&&bool==1){
yellow2=0;
green2=1;}
if(i>5&&bool==0){//主干通行
green1=0;
red1=1;
//yellow1=1;
green2=1;
red2=0;
// yellow2=1;
}
if(i>5&&bool==1){//次干道通行
green1=1;
red1=0;
green2=0;
red2=1;
// yellow2=1;
}
}
}
void init(void){
int i=60;
P0=0x00;
P1=0xFF;
bool=1;
}
void display(int i){
n=i%10;
m=i/10;
P0=table[n];
w1=0;
w3=0;
delay2();
w1=1;
w3=1;
P0=table[m];
w2=0;
w4=0;
delay2();
w2=1;
w4=1;
}
void delay(void){
for(k=0;k<6000;k++)
for(j=0;j<10;j++)
;
}
void delay2(void)
{
for(k=0;k<50;k++)
;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -