🚀write in front🚀
🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝💬本系列哔哩哔哩江科大51单片机的视频为主以及自己的总结梳理📚
前言:
本文是根据哔哩哔哩网站上“江协科技51单片机”视频的学习笔记,在这里会记录下江协科技51单片机开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技51单片机教学视频和链接中的内容。
引用:
51单片机入门教程-2020版 程序全程纯手打 从零开始入门_哔哩哔哩_bilibili
c51语言变量语句意思,C51中循环语句-CSDN博客
LED点阵引用:
小白跟做江科大51单片机之LED点阵屏-CSDN博客
江科大51单片机学习笔记之LED点阵屏_江科大led点阵屏-CSDN博客
模拟电梯控制:
【51单片机练习3——智能电梯控制系统1】_智能电梯系统-CSDN博客
基于51单片机的四层电梯控制系统_51单片机电梯控制系统设计-CSDN博客
51单片机学习——1天学完普中基本实验例程,走马观花式学习,大家切勿效仿。_普中单片机实验-CSDN博客
正文:
0. 🌿概述
在淘宝上购买了江协科技51单片机开发板套件(普中科技STC51单片机A2型号),就上在上一篇博文里说的自己计划学习下江协科技51单片机开发教程,通过STC51单片机这种MCU这种贴近于裸机的开发来增加对于系统硬件层面知识的了解和掌握。
1. 🚀51单片机控制LED点阵屏(8*8)
LED点阵屏(8*8)的点阵规格,可以分为单色屏,双色屏,三色屏(红绿蓝三色可以组成全彩色)
8*8 LED点阵显示屏的显示原理和8段LED数码段的驱动原理相似,LED点阵显示屏也需要按行或者按列的方式依次扫描显示每一行/列,控制行/列显示的内容。
8*8 LED显示点阵和数码管一样,有共阴极和共阳极两种接法,因为点阵矩阵可以按行或整案列查看所以单色LED 显示矩阵的共阴极和共阳极接线方法没有什么差异。但是对于双色的8*8 LED显示矩阵共阴极和共阳极的接线方法就有差异了。
2. 🚀51单片机开发板LED点阵屏电路原理图
我本次实验使用的普中科技51单片机开发板LED点阵屏电路原理图如下
经过测试开发板的实际接线如下,D0~D7接在 8*8 LED点阵的行,P00~P07接在LED点阵的列。
😎如果直接使用单片机的IO口来驱动 8*8 LED点阵则需要16个IO口,为了节约单片机IO口资源使用 74HC595移位寄存器来减少单片机IO口资源使用。
😎74HC595使用 3 个输入IO口,看控制8个IO口的输出。
3. 🚀 74HC595的使用
74HC595的工作原理
🚀 74HC595 是串行输入并行输出移位寄存器,可用3根线输入串行数据,8根线输出并行数据,多片级联后,可输出16位,24位,32位等,常用于IO口扩展。
串行输入,并行输出。
🌵左边是移位寄存器
🌵右边是暂存寄存器
单片机IO口上电默认是高电平,所以需要初始化为低电平。
单片机IO口电路示意通中引脚符号上的“上划横线”表示低电平有效。
引脚 | 说明 |
RCLK (Register Clock) | 寄存器时钟 |
SRCLK (Serial Clock) | 串行时钟 |
SRCLR (Serial Clear) | 串行清零 |
SER | 串行数据 |
单片机IO口输出是若上拉,其特性是输出低电平可以通过较大电流,输入高电平通过电流较弱。单片机IO口输出高电平驱动LED能力较弱,所以输出高电平驱动LED灯可以通过一个 74HC245缓冲器或者三极管来缓冲一下,增强IO口高电平信号的驱动能力。
即使是使用了74HC595来增大引脚的驱动能力驱动能力,输出点亮LED的亮度还是不均匀。
74HC595是恒压输出的,观察点阵屏的输出效果可以发现当74HC595一次点亮多个(例如8个)LDE灯时,LED灯的亮度要比一次点亮2个LED灯的亮度要弱。点阵显示屏显示动态数据的时候亮度不均匀。
原因是 74HC595是恒压输出的,解决方法可以是使用恒流输出的缓冲器,让每一个输出引脚的输出电流恒定当要驱动多个引脚时会自动增大总的输入电流。