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