stm32驱动LED点阵屏(LY-LED16x16)
Posted mygod2093725_wht
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32驱动LED点阵屏(LY-LED16x16)相关的知识,希望对你有一定的参考价值。
各个引脚功能:
OE:使能端,输出高电平关闭屏幕,行选和列选切换的时候需要关闭一下屏幕,防止产生虚影。
D/C/B/A:每个引脚有0、1两个状态,四个引脚用于存储一个四位的二进制数,0/0/0/0是第一行,0/0/1/0是第三行。
R1/G1:R1是红色,G1是绿色,低电平点亮。
SCK:时钟信号。
LAT:锁存器。0打开,1关闭。
列选中原理:将一个16位的二进制串行输入到R1或G1,利用时钟脉冲信号触发寄存器存储当前值,然后通过 LATCH 锁存器将寄存器的值保存。
使用取字软件取出的C51格式的值。
例如:/*-- 文字: 中 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0x0F,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0x0F,0x00,0x00,0x00,
0x00,0x00,0xF0,0x20,0x20,0x20,0x20,0xFF,0x20,0x20,0x20,0x20,0xF0,0x00,0x00,0x00,
其中第i位十六进制数和第i+16位十六进制数表示的是第i行的状态。i从0到15,逐次点亮16行。
void display_char()//显示一个静止的汉字
int i=0;
int j=0;
int change;
for(i=0;i<16;i++)
change=(zi[i]<<8)|zi[i+16];//两个8位的二进制数组成一个16位的二进制数
LAT = 0;
for(j = 0; j < 16; j++)
R1 = ((~change)>>j)&1;
SCK = 0;
SCK = 1;
OE = 1;
get_row(i);
LAT = 1;
OE = 0;
void get_row(int i)//选中行
A=i&1;
B=(i&2)>>1;
C=(i&4)>>2;
D=(i&8)>>3;
以上是关于stm32驱动LED点阵屏(LY-LED16x16)的主要内容,如果未能解决你的问题,请参考以下文章