马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
循环显示A B C D
#define ul unsigned long
uchar code table[]=
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0
0x80,0xe0,0x9c,0x13,0x9c,0xe0,0x80,0x00, //A
0x00,0x81,0xff,0x89,0x89,0x89,0x76,0x00, //B
0x00,0x3c,0x42,0x81,0x81,0x81,0x67,0x00, //C
0x00,0x81,0xff,0x81,0x81,0x42,0x3c,0x00, //D
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0
};
uchar i,temp,num,j; //定义变量
//****************************************************
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
//****************************************************
void init()
{
TMOD=0x01;//方式1,16位模式,不会自动清零。
TH0=(65536-50000)/256; //60
TL0=(65536-50000)%256; //0
TR0=1; //开启计数器/定时器
EA=1; //中断总开关
ET0=1; //打开 T0 中断
num=0;
j=0;
}
void main(void)
{
init();
while(1)
{
P2=0;
temp=0xfe; //1111 1110
for(i=0;i<8;i++)
{
P3=temp;
P2=table[i+j];
delay(3);
temp=0x1|(temp<<1);
}
}
}
void timer0() interrupt 1
{
num++;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(num==10)
{
num=0;
j++;
if(j==40)
j=0;
}
} |