电路很简单 8位流水灯接在单片机的P1口.如下是源代码:
//=============================================================
//程序名:LLL22_4.C
//程序功能:流水灯控制左移 右移
//==============================================================
#include//头文件
L_M();//流水灯左移控制程序
R_M();//流水灯右移控制程序
//===============================================================
main()//主函数
{
while(1) //无限循环
{
L_M();//调用左移程序
R_M();//调用右移程序
}
}
//========左移控制程序==============================================
L_M()//左移主函数
{
unsigned char i,temp,a,b; //声明无符号字符型变量A,TEMP I,B
unsigned int s;//声明无符号整型变量S
temp=0xfe; //左移初始值
P1=temp;//P1输出信号点亮发光管
for( s=0;s<30000;s++); //延时程序
for (i=1;i<8;i++)//发光管移动的位数
{
a=temp<
b=temp>>(8-i) ;//数据右移(8-I)位
P1=a|b ;//逻辑或运算,并输出到P1口
for(s=0;s<30000;s++); //延时程序
}
}
//================================================================
R_M()
{
unsigned char i,temp,a,b; //声明无符号字符型变量A,TEMP I,B
unsigned int s; //声明无符号整型变量S
temp=0x7f;//左移初始值
P1=temp; //P1输出信号点亮发光管
for(s=0;s<30000;s++);//延时程序
for(i=1;i<8;i++) //发光管移动的位数
{//发光管左移I位
a=temp>>i;
b=temp<
P1=a|b; //逻辑或运算,并输出到P1口
for(s=0;s<30000;s++);//延时程序
}
}
//=======================================================================