设计与开发

单片机字模 单片机初学者轻松入门之(十九):8乘8点阵显示汉字

小编 2024-10-10 设计与开发 23 0

单片机初学者轻松入门之(十九):8乘8点阵显示汉字

字模提取软件

1、打开软件,单击选择 "参数设置"

2、单击"文字输入区字体选择"

设置完成单击"确定"

3、单击"其它选项"

如果是点阵显示,则选择"横向取模",字节倒序;

如果是12864显示,则选择"纵向取模",字节倒序。

4、 在文字输入区输入要取模的文字,按下Ctrl+Enter结束文字输入

5、单击"取模方式"

双击"C51格式"进行字模生成

如下图所示在点阵生成区生成了字库代码

1、 电路图

2、 程序设计

#include<reg51.h>

#include<intrins.h>

unsigned char code a[]={0x10,0x10,0xFF,0x10,0x28,0x44,0x82,0x01};

void delay(unsigned int m)

{

unsigned char i;

while(m--)

for(i=0;i<120;i++);

}

void main()

{

unsigned char m,k=0;

m=0xfe;

while(1)

{

P0=m; //行0有效

m=_crol_(m,1);

P2=a[k++]; //列1有效

if(k==8)k=0;

delay(1);

}

}

3、下载程序并设计

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

一、设计目的

设计一个单片机控制的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点阵的实验设计需要包括硬件连接和软件编程,通过这个实验可以更好地理解单片机控制外围设备的原理,并且锻炼了编程能力和电路连接能力。

相关问答

单片机字模 提取v22怎么使用?

单片机字模提取v22是一款功能强大的工具,可以帮助用户方便地提取单片机字模。使用时,首先安装好软件,并连接好单片机,然后打开软件选择需要提取的字体文件,...

LED显示屏工程常用名词到底是什么意思?

LED显示屏的列驱动电路和行驱动电路一般都采用单片机进行控制,常用的单片机是MCS51系列。LED显示屏显示的内容一般按字模的形式存放在单片机的外部数据存储器中...

猜你喜欢