51单片机入门:LED点阵屏

LED点阵屏介绍

LED点阵屏由若干个独立的LED组成,LED以矩阵的形式排列,以灯珠亮灭来显示文字、图片、视频等。LED点阵屏广泛应用于各种场合,如:广告屏、公告牌等。

分类

按颜色:单色、双色、全彩;

按像素:8*8、16*16等(大规模的LED点阵屏通常由很多个小点阵屏拼接而成);

显示原理

 如图为8*8点阵模块,总共有8×8=64个LED灯,由16个引脚来控制,其中8个为正极(Da、Db、...、Dh);8个为负极(P00、P01、...、P07);

LED点阵屏与数码管一样,有共阴和共阳极两种接法,不同的接法对应的电路结构不同(对于单色点阵屏区别不大,对于双色或多色区别大)。

LED点阵屏需要逐行或逐列扫描,才能使所有LED同时显示。

原理:当16个引脚状态确定,LED点阵屏中的所有LED状态也确定,就构成了一幅画面。不停地改变16个引脚的状态,就会组成不同的画面,也就显示出了动态画面。


74HC595芯片

74HC595芯片是一个串行输入、并行输出的设备。内部包含一个8位移位寄存器、一个存储器以及三态输出门电路。其中移位寄存器和存储器都有相互独立的时钟。

用三根线(SER、SRCLK、RCLK)输入串行数据,8根线输出并行数据;多片级联后可输出16为、24位、32位等数据。

  • 引脚定义

OE:输出使能(上图为低电平有效),即当其为0时这个芯片才能工作(通过跳线帽将J24的VCC和OE连接在一起即可)。

SER(DS):串行数据输入。

RCLK:移位寄存器时钟。当出现上升沿时,将移位寄存器的数据存到存储寄存器。

SRCLR(MR):串行清零端(低电平时将清空移位寄存器的数据),一般不用,接高电平即可。

SRCLK:串行时钟。当出现上升沿时,移位寄存器的数据向前移位,并从SER上读取新的一位数据存到移位寄存器里(压子弹一样)。

QH':当串行数据多于8位时,会将已有的位挤出去。级联后可作为下一级的SER引脚输入。

Qa到Qh:并行输出引脚。

  • 工作流程

(1)每个芯片的数据都是通过SER引脚输入,并保存到移位寄存器中;

(2)SRCLK引脚出现一次上升沿,就读取SER引脚状态,将数据保存到移位寄存器中;

(3)当需要传递的数据都保存到各级芯片的移位寄存器后,RCLK引脚出现一次上升沿,就将移位寄存器的值刷新到存储寄存器中,更新8个并行输出引脚的状态;

  • 芯片应用

通常使用74HC595芯片来控制LED点阵屏,优点如下:

1、采用74HC595芯片,只需3个引脚就能控制LED点阵屏,减少了引脚的使用数;

2、控制更大的LED点阵屏,还是只需使用3个引脚,只是要增加级联的74HC595芯片数量;


LED点阵屏显示图片代码:

#include <REGX52.H>
#include <delay.h>sbit RCK=P3^5; //RCLK
sbit SCK=P3^6; //SRCLK
sbit SER=P3^4; //SERvoid _74HC595(unsigned char Byte){unsigned char i;for(i=0;i<8;i++){SER=Byte&(0x80>>i);SCK=1;SCK=0;}RCK=1;RCK=0;
}void LEDshow(unsigned char x,y){_74HC595(y);  //代表这一列亮哪几个灯P0=~(0x80>>x);//代表第几列亮Delay100us();P0=0xFF;
}void main (){SCK=0;RCK=0;while(1){LEDshow(0,0x70);LEDshow(1,0x88);LEDshow(2,0x44);LEDshow(3,0x22);LEDshow(4,0x22);LEDshow(5,0x44);LEDshow(6,0x88);LEDshow(7,0x70);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/797095.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nuxt3配置打包静态资源在某一路径下

export default defineNuxtConfig({app: {baseURL: "/account-project"} });

ruoyi-nbcio-plus基于vue3的flowable流程设计器组件的升级修改

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 http://122.227.135.243:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a…

银行ITSS体系下低代码运维体系实践分享

前言 自2021年中国人民银行发布《金融科技发展规划&#xff08;2022-2025年&#xff09;》以来&#xff0c;商业银行迈入数字化转型的高阶阶段。在此背景下&#xff0c;为了进一步提高金融科技的管理水平&#xff0c;商业银行需要改变传统金融运维模式&#xff0c;对已有运维体…

红黑树插入机制深度剖析与实践指南

红黑树插入机制深度剖析与实践指南 一、红黑树的基本概念二、插入操作的初步2.1 RB-INSERT-FIXUP过程2.2 循环的不变性2.2.1 情况1&#xff1a;叔节点是红色2.2.2情况2和情况3&#xff1a;叔节点是黑色 三、插入操作的复杂性分析四、伪代码4.1 RB-INSERT 过程4.2 RB-INSERT-FIX…

理解PostgreSQL中的postmaster.pid

在PG中&#xff0c;一个简要的体系结构图可以大致画成下边的样子&#xff1a; Server端基本上分成backend process和若干background process。这些process都是一个名为postmaster进程的子进程。而postmaster则是postgres进程的别名。 进程概况 [14:42:08-postgrescentos1:/pg…

2024.4.2-day07-CSS 盒子模型(显示模式、盒子模型)

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 作业 2024.4.2 学习笔记CSS标签元素显示模式1 块元素2 行内元素3 行内块元素4…

嵌入式学习48-单片机1

51单片机—————8位单片机 裸机驱动 无系统 linux驱动 有系统 驱动-----反映硬件变化 MCU 微控器 MPU CPU GPU 图像处理 IDE 集成开发环境 peripheral 外设 SOC&#xff1a; system on chip P0&#xff1a;8bit——8个引脚 位运算 & …

美国CPC认证是什么?为什么必须办理CPC认证呢?

美国CPC认证&#xff0c;全称为Childrens Product Certificate&#xff0c;是儿童产品认证的意思。它主要针对的是在美国市场销售的儿童产品&#xff0c;如玩具、家具、童车、餐椅、床上用品等。CPC认证要求产品安全性高&#xff0c;符合美国加州65、16 CFR等法规要求&#xff…

15 个最佳 Word 文档恢复工具 [免费下​​载]

MS Word 文档恢复的重要性 对于严重依赖 Microsoft Word 创建和编辑文档的个人和企业来说&#xff0c;MS Word 文档恢复是一个至关重要的方面。 文件损坏、系统崩溃和其他意外事件可能会导致 Word 文档中存储的重要数据丢失。 及时恢复这些文档有助于节省时间、精力和资源。 本…

隐私计算实训营学习八:隐语SCQL的开发实践

文章目录 一、SCQL使用集成最佳实践1.1 SCQL使用流程1.2 SCQL部署1.3 SCQL使用示例 二、SCQL工作原理三、使用SecretNote上手体验SCQL 一、SCQL使用集成最佳实践 1.1 SCQL使用流程 SCQL使用&#xff1a; SCQL 开放 API 供⽤户使⽤/集成。可以使⽤SCDBClient上⼿体验(类似与My…

【计算机毕业设计】宠物销售系统——后附源码

&#x1f389;**欢迎来到我的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 一名来自世界500强的资深程序媛&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 在深度学习任务中展现出卓越的能力&#xff0c;包括但不限于…

机器学习(五) -- 监督学习(3) -- 朴素贝叶斯

系列文章目录及链接 目录 前言 一、朴素贝叶斯通俗理解及定义 二、原理理解及公式 1、概率基础 2、贝叶斯公式 3、拉普拉斯平滑系数 三、**算法实现 四、接口实现 1、新闻数据集介绍 2、API 3、流程 3.1、获取数据 3.2、数据预处理 3.3、特征工程 3.4、朴素贝叶…

Java Math类

Math常用的API 代码 System.out.println(Math.abs(-12)); // 12 绝对值System.out.println(Math.ceil(12.3)); // 13.0 向上取整System.out.println(Math.floor(12.3)); // 12.0 向下取整System.out.println(Math.max(12, 13)); // 13 最大值System.out.println(Math.min(12, 1…

顺序表的应用之通讯录

学习了顺序表之后&#xff0c;我们也得知道它的实际用途吧&#xff01;所以&#xff0c;我们今天来学习一下通讯录的实现。 typedef struct personInfo SLDataType; contact.h #define NAME_MAX 20 #define GENDER_MAX 20 #define GTEL_MAX 20 #define ADDR_MAX 100 #include&…

Java Web这一路走来

大部分Java应用都是Web或网络应用&#xff0c;MVC框架在Java框架中有着举足轻重的地位&#xff0c;一开始的Web应用并不现在这样子的&#xff0c;一步一步走来&#xff0c;每一步都经历了无数的血和泪的教训&#xff0c;以史为镜可以知兴替。 1. 草莽时代 早期的Java服务端技…

Flutter开发之图片选择器

使用FLutter开发了一个图片选择的组件&#xff0c;功能如下&#xff1a; 1、支持设置最大可选图片的个数&#xff1b; 2、根据选择的图片个数自适应容器组件的高度&#xff1b; 3、可设置容器的最大高度&#xff1b; 4、支持点击放大和删除功能&#xff1b; 具体效果如下 …

HarmonyOS4.0 ArkTS基本语法

一、项目目录结构 二、HelloWorld 当我们创建一个新的page时&#xff0c;IDE会给我们生成一个HelloWorld的模板 新建page 开启预览器 三、ArkTS基本组成 装饰器&#xff1a; 用于装饰类、结构、方法以及变量&#xff0c;并赋予其特殊的含义。如上述示例中Entry、Component…

软考113-上午题-【计算机网络】-IPv6、无线网络、Windows命令

一、IPv6 IPv6 具有长达 128 位的地址空间&#xff0c;可以彻底解决 IPv4 地址不足的问题。由于 IPv4 地址是32 位二进制&#xff0c;所能表示的IP 地址个数为 2^32 4 294 967 29640 亿&#xff0c;因而在因特网上约有 40亿个P 地址。 由 32 位的IPv4 升级至 128 位的IPv6&am…

Qt快速入门到熟练(3.程序运行发布与设置图标)

程序运行发布 当我们执行过qt过后&#xff0c;将会在项目目录里面生成出一个debug构建目录&#xff0c;点击进去选择debug文件夹&#xff0c;就可以看到我们生成出来的可执行文件。 很显然我们的项目就叫做MyFirstWidget&#xff0c;所以生成的可执行文件在没有人为设置的情…

idea链接gitlab的token到期

报错 HTTP Request Request GET http://36.46.143.158:6060/api/v4/version failed wit