微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机流水灯左移 右移控制程序

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

时间:12-02 来源:互联网 点击:
电路很简单 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<(8-i); //数据右移(8-I)位

P1=a|b; //逻辑或运算,并输出到P1口

for(s=0;s<30000;s++); //延时程序

}

}

//=======================================================================

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top