打印
[疑难问答]

心形流水灯电路设计

[复制链接]
685|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
CallReceiver|  楼主 | 2015-12-28 21:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
心形流水灯电路怎么连啊?求大神指教!:lol:lol
沙发
xia00| | 2015-12-28 21:34 | 只看该作者

 不知道楼主,你有心形流水灯的电路图和程序吗?

使用特权

评论回复
板凳
boy1990| | 2015-12-28 21:43 | 只看该作者
原理图我就不画了4个p口全部接上led灯即可,下面是控制程序:
#include <at89x52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table0[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//P0-P7依次点亮
uchar code table1[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//P0-P7依次熄灭
uchar code table2[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};//P7-P0依次点亮
uchar code table3[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};//P7-P0依次熄灭
uchar temp,aa,bb,temp,temp1;
void delay(uint z);
void h();
void hh();
void hhh();
void hhhh();
void init();
void main()//主函数
{
init();
    while(520)//大循环
{
  h();
  hh();
  hhh();
  hhhh();
}
}
void delay(uint z)//延时函数
{
uint x,y;
for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}
void h()
{
for(aa=0;aa<3;aa++)
{
  for(bb=0;bb<8;bb++)
  {
   P0=table0[bb];
   delay(50);
  }
  for(bb=0;bb<8;bb++)
  {
   P1=table0[bb];
   delay(50);
  }
  for(bb=0;bb<8;bb++)
  {
   P3=table0[bb];
   delay(50);
  }
  for(bb=0;bb<8;bb++)
  {
   P2=table0[bb];
   delay(50);
  }
  delay(500);
  for(bb=0;bb<8;bb++)
  {
   P0=table1[bb];
   delay(50);
  }
  for(bb=0;bb<8;bb++)
  {
   P1=table1[bb];
   delay(50);
  }
  for(bb=0;bb<8;bb++)
  {
   P3=table1[bb];
   delay(50);
  }
  for(bb=0;bb<8;bb++)
  {
   P2=table1[bb];
   delay(50);
  }
}
for(aa=0;aa<3;aa++)
{
  for(bb=0;bb<8;bb++)
  {
   P2=table2[bb];
   delay(50);
  }
  for(bb=0;bb<8;bb++)
  {
   P3=table2[bb];
   delay(50);
  }
  for(bb=0;bb<8;bb++)
  {
   P1=table2[bb];
   delay(50);
  }
  for(bb=0;bb<8;bb++)
  {
   P0=table2[bb];
   delay(50);
  }
  delay(500);
  for(bb=0;bb<8;bb++)
  {
   P2=table3[bb];
   delay(50);
  }
  for(bb=0;bb<8;bb++)
  {
   P3=table3[bb];
   delay(50);
  }
  for(bb=0;bb<8;bb++)
  {
   P1=table3[bb];
   delay(50);
  }
  for(bb=0;bb<8;bb++)
  {
   P0=table3[bb];
   delay(50);
  }
}
}
void hh()
{
for(bb=0;bb<3;bb++)
{
  for(aa=0;aa<8;aa++)
  {
   P0=table0[aa];
   P2=table2[aa];
   delay(100);
  }
  for(aa=0;aa<8;aa++)
  {
   P3=table2[aa];
   P1=table0[aa];
   delay(100);
  }
  for(aa=0;aa<8;aa++)
  {
   P2=table3[aa];
   P0=table1[aa];
   delay(100);
  }
  for(aa=0;aa<8;aa++)
  {
   P1=table1[aa];
   P3=table3[aa];
   delay(100);
  }
}
}
void init()
{
P1=P2=P3=P0=0x00;
delay(1000);
P1=P2=P3=P0=0xff;
delay(200);
temp=0xfe;
temp1=0x7f;
}
void hhh()
{
for(bb=0;bb<10;bb++)
{
  for(aa=0;aa<8;aa++)
  {
   P0=temp;
   temp=_crol_(temp,1);
   delay(40);
  }
  P0=0xff;
  for(aa=0;aa<8;aa++)
  {
   P1=temp;
   temp=_crol_(temp,1);
   delay(40);
  }
  P1=0xff;
  for(aa=0;aa<8;aa++)
  {
   P3=temp;
   temp=_crol_(temp,1);
   delay(40);
  }
  P3=0xff;
  for(aa=0;aa<8;aa++)
  {
   P2=temp;
   temp=_crol_(temp,1);
   delay(40);
  }
  P2=0xff;
}  
}
void hhhh()
{
for(aa=0;aa<30;aa++)
{
  P0=P1=0x00;
  delay(100);
  P1=P0=0xff;
  P2=P3=0x00;
  delay(100);
  P2=P3=0xff;
}
}

使用特权

评论回复
地板
bbapple| | 2015-12-28 21:46 | 只看该作者
boy1990 发表于 2015-12-28 21:43
原理图我就不画了4个p口全部接上led灯即可,下面是控制程序:
#include
#include

哇 不错不错,学习了、、。、

使用特权

评论回复
5
CallReceiver|  楼主 | 2015-12-28 22:39 | 只看该作者
xia00 发表于 2015-12-28 21:34
 不知道楼主,你有心形流水灯的电路图和程序吗?

没有啊。

使用特权

评论回复
6
CallReceiver|  楼主 | 2015-12-28 22:40 | 只看该作者
boy1990 发表于 2015-12-28 21:43
原理图我就不画了4个p口全部接上led灯即可,下面是控制程序:
#include
#include

多谢了,要是能有原理图就更好了。。:lol

使用特权

评论回复
7
hfdy01| | 2015-12-28 22:42 | 只看该作者
新手一枚,进来学习学习:lol

使用特权

评论回复
8
dml19890601| | 2015-12-29 12:04 | 只看该作者
您好,我是笙泉单片机中国区指定代理希特电子杜先生,您可以加我QQ3166720948。或者打我电话15295658706,我可以安排寄样测试,期待与您的合作,谢谢!

使用特权

评论回复
9
boy1990| | 2016-1-31 16:45 | 只看该作者
CallReceiver 发表于 2015-12-28 22:40
多谢了,要是能有原理图就更好了。。

不客气:lol可以多多交流的。。。。。

使用特权

评论回复
10
zhouhuanの| | 2016-1-31 17:43 | 只看该作者
记得好像有做过类似的,还用了个取字模软件。。

使用特权

评论回复
11
xia00| | 2016-2-6 10:35 | 只看该作者
再进来看看了,程序是没什么问题的。。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

64

主题

1695

帖子

1

粉丝