51单片机89c51rc,怎么设计心形流水灯?led至少30个,?求电路图,和程序!步骤要具体

邮箱2404302316@qq.com
2024-11-03 16:46:45
推荐回答(5个)
回答1:

#include //51系列单片机定义文件

#define uchar unsigned char //定义无符号字符

#define uint unsigned int //定义无符号整数

void delay(uint); //声明延时函数

void main(void)

uint i;

uchar temp; 

while(1)

{

temp=0x01;

for(i=0;i<8;i++) //8个流水灯逐个闪动

{

P0=~temp;

delay(100); //调用延时函数

temp<<=1;

}

temp=0x80;

for(i=0;i<8;i++) //8个流水灯反向逐个闪动

{

P0=~temp;

delay(100); //调用延时函数

temp>>=1;

}

temp=0xFE;

for(i=0;i<8;i++) //8个流水灯依次全部点亮

{

P0=temp;

delay(100); //调用延时函数

temp<<=1;

}

temp=0x7F;

for(i=0;i<8;i++) //8个流水灯依次反向全部点亮

{

P0=temp;

delay(100); //调用延时函数

temp>>=1;

}

}

}

void delay(uint t) //定义延时函数

{

register uint bt;

for(;t;t--)

for(bt=0;bt<255;bt++);

}

回答2:

把led布局呈心形状..然后控制IO让他们依次点亮,就可以了,想复杂点的话就多弄点花样,比如隔一个亮一下之类的

回答3:

做点阵吧要什么图形都能出来,常用的16X16点阵的模块。

回答4:

呵呵,其实不难

回答5:

简简单单