51单片机-8*8点阵屏(清翔版)

51单片机-8*8点阵屏

.根据LED灯的正负极来看,在LED共阳极电路图中,行为低电位,列为高电位。也就是行给0,列给1,在这个交叉点上的led灯才会亮起。在原理图中行的最上面为高位,最下面为低位。
2.点阵屏的显示也是用的静态扫描就是人眼的视觉暂留,比如说要显示(1,1)和(2,3)这两个坐标下的led灯需要先显示第一个,在显示第二个,然后快速循环显示,这样就出现视觉暂留。
在这里插入图片描述
在这里插入图片描述

(2).74HC595芯片

1.如果使用纯端口控制,8*8点阵屏幕就需要16个端口来控制造成端口浪费,这时候需要使用74HC595来并联接口控制。
2.74HC595芯片是串行输入数据并行输出数据,例如将8位二进制通过串行一位一位输入芯片,当满了8位以后并行输出所有数据。这样就可以用两个芯片来控制16位引脚。
在这里插入图片描述
3.芯片引脚功能解释:
● 14脚:DS(SER),串行数据输入引脚
● 13脚:OE,输出使能控制脚,它是低电才使能输出,所以接GND
● 12脚:RCK(STCP:输出开关),存储寄存器时钟输入引脚。上升沿时,数据从移位寄存器转存到存储寄存器。RCK引脚给一个上升沿(由0到1),8位数据就会从芯片中并行同时输出。
● 11脚:SCK(SHCP:输入开关),移位寄存器时钟引脚,上升沿时,移位寄存器中的bit 数据整体后移,并接受新的bit(从SER输入)。当为上升沿时,数据一位接着一位叠罗汉似的存储在芯片中。
● 10脚:MR,低电平时,清空移位寄存器中已有的bit数据
● 9 脚 (级联引脚):串行数据出口引脚。当移位寄存器中的数据多于8bit时,会把已有的bit“挤出去”,就是从这里出去的。用于595的级联。
● 解释级联:当两个芯片进行级联的时候,只需要一个引脚进行输入数据,,比如输入16位数据,当一个芯片的8位数据满的时候,就会通过Q7S引脚将芯片中低位(最下面的数据)放到下一个芯片中,双层叠罗汉。
在这里插入图片描述
在这里插入图片描述
芯片级联原理图解释:下面芯片为1号,上面的为2号芯片,1号通过级联口Q7与2号的数据输入口14引脚相连,当1号芯片存储数据满时将数据传输到2号芯片中。在外部控制器中DI是数据输入端口,而CLK与LE控制着两个芯片的数据输入与数据输出。1号芯片输出的是数据中的后8高位,2号芯片输出的是前8低位。

3.代码解释

1.矩阵屏幕显示的形式是一行一行显示的,首先显示第一行中所有列元素的数据,然后再显示第二行中所有列元素的数据,依次动态扫描。
2.通过led的正负极,可以知道行是为高,列为低电平才能显示,8次for循环的含义就是得出某行的列坐标。
比如 x行的列坐标是 0100 1100,八次循环就是得出列坐标为( 0100 1100),然后通过另一个函数得出要将这些数据显示在哪一行。
3.(dat & 0x01):是用来将16进制数据转行成二进制数据,与(dat >>= 1)进行配合使用。二进制数据会通过DI进入并行通道。

//这个函数的作用就是将16进制装为2进制送给芯片2进制数据进行显示
viod displayBit( uchar dat ){
   
    IN = 0;
    OUT  = 0;
    for (int j = 0; j < 8; ++j) {
   
       if(dat & 0x01){
   
           DI = 1;
       } else{
   
           DI = 0;
       }
       IN = 1;
       dat >>= 1;
        IN = 0;
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值