本来是想让led每动一次 数码管就右移显示一个数字的 但是怎么改 都是只有数码管在动 或者只有led灯在动 不知道什么原因
#include"stc15.h"
#include"intrins.h"
#define uchar unsigned char
#define uint unsigned int
#define LED P0
uchar code duanxuan[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
uchar code weixuan[9]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0xff};
sbit BUZZ=P0^6;
uchar aa;
void Delay500ms() //@11.0592MHz
{
unsigned char i, j, k;
_nop_();
_nop_();
i = 22;
j = 3;
k = 227;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main()
{
AUXR |= 0x80;
TMOD &= 0xF0;
TL0 = 0xCD;
TH0 = 0xD4;
TF0 = 0;
EA=1;
ET0=1;
TR0 = 1;
P2=((P2&0x1f)|0xa0);
BUZZ=0;
P2&=0x1f;
P2=((P2&0x1f)|0x80);
LED=0xfe;
Delay500ms();
while(1)
{
for(aa=0;aa<8;aa++)
{
LED=_crol_(LED,1);
Delay500ms();
}
}
}
void timer0() interrupt 1
{
TL0 = 0xCD;
TH0 = 0xD4;
P2=((P2&0x1f)|0xc0);
P0=weixuan[aa];
P2=0x1f;
P2=((P2&0x1f)|0xe0);
P0=duanxuan[aa+1];
P2=0x1f;
}
|