这次这个屏幕其实买来已经很久了,是之前在香港淘的。其实也就是港铁上很常见的那种显示新闻、天气和广告等信息的LED屏幕。买的时候就随手查了下发现网上有资料,就买了,回来发现那个资料里根本没有引脚定义,于是就没继续动。今天有空找出来研究了一下,发现其实资料是有的,只是我之前没有仔细找。于是就点了一下咯。这个屏幕效果还是不错的。一共买了两块,做实验的这块是残缺品(买的时候没有注意看……),另外一块应该是全好的。
以下是具体信息
基本信息
- 型号:LUM-115HML300
- 类型:LED图形点阵
- 分辨率:48 x 24
- 灰度:红绿双色无灰度
- 控制器:ROHM自有
- 尺寸:192mm x 96mm
驱动信息
引脚定义:
CN1:
- RamSelect(AB)
- A4
- A3
- A2
- A1
- A0
- GND
- Green
- Clock
- WriteEnable
- Red
- AddressEnable
- DispEnable
CN3:
- GND
- VLED
- VLED
- GNDLED
- GNDLED
- VDD
驱动代码:
void LED_WriteScreen()
{
int i, j;
for (i = 0; i < 24; i ++) {
if ((i & 0x01) != 0) {LED_A0_HIGH();} else {LED_A0_LOW();}
if ((i & 0x02) != 0) {LED_A1_HIGH();} else {LED_A1_LOW();}
if ((i & 0x04) != 0) {LED_A2_HIGH();} else {LED_A2_LOW();}
if ((i & 0x08) != 0) {LED_A3_HIGH();} else {LED_A3_LOW();}
if ((i & 0x10) != 0) {LED_A4_HIGH();} else {LED_A4_LOW();}
for (j = 0; j < 48; j++) {
LED_CLK_LOW();
if (dispBuffer_G[i*6 + j/8] & (0x01 << (j % 8))) LED_GR_HIGH(); else LED_GR_LOW();
if (dispBuffer_R[i*6 + j/8] & (0x01 << (j % 8))) LED_RD_HIGH(); else LED_RD_LOW();
LED_CLK_HIGH();
}
LED_CLK_LOW();
Delay();
LED_AE_HIGH();
Delay();
LED_WE_HIGH();
Delay();
LED_WE_LOW();
Delay();
LED_AE_LOW();
Delay();
}
}