当前位置: 华文世界 > 科学

实验分享——单片机控制LED点阵实验

2024-02-02科学

一、设计目的

设计一个单片机控制的LED点阵显示系统,基本要求为:LED点阵能够「心型」图形。然后在此基础上,可以自行增加功能,例如但不限于:交替显示「心型」一个自定义图形。(自定义图形可选但不限于下列图形:Δ、▲、△、◆、◇、★、☆、♀、♂等)。所谓交替显示是指点阵中依次显示A、B、C三种文字或图形(每个图形点亮若干时间)并循环往复。

二、设计任务及要求

1.学习课程资料中附上的「普中51单片机开发攻略--A5(V5.5).pdf」 其中的第16 章LED 点阵实验。

2.学习完该内容后,设计一个单片机控制的LED点阵显示系统,基本要求为:LED点阵能够「心型」图形。然后在此基础上,同学们可以自行增加功能,例如但不限于:交替显示「心型」一个自定义图形。(自定义图形可选但不限于下列图形:Δ、▲、△、◆、◇、★、☆、♀、♂等)。所谓交替显示是指点阵中依次显示A、B、C三种文字或图形(每个图形点亮若干时间)并循环往复。

3.使用单片机开发板可能需要用到的知识及软件:

详见「普中51单片机开发攻略--A5(V5.5).pdf」 --2.2 开发板使用方法(18到25页内容)

三、方案设计

首先将符号进行字模提取,并且编写程序,将单片机的2口和3口作为输出口,分别接入LED点阵的上下两排引脚。使用扫描的方式,使LED点阵可以正常的显示。进一步设计,增加延时函数,使得在一个图形显示完后,能够紧接着显示另一个图像,并循环往复,最终完成设计。

(一)前期准备

心形点阵图

图片

图片

图片

(二)软件设计

#include<reg52.h>

char code hang0[]={0x18,0x24,0x42,0x84,0x84,0x42,0x24,0x18};

char code hang1[]={0x18,0x24,0x42,0x81,0x81,0x42,0x24,0x18};

char code hang2[]={0x18,0x3C,0x7E,0xFF,0xFF,0x7E,0x3C,0x18};

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

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

int i;

int num;

int m;

int n;

int c;

void delay(int a)

{

while(a--);

}

void main(){

int t;

t=6;

n=0;

while(1){

n++;

c=n%2;

for(i=0;i<1500;i++){

if(i<500)

{

for(num=0;num<8;num++){

if(c==0){

P1=lie0[num];

}else{

P3=lie0[num];

}

P2=hang0[num];

delay(t);

}

}

if(i>=500&&i<1000)

{

for(num=0;num<8;num++){

if(c==0){

P1=lie0[num];

}else{

P3=lie0[num];

}

P2=hang1[num];

delay(t);

}

}

if(i>=1000)

{

for(num=0;num<8;num++){

if(c==0){

P1=lie0[num];

}else{

P3=lie0[num];

}

P2=hang2[num];

delay(t);

}

}

}

}

}

四、调试及结果

实物图1

实物图2

五、设计总结

单片机控制LED点阵的实验设计总结如下:

1. 材料准备:准备LED点阵、单片机开发板(如Arduino、Raspberry Pi等)、面包板、导线等。

2. 连接电路:将LED点阵与单片机开发板连接起来,确保正确的极性和接线。通常需要使用导线和电阻来连接。

3. 编程:编写控制LED点阵的程序,包括控制LED灯的亮灭、行列扫描和显示图案等功能。具体的编程语言和代码逻辑根据使用的单片机和开发板而有所不同。

4. 上传程序:将编写的程序上传到单片机开发板上。

5. 测试:开启单片机开发板,观察LED点阵是否按照预期的方式显示。可以测试不同的图案、动画或文字,并确保LED点阵能够正确显示。

6. 调整和改进:根据测试结果进行调整和改进,确保LED点阵能够准确显示设计好的图案。

总的来说,单片机控制LED点阵的实验设计需要包括硬件连接和软件编程,通过这个实验可以更好地理解单片机控制外围设备的原理,并且锻炼了编程能力和电路连接能力。