51单片机跑马灯电路图(左右来回循环),8个led灯分别接在P2口,c程序、仿真图如下。电路并未出现预期效果

51单片机跑马灯电路图(左右来回循环),8个led灯分别接在P2口,c程序、仿真图如下。电路并未出现预期效果,第1张

#include<reg51h>

#include<intrinsh>

#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;

while(1)

{

P2=0x01;//此处有改

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

{

P2=_crol_(P2,1); //P2 的值向左循环移动

DelayMS(150);

}

P2=0x80;//此处有改

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

{

P2=_cror_(P2,1); //P2 的值向右循环移动

DelayMS(150);

}

}

}

您复制进去试一下,不行再追加吧,谢谢

ROLP是ROL指令的脉冲形式,ROL是16位的循环左移,K4M0是16位的数据,能正常执行,K2M0是8位的数据,是ROL指令是不支持8位的,因此不能执行。

望采纳。。。。。。

#include<reg51h> //51系列单片机定义文件

#define uchar unsigned char //定义无符号字符

#define uint unsigned int //定义无符号整数

void delay(uint); //声明延时函数

void main(void)

{

uint i;

uchar temp;

while(1)

{

temp=0x01;

for(i=0;i<8;i++) //8个流水灯逐个闪动

{

P1=~temp;

delay(100); //调用延时函数

temp<<=1;

}

}

void delay(uint t) //定义延时函数

{

register uint bt;

for(;t;t--)

for(bt=0;bt<255;bt++);

}

跑马灯程序最基本的,c语言还未入门啊!!!

以上就是关于51单片机跑马灯电路图(左右来回循环),8个led灯分别接在P2口,c程序、仿真图如下。电路并未出现预期效果全部的内容,包括:51单片机跑马灯电路图(左右来回循环),8个led灯分别接在P2口,c程序、仿真图如下。电路并未出现预期效果、三菱PLC跑马灯程序,将ROLP K4M0 K1更改为 K2M0 K1后无法向下执行只有M0导通,请帮忙看下怎么回事、C语言设计跑马灯程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9302329.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存