由于最近在做毕业设计,应导师要求学习LED点阵屏的显示原理,学习并驱动hub75e接口的64*64LED点阵屏。点阵屏上一个点有三个颜色分量R,G,B,1为亮,0为灭。当这个点为110时,颜色为红色和绿色的混合--黄色。
一、Hub75e接口介绍
hub75e接口如上图所示,其中R1/G1/B1和R2/G2/B2为两个RGB通道,A/B/C/D/E为地址端,图中没有D是因为厂家印刷错误,LAT上方的GND实际上是D,CLK为时钟输入端,OE为使能端(低电平有效),LAT为数据锁存端,GND为接地。
二、64*64点阵屏显示原理
上图所示的hub75e接口有A/B/C/D/E五根地址线,即有个不同的地址,其中E是最高位,A是最低位,当地址是多少就是选中第几行的意思,例如,EDCBA为00000时为选中第0行,EDCBA为00010时为选中第2行。不过点阵屏是64*64的,只有32个地址怎么能显示64行呢,这就是hub75e的神奇之处了,它将整块屏幕分为上下半屏,其中R1/G1/B1控制上半屏的数据输入,R2/G2/B2控制下半屏的数据输入。当开始选行的时候是同时选中两行,即上半屏选中第0行时,同时选中第32行,当地址从00000~11111变化扫描完整个半屏时,下半屏也能同时完成全部扫描。
数据的写入顺序,1.失能屏幕,即OE=1;2.写入上半屏和下半屏各一行数据,即上下屏各64个点的R,G,B。一个时钟周期写入两个点的数据;3.数据锁存,即LAT由高->低;4.选中行,即写入地址数据;5.使能屏幕,即OE=0;
三、显示字
我使用的开发板型号是STC8H8K64U,取字模软件是PCtoLCD2018。
记得在PCtoLCD2018里面修改设置
我用C51写的代码,所以自定义格式选择为C51,点阵屏LED是共阴极,所以选阴码,取模原理及每8个点作为一个字节,一个字节8位,1就是亮,0就是灭,通过LED的亮灭组成汉字。一行64个点就是8个字节。
字宽和字高就是这个汉字的大小,右上角的点阵大小,就一个字在多大的框内。也就是说字宽和字高是16*16,但是汉字点阵是64*64,那么生成的数组就有个字节;如果字宽是16*16,但是汉字点阵是16*16,那么生成的数组就有个字节。将数组的数据取出并移位输入即可完成字的显示。显示结果如下图