单片机学习--8*8点阵图
Posted mengnan-konghai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机学习--8*8点阵图相关的知识,希望对你有一定的参考价值。
声明:1、我使用的单片机是STC89C52
2、 使用74HC595来扩展IO口
3、其实点阵屏的原理很简单,所以这里着重讲74HC595芯片 串入并出的使用。
点阵图原理:
这是常见点阵图所看到的背面引脚部分。引脚的辨认依靠图中下方凸起的小点辨认引脚号。
其实点阵图的使用与数码管类似。都是点亮小的二极管,来达到显示字符的功能。值的注意的是,它的显示,也是利用了人眼视觉留存效果。
重点来了:74HC595的使用。(可级联)
对于未知芯片的使用解决办法-------看pdf手册
这里我们主要看它的管脚说明、真值表、时序图。
从这两张来看如何连接该元器件
看这张表可以得出如何使用该元器件
看完表我该抓住的点:1、(10脚)SLCR 低电平时,(复位)移位寄存器清零 通常将它接vcc
2、 (11脚)SCK 上升沿有效,数据串行输入,在移位寄存器内具体移位 Q0->Q1->Q2.......->Q7
3、 (13脚)OE 高电平时禁止输出 通常接地
4、 (12脚)RCK 上升沿时,将数据Q0.....Q7并行输出。
5、 (14脚) SI 数据串联输入,级联时,接上一个元器件的 (9脚)SQH
6、 (9脚) SQH 串联数据输出脚
这里附一张图是在b站时看视频截图得来
这里还是得强调一下串行数据是怎么输入的:
1、单片机通过DI线依次传入8位数据 从高位开始传送。传送到74HC595内的移位寄存器的低位。之后开始上移。
1 /*点亮一个小灯*/ 2 #include <reg52.h> 3 sbit DIO = P3^4; //串行数据口 4 sbit S_CLK = P3^5;//移位寄存器时钟 5 sbit R_CLK = P3^6;//输出锁存器时钟 6 void main() 7 { 8 //ROW 0x80 , COL 0xfe 9 unsigned char i, dat;//i循环次数 dat需要发送的数据 10 dat = 0xfe;//发送列值 11 for(i=0; i<8; i++)//循环8次 12 { 13 S_CLK = 0;//拉低移位寄存器时钟 14 R_CLK = 0;//拉低输出锁存器时钟 15 if(dat & 0x01)//发送1 16 DIO = 1; 17 else //发送0 18 DIO = 0; 19 S_CLK = 1;//拉高移位寄存器时钟,数据移位 20 dat >>= 1;//数据右移 21 } 22 dat = 0x80;//发送行值 刚发送的列值就被压到第二片中的移位寄存器 23 for(i=0; i<8; i++)//循环8次 24 { 25 S_CLK = 0;//拉低移位寄存器时钟 26 R_CLK = 0;//拉低输出锁存器时钟 27 if(dat & 0x01)//发送1 28 DIO = 1; 29 else //发送0 30 DIO = 0; 31 S_CLK = 1;//拉高移位寄存器时钟,数据移位 32 dat >>= 1;//数据右移 33 } 34 R_CLK = 1;//拉高输出锁存器时钟,并行输出数据 35 while(1); 36 }
以上是关于单片机学习--8*8点阵图的主要内容,如果未能解决你的问题,请参考以下文章
8051单片机实战分析(以STC89C52RC为例) | 09 - LED点阵显示数字
51单片机8×8LED点阵屏动态显示取模汉字+ Proteus仿真
51单片机8×8LED点阵屏显示数字动态显示+ Proteus仿真
单片机Proteus7.8仿真和Proteus8.6仿真 LED点阵 温度采集 电子琴 温度报警 电子秤 音乐播放器 PWM 电压表 温度计 交通灯