51单片机心形流水灯源程序+视频



用stc89c51单片机做的心形流水灯效果非常棒,下面是实物图:


背面:

下面是视频:


想是这么想,但是实际上并非如此,拿个额温枪给单片机工程师拆开分析,确实会感觉到不复杂,但是实际上致富的极少是单片机开发工程师。表象上看懂这个开发的单片机工程师应该很有优势才对,但是事实胜于雄辩。你看到的可能是单片机工程师自己DIY了一个,自己用,这种情形会更多。

原理图我就不画了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;
}
}

> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >

图2是该款超声波倒车防撞系统的电原理图,它由U2单片机、超声波发送电路、超声波接收电路、四个超声波收发探头、LED数码及条柱显示声报警电路五个部分组成。

生成海报
点赞 0

钟, 广林

我还没有学会写个人说明!

相关推荐

几个单片机工程师及电子工程师必备技能和技术要求

  几个单片机工程师的必备技能   1 超强的动手能力,如果你笨手笨脚,要么拼命练成熟手!要么转行!   举例来说,本人属于动脑子可以但是动手不行那种。但是经过锻炼,   20mil间距的TQFP封装焊的也凑合了。   2 宽阔的知识面,软件、硬件、电子、机

单片机需求20221212

点击即可进入: 单片机/嵌入式软件工程师 12-12 9千-1.6万,上海-嘉定区 | 1年经验 | 本科,朗戈智能系统(上海)有限公 ...

单片机zp20221010

点击职位即可进入: 单片机开发工程师 10-10 1-1.4万,上海-长宁区 | 3-4年经验 | 大专,上海山中合金有限公司 单片机工 ...

基于8051单片机实现电子时钟+数字秒表设计

概述 电子时钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显 示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许