求一个IAP15单片机LED小灯12345678亮然后87654321循环点亮的程序

如题所述

假设P1口接灯,P1.0-1.7对应灯1-8,低电平点亮
#include "reg52.h"
#inlcude "intrins.h"
void main()
{
unsigned char a=0,i = 0;
while(1)
{
a= 0xfe;
for(i = 0;i<8;i++)
{
P1 = a;
delay_ms(500);
a = _rol_(a,1);
}
a = 0x7F;
for(i = 0;i<8;i++)
{
P1 = a;
delay_ms(500);
a = _ror_(a,1);
}
}
}
粘贴进来格式乱了,自己调吧,还有,延时函数自己写追问

不需要调用延时函数吗?

追答

不调用延时看到的结果就是灯全亮。我那个delay_ms是需要你自己根据需要改写的

追问

程序有错误

追答

for后面不能加分号

追问

改了

还是不行

报错说5 6 10行有错误

追答

a=0后面是逗号,不是分号

追问

改了,还是不行

这个不是51单片机 是15的

和这个有关系吗?

追答

第三行加分号

追问

第28行 拜托了大神

追答

stc单片机都是51核,没关系

追问

😅

追答

最后空操作,加分号

要么加执行语句

建议好好看看C语言吧,,你这基础问题不小呢

追问

好的👌🏻

太感谢你了

温馨提示:答案为网友推荐,仅供参考
相似回答