C语言:开机时所有跑马灯全灭,然后跑马灯先循环左移1圈后循环右移一圈,时间间隔1S,此过程一直重复下去
开机时所有跑马灯全灭,然后跑马灯先循环左移1圈后循环右移一圈,时间间隔1S,此过程一直重复下去,KEIL中的C或者汇编都成,在线等啊,最好说明那个时间到底是怎么计算的。2...
开机时所有跑马灯全灭,然后跑马灯先循环左移1圈后循环右移一圈,时间间隔1S,此过程一直重复下去,KEIL中的C或者汇编都成,在线等啊,最好说明那个时间到底是怎么计算的。
2楼的没有赋值或者什么其他问题。上传张图片 - - 展开
2楼的没有赋值或者什么其他问题。上传张图片 - - 展开
2个回答
展开全部
/* 大概这个样子,不知道你的板子怎么连的!最好发个图片,延时不准,自己改一下*/
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//延时
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
//主程序
void main()
{
uchar i;
P1=0x01;
while(1)
{
for(i=0;i<7;i++)
{
P1=_crol_(P1,1); //P1的值向左循环移动
DelayMS(150);
}
for(i=0;i<7;i++)
{
P1=_cror_(P1,1); //P1的值向右循环移动
DelayMS(150);
}
}
}
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//延时
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
//主程序
void main()
{
uchar i;
P1=0x01;
while(1)
{
for(i=0;i<7;i++)
{
P1=_crol_(P1,1); //P1的值向左循环移动
DelayMS(150);
}
for(i=0;i<7;i++)
{
P1=_cror_(P1,1); //P1的值向右循环移动
DelayMS(150);
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询