C51点亮LED点阵屏

LED点阵屏介绍





LED点阵屏通过LED(发光二极管)组成,以灯珠亮灭来显示文字、图片、动画、视频等,是各部分组件都模块化的显示器件,通常由显示模块、控制系统及电源系统组成。 LED点阵显示屏制作简单,安装方便,被广泛应用于各种公共场合,如汽车报站器、广告屏以及公告牌等。
- 点阵屏分类
LED点阵屏有单色和双色、全彩三类,可显示红,黄,绿,橙等。LED点阵有4×4、4×8、5×7、5×8、 8×8、16×16、24×24、40×40等多种;根据图素的数目分为等,双原色、三原色等,根据图素颜色的不同所显示的文字、图像等内容的颜色也不同,单原色点阵只能显示固定色彩如红、绿、黄等单色,双原色和三原色点阵显示内容的颜色由图素内不同颜色发光二极体点亮组合方式决定,如红绿都亮时可显示黄色,假如按照脉冲方式控制二极体的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。
LED点阵屏原理图




- LED点阵屏的结构类似于数码管,只不过是数码管每一列的像素以"8"字型排列而已。
- LED点阵屏与数码管一样,有共阴和共阳两种解法,不同的接法对应的电路结构不同。
- LED点阵屏需要进行逐行或者逐列扫描,才能使所以LED同时显示。
74HC595原理

74HC595是一种常用的串行至并行转换芯片,广泛应用于LED显示板等设备中。它通过三根控制线(数据输入SER, 串行时钟SERCLK, 和存储时钟RCLK或称为锁存时钟)来接收串行数据,并通过八个引脚输出并行数据。以下是对您提供的描述进行的优化:
初始化状态:
SERCLK(串行时钟)初始状态设为低电平(0),这样可以确保在没有时钟脉冲的情况下,SER(串行数据输入)上的数据不会移动。
RCLK(存储时钟/锁存时钟)初始状态也设为低电平(0),这可以确保在没有锁存信号的情况下,移位寄存器中的数据不会传输到输出缓冲区。
操作步骤:
加载数据:当需要向74HC595发送一个新的字节数据时,首先将该字节数据逐位通过SER引脚输入。每输入一位数据后,SERCLK从低电平跳变到高电平然后再回到低电平,这个过程使数据位移入移位寄存器的一位。重复此操作八次,即可完成一个字节数据的输入。
锁存数据:一旦所有八位数据都已通过串行方式进入移位寄存器,接下来需要将这些数据稳定地传输到输出端。这时,RCLK从低电平跳变到高电平然后再回到低电平,这个脉冲使移位寄存器中的数据被锁存到输出缓冲区,并在8个输出端呈现出来。
注意事项:
在每次新的数据传输之前,应确保前一次的数据已经完全锁存完毕。
创建工程






- 找到keil5图标并双击运行
- 打开后找到Project选项点击展开下拉框,选择New Project创建工程
- 弹出创建新工程的窗口后,在左上角选择新建一个文件夹的位置,并将文件夹命名为“LED点阵屏”。
- 接下来,在指定的位置双击进入“LED点阵屏”文件夹,并将新工程命名为“Project”,然后点击保存。
- 在随后出现的选择目标设备窗口中,搜索框内输入“AT89C52”找到对应的芯片型号,并选中它后点击
OK
。 - 系统会询问是否要添加启动文件,这里请选择“否”。
创建文件并修改文件工程






- 打开“Target1”目录,然后定位到“SourceGroup1”目录。
- 在“SourceGroup1”目录上右键点击,并从上下文菜单中选择“Add New Item”。
- 在弹出的创建新项对话框中,选择创建一个
.C
文件类型,并将其命名为main.c
(作为主程序)。完成命名后,点击“Add”按钮来添加此文件。 - 双击以打开新创建的
main.c
文件。 - 在文件编辑器中,于代码部分的右侧点击右键,选择“插入”,并在光标处输入或插入
#include <REGX52.h>
这一行来加入所需的头文件。 - 接下来,导航至项目设置中的“Options for Target”。
- 在“Options for Target”的设置界面里,选择“Output”选项卡。
- 在“Output”设置中,确保“Create HEX File”选项已被勾选。完成后,点击“OK”以保存设置更改。
代码实现

烧录代码






- 编写完成代码后,使用Rebuild构建工程,生成.HEX文件。
- 点击打开选择程序文件
- 找到LED点阵屏目录,双击进入后,点击进入Object目录,选中Project.hex文件。
- 点击下载/编程,断电重启才会烧写内容。









