首页 » 科学 » 74HC595驱动8*8点阵屏_点阵_方法

74HC595驱动8*8点阵屏_点阵_方法

落叶飘零 2025-01-12 15:55:43 0

扫一扫用手机浏览

文章目录 [+]

1、74HC595及88点阵驱动事理图如下

74HC595是移位寄存器,它具有输出锁存和输出使能掌握端,可以很方便的发挥出串口转并口的功能,可以方便的用于扩展单片机的IO口。
74HC595的紧张时钟参数如下

74HC595驱动8*8点阵屏_点阵_方法 科学

2、88的点阵事理如下

图为8×8点阵LED外不雅观及引脚图,只要其对应的RO、CO轴顺向偏压,即可使LED发亮。
例如如果想使左上角LED点亮,则RO(1)=1,CO(1)=0即可。

LED一样平常采取扫描式显示,紧张分为三种办法:点扫描、行列扫描;扫描时把稳视觉暂留的韶光(度娘表示是0.1~0.4,这里可以尽可能地调小),即扫描的间隔。

这里采取行列扫描的办法。
所谓行扫描即是先让第一行全部置于有效位,再送所需的列码,接着再按同样的方法依次扫描所有行,并同时送去所有所需的相应列码即可。
所谓列扫描即是先让第一列全部至于有效位,再送所需的行码,接着再按同样的方法依次扫描所有列,并同时送去所需的相应行码即可。

3、点阵取模工具

PCtoLCD2002是常用点阵取模软件,紧张配置参数如下

(1)阴码和阳码

如果行接的是二极管的阳极,列接的是二极管的阴极,则采取行扫描时列取模办法即为阳码,采取列扫描时行的取模办法即为阴码。
对应的若行接二极管阴极,列接二极管阳极,则采取行扫描时取模办法为阴码,采取列扫描时取模办法为阳码。

(2)逆向和顺向

一、若采取行扫描,当点阵横向的数据位从左到右依次为高位到低位时,此时的取模办法为顺向取模,反之则为逆向取模;

二、若采取列扫描,当点阵纵向的数据位从上到下依次为高位到低位时,此时的取模办法为顺向取模,反之为逆向取模。

总之:顺向即是指示阵数据位上高下低,左高右低

本项目采取行扫描的办法实现,通过该取模工具,可以实现字母,图片,汉字的显示,由于是88的点阵,显示不是很细腻,可以根据显示图片做调度,天生优化。

4、驱动如下,这里采取行扫描的办法

(1)引脚配置

#define STCLK_1 LED_74HC595_STCLK_GPIO_PORT->DOSET = LED_74HC595_STCLK_GPIO_PIN#define STCLK_0 LED_74HC595_STCLK_GPIO_PORT->DOCLR = LED_74HC595_STCLK_GPIO_PIN#define SHCLK_1 LED_74HC595_SHCLK_GPIO_PORT->DOSET = LED_74HC595_SHCLK_GPIO_PIN#define SHCLK_0 LED_74HC595_SHCLK_GPIO_PORT->DOCLR = LED_74HC595_SHCLK_GPIO_PIN#define DIN_1 LED_74HC595_DIN_GPIO_PORT->DOSET = LED_74HC595_DIN_GPIO_PIN#define DIN_0 LED_74HC595_DIN_GPIO_PORT->DOCLR = LED_74HC595_DIN_GPIO_PIN

(2)向74HC595的移位寄存器发送数据,根据首部的时钟参数,对付低速的单片机,可以不须要延迟

void led_74hc595_send_byte(uint8_t data){uint8_t i=0;for(i=0;i<8;i++){if(data & 0x80){DIN_1;}else{DIN_0;}data<<=1;SHCLK_0;//delay_us(1);SHCLK_1;//delay_us(1);}}

(3)74HC595 存储器输出

void led_74hc595_output(void){STCLK_0;//delay_us(1);STCLK_1;//delay_us(1);}

(4)逐行扫描

void led_74hc595_display(uint8_t data){uint8_t row = 0;for(row = 0;row < 8;row++){ led_74hc595_send_byte(LED_ROW[row]);//行 led_74hc595_send_byte(data[row]);//列 led_74hc595_output();}}

示例显示一个心形图标,如下所示

标签:

相关文章