原创
4HC595驱动8*8点阵屏
2020-5-23 16:22
3789
61
25
分类:
模拟
文集:
程序设计
74HC595驱动8*8点阵屏
置顶 菜袅1号 2020-05-19 10:00:03 52 收藏展开该项目使用国产M0核单片机,驱动方式类似于stm32平台;点阵驱动芯片:74HC595;点阵屏:8*8
1、74HC595及8*8点阵驱动原理图如下
74HC595是移位寄存器,它具有输出锁存和输出使能控制端,可以很方便的发挥出串口转并口的功能,可以方便的用于扩展单片机的IO口。74HC595的主要时钟参数如下
2、8*8的点阵原理如下
图为8×8点阵LED外观及引脚图,只要其对应的RO、CO轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则RO(1)=1,CO(1)=0即可。
LED一般采用扫描式显示,主要分为三种方式:点扫描、行列扫描;扫描时注意视觉暂留的时间(度娘表示是0.1~0.4,这里可以尽可能的调小),即扫描的间隔。
这里采用行列扫描的方式。所谓行扫描即是先让第一行全部置于有效位,再送所需的列码,接着再按同样的方法依次扫描所有行,并同时送去所有所需的相应列码即可。所谓列扫描即是先让第一列全部至于有效位,再送所需的行码,接着再按同样的方法依次扫描所有列,并同时送去所需的相应行码即可。
3、点阵取模工具
PCtoLCD2002是常用点阵取模软件,主要配置参数如下
(1)阴码和阳码
如果行接的是二极管的阳极,列接的是二极管的阴极,则采用行扫描时列取模方式即为阳码,采用列扫描时行的取模方式即为阴码。对应的若行接二极管阴极,列接二极管阳极,则采用行扫描时取模方式为阴码,采用列扫描时取模方式为阳码。
(2)逆向和顺向
一、若采用行扫描,当点阵横向的数据位从左到右依次为高位到低位时,此时的取模方式为顺向取模,反之则为逆向取模;
二、若采用列扫描,当点阵纵向的数据位从上到下依次为高位到低位时,此时的取模方式为顺向取模,反之为逆向取模。
总之:顺向即是指点阵数据位上高下低,左高右低
本项目采用行扫描的方式实现,通过该取模工具,可以实现字母,图片,汉字的显示,由于是8*8的点阵,显示不是很细腻,可以根据显示图片做调整,生成优化。
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(); } }
示例显示一个心形图标,如下所示
————————————————版权声明:本文为CSDN博主「菜袅1号」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/flaycsdn/article/details/106138918
文章评论(0条评论)
登录后参与讨论