c语言流水灯小程序,51小程序--流水灯+花样灯

c66462d29e1be911e6e7b8df7ac07255.png

#include

typedef unsigned char u8;

typedef unsigned int u16;

#define PORT P1

void delay(unsigned char time)

{

unsigned int j = 100000;

for(; time > 0; time--)

for(;j > 0; j--);

}

void  main(void)

{

PORT = 0xff;

temp = 0xff;

while(1)

{

delay(200000);

temp = temp << 1;

if(PORT == 0)

{

PORT = 0xff;

}

}

}

//该程序为灯一个一个亮

void main(void)

{

u8 w,i;

while(1)

{

for(i = 0, w = 0x01; i < 8; i++)

{

PORT = ~w;

w <<= 1;

delay(2000);

}

}

}

//只有一个灯进行流水

//花样流水灯

/*-----------------------------------------------

名称:花样流水灯

编写:Jam

日期:2018.7.21

修改:无

功能:花样灯

第一遍:LED1~LED8一个灯流水一遍

第二遍:LED8~LED1一个灯流水一遍

第三遍:LED1~LED8依次点亮所有灯

第四遍:LED8~LED1依次熄灭所有灯

第五遍:通过查表将预存的花式灯点亮

------------------------------------------------*/

#include

typedef unsigned char u8;

typedef unsigned int u16;

#define PORT P1

u8 F_led[] = {0x7e,0x3c,0x18,0x00,

0x55,0xaa,0xdb,0x99};

void Delay(u16 t)

{

while(--t);

}

void main(void)

{

u8 i;

u8 temp;

PORT = 0xff;

while(1)

{

//从第一个灯开始亮

for(i = 0, temp = 0x01; i < 8; i++)

{

PORT = ~temp;

temp <<= 1;

Delay(20000);

}

for(i = 0, temp = 0x80; i < 8; i++)

{

PORT = ~temp;

temp >>= 1;

Delay(20000);

}

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

{

PORT <<= 1;

Delay(20000);

}

PORT = 0x80;

for(i = 0,temp = 0x80; i < 8; i++)

{

PORT |=(temp >>= 1);

Delay(20000);

}

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

{

PORT = F_led[i];

Delay(20000);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值