#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语言设计跑马灯程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)