点亮点阵LED模块


老小孩
原创
发布时间: 2025-06-09 22:31:32 | 阅读数 0收藏数 0评论数 0
封面
闲来无事,今天玩一下点阵LED模块。点阵LED模块的原理是按排或列分时连续的点亮LED灯,利用人眼视觉暂留效应,来点亮一个画面。

准备工作:

材料:

点阵LED模块、51单片机系统板,杜邦线。

1

硬件连接

按原理图用杜邦线连接系统板和模块。


LEDPin_1 接系统板 P1^0;

LEDPin_2 接 系统板P1^1;

LEDPin_3 接系统板 P1^2;

LEDPin_4 接系统板 P1^3;

LEDPin_5 接 系统板P1^4;

LEDPin_6 接 系统板P1^5;

LEDPin_7 接 系统板P1^6;

LEDPin_8 接 系统板P1^7;

LEDPin_9 接 系统板P2^0;

LEDPin_10 接 系统板P2^1;

LEDPin_11 接 系统板P2^2;

LEDPin_12 接 系统板P2^3;

LEDPin_13 接 系统板P2^4;

LEDPin_14 接 系统板P2^5;

LEDPin_15 接 系统板P2^6;

LEDPin_16 接 系统板P2^7;


2

编写程序

用keil编写程序:

#include <reg52.h>

bit mark = 0;

unsigned char data_buff = 0;

//字模数据我是用字模提取软件v2.1提取的。

unsigned char LedZhen[ ][8]={{0x00,0x18,0x24,0x24,0x24,0x24,0x18,0x00}, //数字0

{0x10,0x18,0x14,0x10,0x10,0x10,0x10,0x7C},//数字1

{0x18,0x24,0x24,0x24,0x3C,0x24,0x24,0x42}, //字母A

};



void main(void)

{

EA = 1; //使能总中断

TMOD = 0x01; //设置 T0 为模式 1

TH0 = 0xFC; //为 T0 赋初值 0xFC67,定时 1ms

TL0 = 0x67;

ET0 = 1; //使能 T0 中断

TR0 = 1; //启动 T0

data_buff = 0;

while(1)

{

if(mark==1)

{

mark=0;

data_buff++;

if(data_buff>=3)

{

data_buff=0;

}

}

}

}

/* 定时器 0 中断服务函数 */

void InterruptTimer0() interrupt 1

{

static unsigned char i = 0;

static unsigned int cnt = 0;

TH0 = 0xF8; //重新加载初值

TL0 = 0xCD;

P2 = ~(0X01<<i);

P1 = LedZhen[data_buff][i];

cnt++;

if(cnt>=500)

{

cnt=0;

mark=1;

}

i++;

if(i>=8) i=0;

}


RAR
代码.rar
24.80KB
3

烧录程序

用STC-ISP软件烧录文件:

4

实验结果

给模块供电上机检验结果

阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载