#include "reg52.h"
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define led P2
void delay(uchar i)
{
while(i--);
}
void main()
{
led=0xfe;
while(1)
{
delay(50000);
led=_crol_(led,1);
}
}
我想实现流水灯,我查了一下,说是直接循环移动IO口是不行的,我想求证一下这个,或者这个程序还错在什么地方。灯是低电平亮
|
可以直接循环移动P口。 你这delay函数入口参数uchar 是16位宽的吗? 调用它使用了5w这么大的数据
/************************************************************************************** * LED流水灯实验 * 实现现象:下载程序后LED呈现流水灯效果进行左移右移滚动 注意事项:无 ***************************************************************************************/ #include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器 #include<intrins.h> //因为要用到左右移函数,所以...