失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > stm32驱动LED点阵屏(LY-LED16x16)

stm32驱动LED点阵屏(LY-LED16x16)

时间:2024-03-01 16:51:36

相关推荐

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)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。