用Protues软件实现AT89C51单片机控制的跑马灯的仿真,8个LED实现左移和右移。(用定时)

如题所述

/*单片机,用定时中断实现每隔0.2秒让接在P1口的8个小灯从左往右循环点亮。*/
#include<reg52.h>
#include <intrins.h>
#define uchar unsigned char
uchar a,b;
uchar b=1;
uchar a=0xfe;
void main()
{
EA=1;IT1=1;ET0=1;
TH0=-5000/256;
TL0=-5000%256;
TMOD=0x01;

TR0=1;
while(1)
{;}

}

void timer0(void) interrupt 1 using 1
{
TH0=-5000/256;
TL0=-5000%256;
b=b+1;

if(b==40)
{
b=0;
P1=a;
a=_crol_(a,1);
P1=a;
}
}

参考资料:原创

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-07-13
首先Protues是仿真软件。另外不知道你定时时间是多少,用哪个口跑灯,到底是左移还是右移,还是先左后右。你稍微说明白点。
相似回答