c语言字母跑马灯,我是c语言初学者,写了这个跑马灯的程序那里错了,求大神;(转载)...

#include

#include

#define uchar unsigned char

#define uint unsigned int

sbit key1=P3^2;

sbit key2=P3^3;

void T0ISR(void) interrupt 1

{

uchar d;

for (d<=5)

d++;

EXO=0;

delay2();

d++;

EXO=1;

}

void T0ISR2(void) interrupt 1

{

uchar d;

for (d<=5)

d--;

EXO=0;

delay2();

d--;

EXO=1;

}

void delay(void)

{

uchar a,b;

for(a=0;a<200;a++)

for(b=0;b<200;b++);

}

void delay2(void)

{

int i ;

for(i=0;i<30000;i++);

}

void T0ISR2(void) interrupt 1

{

uchar d;

for (d<=5)

d--;

EXO=0;

delay2();

d--;

EXO=1;

}

void main()

{

IT0=1;

IT1=1;

EX0=1;

EX1=1;

EA=1;

while(1)

{

if (d=1) /从上往下

{

while(!key1)

delay2();

P0=0x02;

delay();

P0=0x03;

delay();

P2=0x80;

delay();

P2=0xc0;

delay();

P2=0xE0;

delay();

P2=0xf0;

delay();

P2=0xf8;

delay();

P2=0xfc;

delay();

P2=0xfe;

delay();

P2=0xff;

delay();

P0=0x01;

delay();

P0=0x00;

delay();

k=0xef;

for(j=0;j<8;j++);

{

P2=k; k=k>>1; d=1;

}

}

if (d=2) 从下//从下往上

{

while(!key1);

delay2();

k=0x01;

for(j=0;j<8;j++);

{

P2=k;

k=k>>1;

k=k|0x01;

}

delay();

P0=0x01;

delay();

P0=0x03;

delay();

k=0x01;

for(j=0;j<8;j++);

{

P2=k;

k=k>>1;

}

P0=0x02;

delay();

P0=0x00;

d=2;

}

if(d=3) // 从中间

{

while(!key1)

delay2();

P2=0x30;

delay();

P2=0x48;

delay();

P2=0x84;

delay();

P0=0x01;

P2=0x02;

delay();

P0=0x02;

P2=0x01;

d=3;

}

if (d=4) //从上往上 在从下往上

{

1

delay2();

P0=0x02;

delay();

P0=0x03;

delay();

P2=0x80;

delay();

P2=0xc0;

delay();

P2=0xE0;

delay();

P2=0xf0;

delay();

P2=0xf8;

delay();

P2=0xfc;

delay();

P2=0xfe;

delay();

P2=0xff;

delay();

P0=0x01;

delay();

P0=0x00;

delay();

k=0xef;

for(j=0;j<8;j++);

{

P2=k; k=k>>1; d=1;

}

k=0x01;

for(j=0;j<8;j++);

{

P2=k;

k=k>>1;

k=k|0x01;

}

delay();

P0=0x01;

delay();

P0=0x03;

delay();

k=0x01;

for(j=0;j<8;j++);

{

P2=k;

k=k>>1;

P0=0x02;

}

delay();

P0=0x00;

}

if(d=5)

{

P0=0x02;

P2=0xaa;

delay();

P0=0x01;

P2=0x55;

}

}

}

人打赏

0人 点赞

主帖获得的天涯分:0

举报 |

楼主

|

楼主发言:2次 发图:0张 | 添加到话题 |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值