1 LED点阵
LED 点阵是由发光二极管排列组成的显示器件,在我们日常生活的电器中随处可见,被广泛应用于汽车报站器,广告屏等。 通常应用较多的是 8* 8 点阵,然后使用多个 8 * 8 点阵可组成不同分辨率的 LED点阵显示屏,比如 16* 16 点阵可以使用 4 个 8* 8 点阵构成。因此理解了 8* 8LED点阵的工作原理,其他分辨率的 LED 点阵显示屏都是一样的。这里以 8* 8LED 点阵来做介绍。
工作原理:
8* 8 点阵共由 64 个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置 1 电平(行所接的是二极管的阳极,所以为高电平),某一列置 0 电平(列所接的是二极管的阴极极,所以为低电平),则相应的二极管就亮;如要将第一个二极管点亮,则A1
脚接高电平,K1
脚接低电平,则第一个点就亮了;如果要将第一行点亮,则第 A1 脚要接高电平,而(K1
、K2
、K3
、K4
、K5
、K6
、K7
、K8
)这些引脚接低电平,那么第一行就会点亮;如要将第一列点亮,则第K1
脚接低电平,而(K1
、K2
、K3
、K4
、K5
、K6
、K7
、K8
)接高电平,那么第一列就会点亮。
下面我们通过给LED点阵显示一个点与显示一个数字深入理解它的使用。
2 原理图
① 8* 8 LED点阵原理图:
② 74HC595原理图(JOE排针处把OE
接到GND
):
③ MCU原理图:
3 程序
① 点亮左上角第一个点:
#include "reg51.h" //此文件中定义了单片机的一些特殊功能寄存器
#include <intrins.h>
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
sbit SRCLK=P3^6; //存储寄存器时钟引脚(数据输入时钟线)
sbit RCLK=P3^5; //移位寄存器时钟引脚(输出存储器锁存时钟线)
sbit SER=P3^4; //串行数据输入引脚
/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
\* 函数名 : Hc595SendByte(u8 dat)
\* 函数功能 : 向74HC595发送一个字节的数据
\* 输入 : 无
\* 输出 : 无
\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/
void Hc595SendByte(u8 dat)
{
u8 i;
SRCLK=0; // 初始化数据输入时钟线
RCLK=0; // 初始化输出存储器锁存时钟线
for(i=0;i<8;i++)
{
SER=dat>>7; //从最高位开始发送 例:1111 0000,最高为1右移7位,最后变为1,那么最高位就保存下来
dat<<=1; //左移移位变为次高位 ,接上一例,左移移位变为次高位,在右移7位,变为次高位
SRCLK=1; // 从0到1给,即从低电平到高电平,给移位寄存器上升沿,数据存入移位寄存器中
\_nop\_();
\_nop\_();
SRCLK=0; // 复位引脚
}
RCLK=1; // 移位寄存器时钟引脚加上升沿,数据并行输出
\_nop\_();
\_nop\_();
RCLK=0; // 复位引脚
}
/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
\* 函 数 名 : main
\* 函数功能 : 主函数
\* 输 入 : 无
\* 输 出 : 无
\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/
void main()
{
Hc595SendByte(0x80); // 写入0b10000000,让D7引脚输出高电平
P0=0x7f; // 写入0b01111111,让P07引脚输出低电平
while(1);
}
② 在点阵上显示数字0
:
#include "reg51.h" //此文件中定义了单片机的一些特殊功能寄存器
#include <intrins.h>
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
sbit SRCLK=P3^6; //存储寄存器时钟引脚(数据输入时钟线)
sbit RCLK=P3^5; //移位寄存器时钟引脚(输出存储器锁存时钟线)
sbit SER=P3^4; //串行数据输入引脚
// 定义数字0的显示位置
u8 LedSeg[]={0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00};
u8 LedPos[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
\* 函 数 名 : delay
\* 函数功能 : 延时函数,i=1时,大约延时10us
\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/
void delay(u16 i)
{
while(i--);
}
/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
\* 函数名 : Hc595SendByte(u8 dat)
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
**深知大多数嵌入式工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
**因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/164dd249d48a1a022f3f3a628468adfe.png)
![img](https://img-blog.csdnimg.cn/img_convert/596124b8bb7d53a2d9a3400aaeef4c78.jpeg)
![img](https://img-blog.csdnimg.cn/img_convert/9fbd4516ef40c6359a2c2ad35e877782.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!**
![img](https://img-blog.csdnimg.cn/img_convert/18f92b5a1e55be43a72ba78ab6d0f0db.png)
![img](https://img-blog.csdnimg.cn/img_convert/3cd5fd5988e6016cfc324501eb680d87.png)
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以+V:Vip1104z获取!!! (备注:嵌入式)**
<img src="https://img-community.csdnimg.cn/images/73bb5de17851459088c6af944156ee24.jpg" alt="img" style="zoom: 67%;" />
# 最后
**资料整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~**
**你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!**
de17851459088c6af944156ee24.jpg" alt="img" style="zoom: 67%;" />
# 最后
**资料整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~**
**你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!**
**[更多资料点击此处获qu!!](https://bbs.csdn.net/topics/618376385)**