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

邮箱2404302316@qq.com

#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++);

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-09
把led布局呈心形状..然后控制IO让他们依次点亮,就可以了,想复杂点的话就多弄点花样,比如隔一个亮一下之类的
第2个回答  2012-11-07
做点阵吧要什么图形都能出来,常用的16X16点阵的模块。
第3个回答  2012-11-09
呵呵,其实不难
第4个回答  2012-11-07
简简单单
相似回答