求STC89C52的单片机跑马灯C语言程序

2024-12-25 21:25:27
推荐回答(5个)
回答1:

int runlinght()
{int i,j;
j=1;
for(i=0;i<8;i++)
{P[i]=(j<timedelay();
};
时间的问题,这里你只要在延时函数里解决就OK了,你在主函数里面计算调用点灯函数的次数,再用这个标志去改变延时函数的参数。

回答2:

#include
#define uint unsigned int
void delay(int m);

void main()
{
uint temp=0xfe;
uint k,i,count;
P2=temp;
while(1)
{
while(k<8)
{
switch(count)
{case 0:
case 1:delay(50);break;
case 2:
case 3:delay(25);break;
case 4:
case 5:delay(100);break;
}
if(temp==0xff) temp<<=1;
else temp=(temp<<1)+1;
P2=temp;
k++;
}
count++;
if(count>5) count=0;
}
}
void delay(int m) //要想得到精确的延时,改成用定时器
{
for(i=0;i for(j=0;j<110;j++);

回答3:

#define uint unsigned int
#define uchar unsigned int
void fun(uint sec)
{
uchar i,j;
j=1;
for(i=0;i<8;i++)
{P[i]=(j<timedelay(sec);//根据输入的形参来决定延时的长久
};

回答4:

int
runlinght()
{int
i,j;
j=1;
for(i=0;i<8;i++)
{P[i]=(j<//假设输出高点亮
timedelay();
};
时间的问题,这里你只要在延时函数里解决就OK了,你在主函数里面计算调用点灯函数的次数,再用这个标志去改变延时函数的参数。

回答5:

#define
uint
unsigned
int
#define
uchar
unsigned
int
void
fun(uint
sec)
{
uchar
i,j;
j=1;
for(i=0;i<8;i++)
{P[i]=(j<//假设输出高点亮
timedelay(sec);//根据输入的形参来决定延时的长久
};