6. LED 点阵屏
点阵屏介绍
LED点阵屏由若干个独立的LED组成,LED以矩阵的形式排列,以灯珠亮灭来显示文字、图片、视频等。LED点阵屏广泛应用于各种公共场合,如汽车报站器、广告屏以及公告牌等
LED点阵屏分类
按颜色:单色、双色、全彩
按像素:8*8、16*16等(大规模的LED点阵通常由很多个小点阵拼接而成)
![](/assets/blank.gif)
显示原理
![](/assets/blank.gif)
LED点阵屏的结构类似于数码管,只不过是数码管把每一列的像素以“8”字型排列而已
LED点阵屏与数码管一样,有共阴和共阳两种接法,不同的接法对应的电路结构不同
LED点阵屏需要进行逐行或逐列扫描,才能使所有LED同时显示
74HC595介绍
•74HC595是串行输入并行输出的移位寄存器,可用3根线输入串行数据,8根线输出并行数据,多片级联后,可输出16位、24位、32位等,常用于IO口扩展。
特点,8位串行输入,8位串行或并行输出,存储状态寄存器,三种状态,输出寄存器可以直接清除,100MHz的移位频率。移位寄存器和存储器是分别的时钟,数据在SH_CP(11脚)的上升沿输入,在ST_CP(12脚)的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早--个脉冲。 移位寄存器有一个串行移位输入(Ds,14脚),和一个串行输出(Q7’) ,和一个异步的低电平复位(MR,10脚),存储寄存器有一个并行8位的,具备三态的总线输出,当使能0E(13脚)时(为低电平),存储寄存器的数据输出到总线。
![](/assets/blank.gif)
C51的sfr、sbit介绍
•sfr(special function register):特殊功能寄存器声明
例:sfrP0 = 0x80;
声明P0口寄存器,物理地址为0x80
•sbit(special bit):特殊位声明
例:sbitP0_1 = 0x81; 或 sbit P0_1 = P0^1;
声明P0寄存器的第1位
•可位寻址/不可位寻址:在单片机系统中,操作任意寄存器或者某一位的数据时,必须给出其物理地址,又因为一个寄存器里有8位,所以位的数量是寄存器数量的8倍,单片机无法对所有位进行编码,故每8个寄存器中,只有一个是可以位寻址的。对不可位寻址的寄存器,若要只操作其中一位而不影响其它位时,可用“&=”、“|=”、“^=”的方法进行位操作
LED点阵屏输出图像
1)程序
#include <REGX52.H>
#include "Delay.h"
#include "MatrixLED.h"void main()
{MatrixLED_Init();while(1){MatrixLED_ShowRow(0,0x3C);MatrixLED_ShowRow(1,0x42);MatrixLED_ShowRow(2,0xA5);MatrixLED_ShowRow(3,0x81);MatrixLED_ShowRow(4,0xA5);MatrixLED_ShowRow(5,0x99);MatrixLED_ShowRow(6,0x42);MatrixLED_ShowRow(7,0x3C);}
}
MatrixlLED.c
#include <REGX52.H>
#include "Delay.h"sbit RCK=P3^5; //RCLK
sbit SCK=P3^6; //SRCLK
sbit SER=P3^4; //SER#define MATRIX_LED_PORT P0
void MatrixLED_Init()
{SCK=0;RCK=0;
}/*** @brief 74HC595写入一个字节* @param Byte 要写入的字节* @retval 无*/
void _74HC595_WriteByte(unsigned char Byte)
{unsigned char i;for(i=0;i<8;i++){SER=Byte&(0x80>>i);SCK=1;SCK=0;}RCK=1;RCK=0;
}/*** @brief LED点阵屏显示一行数据* @param Row 要选择的行,范围:0~7,0在最上边* @param Data 选择列显示的数据,高位在上,1为亮,0为灭* @retval 无*/
void MatrixLED_ShowRow(unsigned char Row,Data)
{_74HC595_WriteByte(Data);MATRIX_LED_PORT=~(0x80>>Row);Delay(1);MATRIX_LED_PORT=0xFF;
}
2)Proteus仿真
![](/assets/blank.gif)
仿真注意事项
红色:上为列选(高电平有效)
下为行选(低电平有效)
其他:下为列选(高电平有效)
上为行选(低电平有效)
SH_CP:移位寄存时钟(上升沿有效)
ST_CP:移位存储器时钟(上升沿有效)
DS:串行数据输入
MR:异步的低电平复位(需要置为高电平)
6. LED 点阵屏相关推荐
- 51单片机——LED点阵屏显示动画
1.前言 LED点阵屏显示图形: https://blog.csdn.net/YLG_lin/article/details/126587462?spm=1001.2014.3001.5501 当我们 ...
- MCU-51:LED点阵屏
目录 一.点阵屏介绍 1.1 简介 1.2 分类 二.点阵屏原理 2.1 点阵屏显示原理 2.2 74HC595芯片介绍 三.代码演示 3.1 静态笑脸 3.2 动态Hello! 注意:一定要看 之前 ...
- 电子设计教程50:16*16LED点阵屏驱动-LED点阵屏工作原理
我尝试通过移位寄存器级联+三八译码器,实现用3跟控制线,驱动1616LED点阵屏的效果.这是第二篇博客,讲述LED点阵屏的工作原理. 如下图的88LED点阵屏,要想控制第2行第3列的LED灯( ...
- 51单片机——LED点阵屏(显示滚动画面)
目录 一.关于数码管.LED点阵屏显示的注意点 二.功能介绍 三.主要模块的介绍 3.1 74HC595模块和点阵屏显示函数 3.1.1 74HC595介绍 3.1.2 点阵屏显示函数MatrixLE ...
- C51---9 LED点阵屏
C51---9 LED点阵屏 LED点阵屏介绍
- 【Arduino实验11 LED点阵屏显示】
目录 一.实验目的 二.实验设备与环境 三.实验重点 四.实验难点 五.实验内容 5.1实验任务 5.2实验原理 5.3实验内容 5.4实验结果 5.5思考题 一.实验目的 1熟悉8*8点阵屏的原理与 ...
- 51定时中断系统控制LED点阵屏显示逐帧动画
写在前面 最近回头看之前写的文章感到一种很浓的公式感,我确实是提前写好了模板每次都套用,整篇看下来感觉就像是在交老师布置的实验报告,看起来很成熟但实际上背离了自己的初衷,接下来我会尽可能的复现自己在做 ...
- [入门教程]详细讲解STM32控制LED点阵屏(HUB75接口)
本文适合初级入门的同学,大佬请绕道.讲解怎么用stm32驱动成品LED点阵屏显示一副七色无灰度的图片,有灰度的图片可以入门后继续研究. 使用软硬件: 软件:Keil5,程序在后面会给出 硬件:STM3 ...
- 51单片机学习笔记(串口通信 LED点阵屏 DS1302)
四.串口通信 1.基本概念 通信中最重要的两个方面: 信息表示和解析方法: 信息的传输方法. 通信双方事先需要约定好信息的表示方法和解析方法,做到一致,否则信息不能有效传递. 信号的传输方法是指经过编 ...
最新文章
- [云炬创业基础笔记]第二章创业者测试19
- java环境变量配置(win7)
- Git之深入解析如何通过GPG签署和验证工作
- redis-4.0.11主从配置初步探究
- android弹窗不能手动关闭_vue3.0系列:Vue3自定义PC端弹窗组件V3Layer
- tdd java_Java TDD简介–第2部分
- C# 发送email邮件!
- linux系统下codeblocks控制台打印中文乱码
- STM32----摸石头过河系列(六)
- 实用UI素材|UI中的按钮设计
- 安卓源码下载的环境搭建
- python内置函数源码中啥都没有_如何查看python内置函数源码
- SCS【1】今天开启单细胞之旅,述说单细胞测序的前世今生
- Ubuntu 18.04 增加swap空间 亲测有效
- SRCNN:Image Super-Resolution Using Deep Convolutional Networks
- 大头贴边框html,给照片加个艺术边框 用啥软件帮你忙?
- 第十七届全国大学生智能汽车竞赛创意组-百度智慧交通(丝绸之路)
- 屏幕录制一键截图工具 FastStone Capture 9.0 绿色便携中文版
- php课设源代码网站,php精品课程教学网站在线发布系统
- IEC61499标准背后的逻辑