51单片机在LED点阵屏上实现显示礼花功能的设计

控制/MCU

1814人已加入

描述

大家可曾记得礼花绽放那一刻的精彩?小时候每当看礼花绽放时,总希望自己能将那最美的那一霎那永远留下。终于,今天我的梦想实现了。通过自己的板板,只要随手编程几下就搞定啦!

在给大家展示效果图之前,我们首先得对LED点阵屏做一番介绍!8*8 LED点阵等效电路如图1所示。通过分析,我们不难得知:只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如:若想使左上角LED点亮,则Y0=1,X0=0,则会形成压降点亮左上角的LED。这里的水平方向由P2控制,垂直方向由P0控制。

51单片机

图1 8*8 LED点阵等效电路

本次在LED点阵屏上实现显示礼花的功能原理接口图如图2所示,效果图如图3所示。通过该LED点阵还可以显示静态或者动态的图形、文字等。大家感兴趣的可以自己试试啦~~

51单片机

图2 在LED点阵屏上实现显示礼花的功能原理接口图

图3 礼花显示效果组图

图 礼花动态显示图

LED点阵屏上显示礼花C源代码

#include

#include

#define uint unsigned int

#define uchar unsigned char

unsigned char code tabP0[6][8]={{0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00},{0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},{0x00,0x00,0x10,0x38,0x38,0x10,0x00,0x00},{0x00,0x00,0x38,0x7C,0x7C,0x38,0x00,0x00},{0x00,0x38,0x7C,0x7C,0x7C,0x7C,0x38,0x00},{0x3C,0x7E,0xFF,0xFF,0xFF,0xFF,0x7E,0x3C}};

unsigned char code tabP2[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE};

void delay(uint z)

{

uchar x,y;

for(x=z;x》0;x--)

for(y=110;y》0;y--);

}

void main()

{

int i,j,k;

while(1)

{

for(j=0;j《6;j++)

{

for(k=0;k《25;k++)

{

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

{

P0=0;

P2=tabP2[i];

P0=tabP0[j][i];

delay(2);

}

}

}

}

}

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分