1、LED点阵介绍

(1)LED点阵就是多个LED发光二极管的集合,在单个LED的发光原理上没有任何区别;
(2)上面是16x16的LED点阵,总共有16x16=256个LED灯,由32个引脚来控制,其中16个引脚是正极(posn,n=1、2······、16),16个引脚是负极(NEGn,n=1、2······、16);
(3)LED点阵可以用坐标系的思想来理解,用横坐标和纵坐标来确定操作哪个LED等;比如要点亮L1,就给POS1引脚高电平,NEG1引脚低电平;点亮L18,就给POS2引脚高电平,NEG2引脚低电平;
(4)应用:简单一点就是商户门头上显示字幕的LED点阵,一般都是红色的LED等;复杂一点的就是大型的LED点阵屏幕,LED灯是有红黄蓝三种,三个LED灯组成一个像素点,可以像液晶屏目一样显示画面;
(5)原理:当32个引脚的状态确定,LED点阵中所有LED灯的状态也确定,也就是构成了一副画面,不停的改变32个引脚的状态,就会组成不同的画面,也就显示出了动态的画面;

2、74HC595介绍

2.1、引脚介绍

引脚 功能说明
SER 串行数据输入引脚,用于接收传给芯片的数据
RCK 存储寄存器的锁存引脚,当出现上升沿时,把移位寄存器的数据刷新到存储寄存器
SCK 移位寄存器的锁存引脚,当出现上升沿时,移位寄存器里的数据向前移位,并从SER引脚上读取新的一位数据存到移位寄存器里;如果移位寄存器已经存了8位的数据,则会把最开始存入的那一位数据给挤出去,把被挤出去的数据从QH’引脚发送出去
QA-QH 并行输出引脚,输出高电平或者低电平
Q’H 串行数据输出引脚;当串行输入的数据多于8位的时候,会把已有的位挤出去,也就是从QH’引脚发送出去

2.2、芯片的内部组成

(1)组成:74HC595内部有两个寄存器,分别是移位寄存器和存储寄存器;
(2)移位寄存器:负责从SER引脚去读取数据并保存;当SRCLK出现上升沿时,读取SER引脚的状态并保存到移位寄存器中;
(3)存储寄存器:决定8个并行输出引脚的输出电平,每个bit对应一个引脚;
(4)当RCLK引脚出现上升沿时,将移位寄存器中的值刷新到存储寄存器中,这样就可以改变8个并行输出口的状态;

2.3、级联时候的工作流程

(1)每个芯片的数据都是通过SER引脚输入,并保存到移位寄存器中;
(2)SRCLK引脚出现一次上升沿,就读取SER引脚状态,将数据保存到移位寄存器中;
(3)上一级的QH’引脚,作为下一级的SER引脚的输入;
(4)控制所以74HC595芯片的数据,都是由第一级芯片SER引脚输入,依次输入到后级的芯片,可以用"流觞曲水"的场景去理解;
(5)当需要传递的数据都保存到各级芯片的移位寄存器后,RCLK引脚出现一次上升沿,就将移位寄存器的值刷新到存储寄存器中,更新8个并行输出引脚的状态;
(6)假设需要给4个74HC595芯片传递的数据是:0x11、0x22、0x33、0x44;则依次往第一级的74HC595(A)芯片的SER引脚输入这四个数,当全部输入完成后,这四个数据就会被保存到4个芯片的移位寄存器中;

3、为什么要用74HC595芯片来控制LED点阵?

3.1、不使用74HC595芯片

如果不使用74HC595(串转并模块),则32个引脚需要直接用51单片机的IO口去控制,51单片机总共就32个IO口,意味着51单片的所有IO口都要用来控制LED点阵,那51单片机就不能控制其他的外设,这是不能接受的;

3.2、使用74HC595芯片

(1)上面是用4片74HC595芯片级联的方式来控制16*16的点阵,每个74HC595有8个并行输出引脚,4片刚好32个输出引脚;
(2)采用74HC595芯片,只需要3个引脚就能控制LED点阵,减少了引脚的使用数目;
(3)补充:控制更大的LED点阵,还是使用3个引脚,只是要增加级联的74HC595芯片数量;

3.3、使用74HC595芯片的优缺点

(1)优点:节省了控制LED点阵需要的IO口数量;
(2)使用74HC595芯片增加成本,也增加了编程控制的难度;

4、通过74HC595芯片控制LED点阵的代码

#include <reg51.h>sbit SER  = P3^4;           // 74HC595的串行输入端
sbit RCLK = P3^5;          // 锁存时钟
sbit SCLK = P3^6;          // 移位时钟void main(void)
{unsigned char i = 0;unsigned char d1, d2, d3, d4;     // 要给4个595并行输出端输出的值d1 = 0;d2 = 0;d3 = 0xff;d4 = 0xff;SCLK = 0;RCLK = 0;//1、发送数据顺序:先发送最后一级595的数据,最后发送第一级595的数据//2、每个bit数据,先发送高位再发送低位//3、先通过第一级的SER引脚将4片595芯片的数据发送出去,最后再给RCLK制造上升沿,将移位寄存器的值刷新到存储寄存器for (i=0; i<8; i++){    SER = d1 >> 7;           // 将最高bit取出来给SER    SCLK = 0;  SCLK = 1;                  // 制造了一个SCLK的上升沿,把数据报错到移位寄存器中d1 = d1 << 1;            // 将已经发送出去的数据丢弃}for (i=0; i<8; i++){SER = d2 >> 7;         // 将d2的最高bit取出来给SERSCLK = 0;SCLK = 1;                 // 2步制造了一个SCLK的上升沿d2 = d2 << 1;}for (i=0; i<8; i++){SER = d3 >> 7;          // 将d3的最高bit取出来给SERSCLK = 0;SCLK = 1;                 // 2步制造了一个SCLK的上升沿d3 = d3 << 1;}for (i=0; i<8; i++){SER = d4 >> 7;          // 将d4的最高bit取出来给SERSCLK = 0;SCLK = 1;                 // 2步制造了一个SCLK的上升沿d4 = d4 << 1;}//截止到现在,数据情况:第一级5095(d4)、第一级5095(d3)、第一级5095(d2)、第一级5095(d1)//数据还保存在移位寄存器中// 给RCLK引脚一个上升沿,4片595芯片都将移位寄存器中的数据刷新到存储寄存器中//每片595芯片的8个并行输出口状态被改变RCLK = 0;RCLK = 1;}

5、用点阵显示汉字

(1)显示汉字有专门的字模提取软件,输入点阵的规格和显示的汉字,软件会生成显示汉字需要的数据;
(2)取模分为横向取模和纵向取模,具体采用哪种取模方式和点阵显示函数相关;
(3)如果要实现商店门头上点阵的汉字移动效果,则需要对每一帧图像都进行汉字取模,然后依次在点阵上显示;

推荐

给大家推荐一个学校嵌入式知识的网站,博主在大学时候学习嵌入式知识、找工作的时候都在用这个网站,网站里有C语言、Linux等等的笔试题、面试常问问题等等知识,无论是学习基础知识、面试刷题、交流工作经验都是不错的选择。大家一起进步,欢迎留言交流。
链接:学习神器跳转

51单片机开发:通过74HC595控制LED点阵相关推荐

  1. 利用51单片机+hc595芯片配合在led点阵上玩贪吃蛇 第一篇“显示贪吃蛇”

    利用51单片机+hc595芯片配合在led点阵上玩贪吃蛇 第一篇"显示贪吃蛇" 完整的项目链接: https://github.com/linxinloningg/51_chip_ ...

  2. 利用51单片机+hc595芯片配合在led点阵上玩贪吃蛇 第二篇“自动运行函数”

    利用51单片机+hc595芯片配合在led点阵上玩贪吃蛇 第二篇"自动运行函数" 完整的项目链接: https://github.com/linxinloningg/51_chip ...

  3. 51单片机红外通信及控制LED灯(LCD1602显示)

    51单片机红外通信及控制LED灯(LCD1602显示) 大家好,又和大家见面了,离上一次DS18B20传感器的文章已经过去了一个星期了,这期我将给大家带来,基于STC89C52芯片和HS0038红外接 ...

  4. 三、51单片机用74HC595控制LED点阵

    1.LED点阵简介 1.1.什么是LED点阵 (1)外观 (2)作用 LED点阵通过LED(发光二极管)组成,以灯珠亮灭来显示文字.图片等,LED点阵显示被广泛应用于各种公共场合,如汽车报站器.广告屏 ...

  5. 【51单片机实验笔记】3. LED点阵的基本控制

    目录 前言 硬件介绍 驱动芯片 74HC595芯片 MAX7219芯片 原理分析 软件实现 爱心图片 旋转大风车 滚动日期 螺旋线动画 LED点阵功能函数封装 总结 前言 本章接触的硬件依然与LED息 ...

  6. 51单片机实现独立按键控制LED灯

    本节博客主要实现以下效果: 3-1独立按键控制LED亮灭 本段代码主要使用了if...else...语句实现按下按下灯亮,松开按键时灯灭 #include <REGX51.H>void m ...

  7. 51单片机——电脑通过串口控制LED

    目录 1. 串口相关寄存器 1.1 串行控制寄存器SCON 1.2 电源控制寄存器PCON 1.3 与串行口中断相关的寄存器E和IPH.IP 2.源码 2.1 main.c 2.2 UART.c 2. ...

  8. 51单片机流水灯:控制LED亮暗顺序

    我这个是笨方法,就是根据需要LED位置,将二进制转化为16进制去控制其亮. 比如让LED灯按照从右往左数1,3,5,7,8,6,4,2的顺序依次亮,就根据二进制转16进制的表 表示出来即可,代码如下: ...

  9. 用C51汇编语言控制1234灯亮,51单片机:用汇编语言控制LED灯发光

    硬件电路: P1.0 ~ P1.5 外接 6 个 LED,分别称为 D1 ~ D6,低电平发光. P0.0 ~ P0.3 外接 4 个 按键,分别称为 K1 ~ K4. P3.2 ~ P3.3 外接  ...

最新文章

  1. centos6.5 做路由器
  2. C# 篇基础知识10——多线程
  3. leetcode 1269. 停在原地的方案数(dp)
  4. 目前人们把通用计算机,计算机与信息社会基础知识测试题.doc
  5. python建模概述
  6. [SVM系列之一]白话支持向量机(SVM)
  7. SSM框架配置文件加载流程
  8. 用HTML绘制三线表,CSS制作三线表 | 学步园
  9. 测试理论----软件测试六大测试类型
  10. DCDC中电感的计算
  11. 80C51单片机:3.数码管显示、封装与消隐
  12. AtCoder Beginner Contest 164 E Two Currencies【最短路】
  13. Vi编辑文件无法保存退出的解决方法
  14. python人脸识别解锁电脑_python人脸识别
  15. troublemaker中文谐音_饿狼传说谐音歌词
  16. 2021_lg_03.SQL实战:如何用sql计算用户留存问题
  17. 技术总结-技术方案模板
  18. 中国大学MOOC哈工大C语言程序设计第9周编程题在线测试
  19. c语言中数字字符的ascii码,求教!我想显示数字但是现在显示的却是数字在ASCII码中对应的符...
  20. 对外承包工程有哪些条件_哪些企业可以申请办理对外承包工程经营资格

热门文章

  1. 联想拯救者R9000P 3060 VMware安装ubuntu18.04
  2. 围观设计模式(5)--迪米特法则(Lod,Law of Demeter)或最少知道原则(Least Knowledge Principle)
  3. 区块链加速在各行各业落地,从金融领域逐步渗透到工业、物流等领域
  4. 【C#】WindowsAPICodePack-Shell使用教程
  5. 闺蜜带对象一起在群里群名_吉珠人最新微信群名曝光!这都是什么魔鬼群聊,最后一个让我笑出哭声!...
  6. element ui Table表格数据筛选功能实现
  7. android 颜色填充工具,Android矢量图之VectorDrawable类自由填充色彩
  8. python matplotlib模块解析_Python数据分析模块二:Matplotlib
  9. Lua-- 面向对象
  10. Java设计模式之单例模式(附简单案例)