找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1748|回复: 1
收起左侧

流水灯程序怎样修改

[复制链接]
ID:917238 发表于 2021-5-22 12:19 来自手机 | 显示全部楼层 |阅读模式
#include<reg52.h>

#include<intrins.h>

#define uchar unsigned char        //宏定义

#define uint unsigned int

uchar led;

void delay(uint z)                //延时子函数体

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void main()

{

led=0xfe;                    //赋初值

while(1)

{

P1=led;                    //点亮第一个小灯

delay(100);                //延时100毫秒

led=_crol_(led,1);        将led的变量左移给下一位

}

}

/*8个发光管间隔200ms由上至下,返回再由上至下,一个个往下亮,后全亮

由下至上,返回再由下至上,一个个往下亮,后全亮

再重复2次,

然后全部熄灭再以500ms间隔

全部闪烁3次。重复此过程*/

#include<reg52.h>

#include<intrins.h>

#define uchar unsigned char

#define uint unsigned int

uchar led;

uint i,j;

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void main()

{

while(1)

{

for(j=0;j<2;j++)

{

led=0xfe;    //赋初值

for(i=0;i<8;i++)

{

P1=led;                //点亮第一个小灯

delay(200);            //延时200毫秒

led=_crol_(led,1);    //将led变量循环左移给下一位

}

led=0xfe;  //赋初值

@go下弦
for(i=0;i<8;i++)

{   

P1=led;                //点亮第一个小灯

delay(200);            //延时200毫秒

led<<=1;            //左移给下一位

}

led=0x7f;  //赋初值

for(i=0;i<8;i++)

{

P1=led;                      //点亮第一个小灯

delay(200);                  //延时200毫秒

led=_cror_(led,1);        //将led变量循环右移给下一位

}

led=0x7f;  //赋初值

for(i=0;i<8;i++)

{

P1=led;                  //点亮第一个小灯

delay(200);              //延时200毫秒

led>>=1;              //右移给下一位

}

}

for(j=0;j<6;j++)

{

P1=~P1;              //全部取反6次,即闪烁5次   

delay(500);        //延时500毫秒

}

}

}
回复

使用道具 举报

ID:332444 发表于 2021-5-22 17:27 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表