话不多说 先来图片
想要文件说明来意
新版本更新如下
1:倒计时从60s开始
2:实现了四个方向
3:更加整洁 清楚
待学习:
1:计时器中断
2:其他硬件的使用(如矩阵键盘,液晶显示)
3:理解晶振、复位RET、XTAL、PSEN、ALE、EA
4: P3口特殊功能引脚
#include<reg51.h>
sbit red=P2^0;
sbit red1=P2^1;
sbit gre=P2^2;
sbit gre1=P2^3;
sbit y=P2^4;
unsigned char num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void dalay(int n){
int i=0; int j=0;
for(i=0;i<n;i++)
for(j=0;j<120;j++);
}
unsigned int time=0;
void lgrehigh(){
int i=0;
//red=0; Red=1;gre1=1;gre1=0;y=1;
for(i=60;i>=0;i--){
P0=num[i/10];
P1=num[i%10];
dalay(1000);
}
}
void yhigh(){
int i=0;
for(i=3;i>=0;i--){
P0=num[i/10];
P1=num[i%10];
y=0;
dalay(500);
y=1;
dalay(500);
}
}
void lrehigh(){
int i=0;
//red=0; Red=1;gre=1;Gre=0;y=1;
for(i=60;i>=0;i--){
P0=num[i/10];
P1=num[i%10];
dalay(1000);
}
}
void loop_main(){
red=0; red1=1;gre=1;gre1=0;y=1;//init
P1=num[0];P0=num[0]; dalay(2000);
while(1){
//continue;
lgrehigh();gre1=1;red=1;y=0; dalay(1000);
yhigh();y=1; gre=0;red1=0; dalay(1000);
lrehigh();gre=1; red1=1; gre1=0;red=0; dalay(1000);
}
}
void main(){
loop_main();
}