这个程序应该可以
#include
#define uchar unsigned char
#define uint unsigned int
unsigned a=0,counter=0;
unsigned char SEG1[ ] = {0x05,0x50,0x0a,0xa0};//设定LED亮的方式(可能我计算的值有错,错的话你再自己改咯)
sbit P10 = P1^0;
void Timer0Init(void) interrupt 3 //定时器1
{
counter++;
if(counter==2000) //定时器定时250us,故2000次中断就表示0.5秒钟到达
{
a++;
if(a==4) a=0;
counter=0;
}
}
void init() /设初值,开启定时器1
{
TMOD = 0x20;
EA=1;
TH1=6;
TL1=6;
TR1=1;
ET1=1;
}
void disp()
{
if (P10==0) P2 = SEG1 [a]; ///判断信号,开启LED
}
void main()
{
init();
while(1)
{
disp();
}
}
#include
void main()
{
int P1.0,D1,D2,D3,D4,D5,D6,D7,D8;
if(P1.0)
{
D1;D3;
Sleep(500);
D5;D7;
Sleep(500);
D2;D4;
Sleep(500);
D6;D8;
}
}
大概是这样的思路吧,具体自己优化一下
不知道