LED点阵屏(1)

显示静态图形

1.点阵分类

颜色:单色,双色,全彩(一个LED灯有三种颜色)

像素:8*8,16*16(一般的点阵屏都会做成矩阵的形式是8的倍数)一个字节是8位

注意1:大规模的LED 点阵都由小点阵拼接

使能就是选中。给0就是未选中

2.点阵屏需要逐行或者逐列扫描,也分为共阳极和共阴极接法

注意2:点阵屏和数码管一样,一次只能让一个数码管亮??而要同时显示,则需要快速的切换扫描。

3.控制点阵屏

(1)通过74HC595的P35 P36 P34三个接口控制点阵屏的输出内容

(2)74HC595工作原理(串行输入,并行输出)

OE上面加一个横杠表示低电平有效(output enable)(即只有在低电平的情况下,才能进行输出)

注意:通过跳线帽,OE和GND短接(短接即直接连接),才能使能,使之有输出

RCLK:寄存器时钟

SRCLR(杠):串行清零端(低电平有效)此处直接连接到VCC表示不进行清零

SRCLK:串行时钟

SER:串行数据

首先,通过串行的方式,将数据给予移位寄存器,作为输入。而移位寄存器怎么导入这些串行数据呢?(向下)通过串行时钟,每来一次上升沿,数据就会向下走一位,从而将串行数据给予了移位寄存器。如何控制输出??通过寄存器时钟来进行,如果寄存器时钟有上升沿的话,会将移位寄存器中的数据直接搬移到右边的数据缓存区(移位寄存器一位一位的移动,移动到8位就整个搬到右边的数据缓存区)

QH‘:用于多片级联,可以输出16位,32位等

4.如何使用三根线进行数据传输?要在输出显示0000 0101
(1)先在SER引脚写入1(由高位到低位写入)

(2)控制时钟来一个上升沿,就会将串行数据1,写入移位寄存器的第一个位置(从上到下:1空空空空空空空),然后再将上升沿进行清零回到默认状态(单片机上电默认是高电平,我们要对上升沿移位 SERCLK进行初始化为低电平,否则高电平则会进行移位)

(3)将SER清零,此时SER的串行数据是0,然后再给予上升沿移位 SERCLK一个上升沿,从而将0输入移位寄存器,之前的 1 向下移动一位(从上到下:01空空空空空空),再将SERCLK清零,变为默认低电平

(4)然后再给1,再移动,再给0,再移动。从低位到高位进行赋予

最后变为(从上到下:0000 0101)

(5)此时数据移位完成(移位获取8位数据之后),我们将上升沿锁存 RCLK 给予高电平(默认为低电平),然后会将左边的8位数据搬运到右边(左边和右边都是0000 0101,0000 0101)

右边为输出缓存。(如果不进行锁存,可能还在移位,就搬运到右边)

(6)如果将上升沿移位 SERCLK再置高电平(上升沿触发移位),会将之前的8位数据的最低位顶出去,由QH' 进行输出。从而刷新移位寄存器里面的数据。再将QH'接入下一片74HC595C的SER中作为输入数据,然后进入移位寄存器,可以通过QH‘进行多片的级联。

排队!!!!!!!!!

(7)通过此方法可以控制多个级联芯片的移位寄存器的数据,然后,当全部数据传输到位以后,通过上升沿锁存 RCLK,来控制全部芯片的锁存,然后移到右边的数据缓存区!!

(上升沿移位 SERCLK和上升沿锁存都是与下一片的对应位置连接,QH'连接下一片的SER端口)

可以做I/O口扩展(由于是串行输出,所以速度会很慢)

        74HC595和38译码器不同的地方在于:38译码器只能选中8根线其中的一根,不可以输出不同的数据,而595可以通过串行输入的方式,输出不同的数据。

注意:通过列数据,直接给P0赋值即可。行数据要经过74HC595进行串行输入,进行赋值。

注意:不可以直接将点阵屏的行列接到单片机的I/O口进行配置(大部分都需要芯片进行驱动),因为单片机的I/O口的输出是弱上拉类型(输出低电平驱动能力大,能接受很大的电流。而高电平,驱动电流比较小,驱动能力小)。直接配置,驱动电流小,点阵会显示的很暗。

但是可以通过一个三极管来进行电流放大(小电流驱动大电流)

  • 13
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值