新闻中心

EEPW首页>嵌入式系统>设计应用> 51单片机流水灯左移 右移控制程序

51单片机流水灯左移 右移控制程序

作者: 时间:2016-12-02 来源:网络 收藏
电路很简单 8位流水灯接在单片机的P1口.如下是源代码:

本文引用地址://m.amcfsurvey.com/article/201612/324644.htm
//=============================================================
//程序名: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<<(8-i); //数据右移(8-I)位
P1=a|b; //逻辑或运算,并输出到P1口
for(s=0;s<30000;s++); //延时程序
}
}
//=======================================================================


评论


技术专区

关闭