基于MCS-51单片机的LED点阵屏实现礼花功能
出处:中国电子网 发布于:2018-07-03 14:15:28
大家可曾记得礼花绽放那一刻的精彩?小时候每当看礼花绽放时,总希望自己能将那美的那一霎那永远留下。终于,今天我的梦想实现了。通过自己的板板,只要随手编程几下就搞定啦!
在给大家展示效果图之前,我们首先得对LED点阵屏做一番介绍!8*8 LED点阵等效电路如图1所示。通过分析,我们不难得知:只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如:若想使左上角LED点亮,则Y0=1,X0=0,则会形成压降点亮左上角的LED。这里的水平方向由P2控制,垂直方向由P0控制。
图1 8*8 LED点阵等效电路
本次在LED点阵屏上实现显示礼花的功能原理接口图如图2所示,效果图如图3所示。通过该LED点阵还可以显示静态或者动态的图形、文字等。大家感兴趣的可以自己试试啦~~
图2 在LED点阵屏上实现显示礼花的功能原理接口图
图 礼花动态显示图
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);
}
}
}
}
}
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- Microchip 发布PIC16F13145系列MCU,促进可定制逻辑的新发展2024/4/23 15:34:17
- 什么是MCU2024/3/25 17:05:40
- 了解GD32单片机和STM32单片机2024/3/13 14:17:13
- STM32F103单片机概述2024/3/13 14:13:33
- 什么是DSP?DSP的分类2024/1/22 16:38:45