LED点阵显示屏的设计
1、画出硬件电路。打开ISIS,画出如图所示电路图。

2、这是一个8*24的屏幕,可以在屏幕上显示ABCD四个字符。所以要先求出26个字母的点阵码。当LED上的某一列为1,某一行为0时,对应的二极管点亮。点阵码依次为
0xFC, 0x22, 0x22, 0x22, 0xFC, //A
0xFE, 0x92, 0x92, 0x92, 0x6C, //B
0x7C, 0x82, 0x82, 0x82, 0x44, //C
0xFE, 0x82, 0x82, 0x44, 0x38, //D
0xFE, 0x92, 0x92, 0x92, 0x82, //E
0xFE, 0x12, 0x12, 0x12, 0x02, //F
0x7C, 0x82, 0x92, 0x92, 0xF4, //G
0xFE, 0x10, 0x10, 0x10, 0xFE, //H
0x00, 0x82, 0xFE, 0x82, 0x00, //I
0x40, 0x80, 0x82, 0x7E, 0x02, //J
0xFE, 0x10, 0x28, 0x44, 0x82, //K
0xFE, 0x80, 0x80, 0x80, 0x80, //L
0xFE, 0x04, 0x18, 0x04, 0xFE, //M
0xFE, 0x08, 0x10, 0x20, 0xFE, //N
0x7C, 0x82, 0x82, 0x82, 0x7C, //O
0xFE, 0x12, 0x12, 0x12, 0x0C, //P
0x7C, 0x82, 0xA2, 0x42, 0xBC, //Q
0xFE, 0x12, 0x32, 0x52, 0x8C, //R
0x8C, 0x92, 0x92, 0x92, 0x62, //S
0x02, 0x02, 0xFE, 0x02, 0x02, //T
0x7E, 0x80, 0x80, 0x80, 0x7E, //U
0x3E, 0x40, 0x80, 0x40, 0x3E, //V
0x7E, 0x80, 0x70, 0x80, 0x7E, //W
0xC6, 0x28, 0x10, 0x28, 0xC6, //X
0x0E, 0x10, 0xE0, 0x10, 0x0E, //Y
0xC2, 0xA2, 0x92, 0x8A, 0x86}; //Z

3、程序设计思路:将字符的点阵码预先放在数组TAB中,数组Dbuf存放要显示的字符的ASCII码。

4、然后需要一个延迟函数,延迟时间。

5、然后是显示函数。最为关键的一步。“P1=~TAB[(dbuf[i/6]-0x41)*5+(i%6)]”中i/6为当前要显示的字符在Dbuf中数组的下标。

6、程序清单如下:



