任务实施

更新于 2026年10月10日 版权声明
任务实施

一、任务分析

16*32点阵的行由两个锁存器U2、U3驱动控制,列由4个锁存器U4、U5、U6、U7驱动控制。单片机轮流为点阵行输出高电平,为列输出汉字字库编码;本任务程序编写采用定时器T0方式,不用长时间占用CPU资源,提高了CPU利用率并解决了点阵显示闪烁的问题。

多个汉字同时取模的时候,需定义一个二维数组,32个字节构成一个汉字,所以数组里面的元素长度为32。

uchar code zimo[][32]={ };

二、程序设计

程序执行流程图如图6-3-3所示。

参考程序:

#include<reg52.h>

#define uchar unsigned char

#define uint unsigned int

sbit rw1=P2^0;

sbit rw2=P2^1;

sbit cl1=P2^2;

sbit cl2=P2^3;

sbit cl3=P2^4;

sbit cl4=P2^5;

/*"爱国敬业诚信友善"编码*/

uchar code zimo[][32]={

/*--文字:爱--*/

/*--宋体12;此字体下对应的点阵为:宽*高=16*16--*/

0x00,0x10,0x80,0x3F,0x7E,0x08,0x44,0x08,0x88,0x04,0xFE,0x7F,0x42,0x40,0x41,0x20,

0xFE,0x1F,0x20,0x00,0xE0,0x0F,0x50,0x08,0x88,0x04,0x04,0x03,0xC2,0x0C,0x38,0x70,

图示

图6-3-3 程序流程图

/*--文字:国--*/

/*--宋体12;此字体下对应的点阵为:宽*高=16*16--*/

0x00,0x00,0xFE,0x3F,0x02,0x20,0x02,0x20,0xFA,0x2F,0x82,0x20,0x82,0x20,0xF2,0x27,(https://www.daowen.com)

0x82,0x20,0x82,0x22,0x82,0x24,0xFA,0x2F,0x02,0x20,0x02,0x20,0xFE,0x3F,0x02,0x20,

图示

图示

三、电路仿真

1.编写程序

打开Keil软件,新建“LED16*32”工程文件,新建“LED16*32.c”文件,编写程序,并生成hex文件。编写的程序如图6-3-4所示。

图示

图6-3-4 编写程序

2.绘制电路

打开Proteus软件,创建“16*32点阵显示汉字”文件,绘制电路图。所需元件见表6-3-1。

表6-3-1 元件清单

图示

先放置8个8*8点阵,每个点阵的行和列放置端口及网络标号,如图6-3-5所示;再将8个8*8点阵拼接在一起,即完成16*32点阵的绘制,如图6-3-6所示。

根据电路原理图的要求,完成各元件的放置,并连线,绘制完成的电路图如图6-3-7所示。

图示

图6-3-5 绘制8个8*8点阵

图示

图6-3-6 绘制16*32点阵

图示

图6-3-7 绘制电路图

3.电路仿真

双击单片机,加载hex文件,单击“仿真”按钮,进行电路程序仿真,仿真结果如图6-3-8所示。

仿真结果显示:在16*32点阵上,轮流显示广告语“爱国 敬业 诚信 友善”。

图示

仿真视频

图示

图6-3-8 仿真效果

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)