想用8x8发光矩阵组成16x16矩阵,到网上随便找个8x8发光矩阵拍下,收货后才发现是双色8x8发光矩阵,型号为2088ABEG-5,接口高达24针,一时不知如何使用。
试着测试针脚定义,没有成功,再到网上搜索使用方法,没找到,连销售网站也没有介绍如何使用,倒是搜到很多买家收货不知如何使用的求助贴,看来只能自己摸索,经过较长时间的测试,总算搞清针脚定义如下:0、3、6、9、12、15、18、21针为0-7行阳极,1、4、7、10、13、16、19、22针为0-7列绿阴极,2、5、8、11、14、17、20、23针为0-7列红阴极,将阳极接P0口,红色阴极接P1口,绿色阴极接P2口,编程按红色,绿色,红绿混合色,绿底红字,红底绿字等方式显示字符,总算把这种器件的功能充分开发出来了。由于目前论坛和百度都找不到这种器的使用方法,本人将这种器件使用方法贴出,供有需要的参考。 下面是程序: - #include <reg52.h>
- const unsigned char code F6x8[][6] =
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,// sp
- 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00,// !
- 0x00, 0x00, 0x07, 0x00, 0x07, 0x00,// "
- 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14,// #
- 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12,// $5
- 0x00, 0x62, 0x64, 0x08, 0x13, 0x23,// %
- 0x00, 0x36, 0x49, 0x55, 0x22, 0x50,// &
- 0x00, 0x00, 0x05, 0x03, 0x00, 0x00,// '
- 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00,// (
- 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00,// )10
- 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14,// *
- 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08,// +
- 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00,// ,
- 0x00, 0x08, 0x08, 0x08, 0x08, 0x08,// -
- 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,// .15
- 0x00, 0x20, 0x10, 0x08, 0x04, 0x02,// /
- 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E,// 0
- 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00,// 1
- 0x00, 0x42, 0x61, 0x51, 0x49, 0x46,// 2
- 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31,// 3 20
- 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10,// 4
- 0x00, 0x27, 0x45, 0x45, 0x45, 0x39,// 5
- 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30,// 6
- 0x00, 0x01, 0x71, 0x09, 0x05, 0x03,// 7
- 0x00, 0x36, 0x49, 0x49, 0x49, 0x36,// 8 25
- 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E,// 9
- 0x00, 0x00, 0x36, 0x36, 0x00, 0x00,// :
- 0x00, 0x00, 0x56, 0x36, 0x00, 0x00,// ;
- 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,// <
- 0x00, 0x14, 0x14, 0x14, 0x14, 0x14,// = 30
- 0x00, 0x00, 0x41, 0x22, 0x14, 0x08,// >
- 0x00, 0x02, 0x01, 0x51, 0x09, 0x06,// ?
- 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E,// @
- 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C,// A
- 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36,// B 35
- 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22,// C
- 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C,// D
- 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41,// E
- 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01,// F
- 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A,// G 40
- 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F,// H
- 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00,// I
- 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01,// J
- 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41,// K
- 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40,// L 45
- 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F,// M
- 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F,// N
- 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E,// O
- 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06,// P
- 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E,// Q 50
- 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46,// R
- 0x00, 0x46, 0x49, 0x49, 0x49, 0x31,// S
- 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01,// T
- 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F,// U
- 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F,// V 55
- 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F,// W
- 0x00, 0x63, 0x14, 0x08, 0x14, 0x63,// X
- 0x00, 0x07, 0x08, 0x70, 0x08, 0x07,// Y
- 0x00, 0x61, 0x51, 0x49, 0x45, 0x43,// Z
- 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00,// [ 60
- 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55,// 55
- 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00,// ]
- 0x00, 0x04, 0x02, 0x01, 0x02, 0x04,// ^
- 0x00, 0x40, 0x40, 0x40, 0x40, 0x40,// _
- 0x00, 0x00, 0x01, 0x02, 0x04, 0x00,// ' 65
- 0x00, 0x20, 0x54, 0x54, 0x54, 0x78,// a
- 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38,// b
- 0x00, 0x38, 0x44, 0x44, 0x44, 0x20,// c
- 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F,// d
- 0x00, 0x38, 0x54, 0x54, 0x54, 0x18,// e 70
- 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02,// f
- 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C,// g
- 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78,// h
- 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00,// i
- 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00,// j 75
- 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00,// k
- 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00,// l
- 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78,// m
- 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78,// n
- 0x00, 0x38, 0x44, 0x44, 0x44, 0x38,// o 80
- 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18,// p
- 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC,// q
- 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08,// r
- 0x00, 0x48, 0x54, 0x54, 0x54, 0x20,// s
- 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20,// t 85
- 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C,// u
- 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C,// v
- 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C,// w
- 0x00, 0x44, 0x28, 0x10, 0x28, 0x44,// x
- 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C,// y 90
- 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44,// z
- 0x14, 0x14, 0x14, 0x14, 0x14, 0x14,// horiz lines
- };
- void delay(int ii){int i,j;for(i=0;i<ii;i++)for(j=0;j<120;j++);}
- void showcharR(unsigned char charcode)//红色显示
- {char i,j;
- for(j=0;j<30;j++)
- for(i=1;i<7;i++)
- {P0=1<<(7-i);
- P1=~(F6x8[charcode-0x20][ i]);
- delay(5);
- P1=0xff;
- }
- }
- void showcharG(unsigned char charcode))//绿色显示
- {char i,j;
- for(j=0;j<30;j++)
- for(i=0;i<7;i++)
- {P0=1<<(7-i);
- P2=~(F6x8[charcode-0x20][ i]);
- delay(5);
- P2=0xff;
- }
- }
- void showcharRG(unsigned char charcode,char R,char G)//红绿潮混色显示
- {char i,j;
- for(j=0;j<10;j++)
- for(i=1;i<7;i++)
- {P0=1<<(7-i);
- P2=~(F6x8[charcode-0x20][ i]);delay(G);
- P1=~(F6x8[charcode-0x20][ i]);delay(R);
- P2=0xff;
- P1=0xff;
- }
- }
- void showcharR_g(unsigned char charcode)//绿底红字显示
- {char i,j;
- for(j=0;j<60;j++)
- for(i=1;i<7;i++)
- {P0=1<<(7-i);
- P2=F6x8[charcode-0x20][ i];delay(1);
- P1=~(F6x8[charcode-0x20][ i]);delay(3);
- P2=0xff;
- P1=0xff;
- }
- }
- void showcharG_r(unsigned char charcode)//红底绿字显示
- {char i,j;
- for(j=0;j<50;j++)
- for(i=1;i<7;i++)
- {P0=1<<(7-i);
- P1=F6x8[charcode-0x20][ i];delay(1);
- P2=~(F6x8[charcode-0x20][ i]);delay(6);
- P2=0xff;
- P1=0xff;
- }
- }
- void showstrR(char *sp){char i=0;while(sp[ i]!=0){showcharR(sp[ i]);i++;}}
- void showstrG(char *sp){char i=0;while(sp[ i]!=0){showcharG(sp[ i]);i++;}}
- void showstrRG(char *sp,char R,char G){char i=0;while(sp[ i]!=0){showcharRG(sp[ i],R,G);i++;}}
- void showstrR_g(char *sp){char i=0;while(sp[ i]!=0){showcharR_g(sp[ i]);i++;}}
- void showstrG_r(char *sp){char i=0;while(sp[ i]!=0){showcharG_r(sp[ i]);i++;}}
- main()
- {int i,j;
- P3=0x0f;
- while(1)
- {showstrR("Red Str");delay(1000);
- showstrG("Green Str");delay(1000);
- showstrRG("Com Color Str",2,9);delay(1000);
- showstrR_g("Rg Str");delay(1000);
- showstrG_r("Gr Str");delay(1000);
- }
复制代码 下面是程序运行情况:
|