for(i=0i<8i++)
{
P2=(1<<i)
delay()
}
for(i=0i<8i++)
{
P2=(1<<(7-i))
delay()
}
用个移位处理就行了 set(void) { 流水灯.c * 描述 : 该程序实现LED的流水灯显示。 该程序用于学习 LED流水本例中是调用的 intrins.h 中
程序利用循环移位函数_crol_和_cror 形成来回滚动的效果 #include #include #define ... R17 220R //名称:花样流水灯 //说明:16 只LED 分两段组按预设的多种花样变换显示
#include<reg51.h>#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//延时
void DelayMS(uint x)
{
uchar i
while(x--)
{
for(i=0i<120i++)
}
}
//主程序
void main()
{
uchar i
P2=0x01
while(1)
{
for(i=0i<7i++)
{
P2=_crol_(P2,1)//P2 的值向左循环移动
DelayMS(150)
}
for(i=0i<7i++)
{
P2=_cror_(P2,1)//P2 的值向右循环移动
DelayMS(150)
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)