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、程序清单如下:



