百度百科:数码管的一种是半导体发光器件,数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个用于显示小数点的发光二极管单元DP(decimal point),其基本单元是发光二极管。
下图是数码管内部原理图:
相信很多嵌入式的朋友们每次使用数码管的时候都要重新去找相应数码管的段选Code,有点小麻烦,为此将一些写好的程序贴到这里,方便使用:
/*共阳极数码管(带小数点)*/
unsigned char code CASEG_CODE[] =
{
0xC0,/*"0"*/ 0xF9,/*"1"*/ 0xA4,/*"2"*/ 0xB0,/*"3"*/ 0x99,/*"4"*/
0x92,/*"5"*/ 0x82,/*"6"*/ 0xF8,/*"7"*/ 0x80,/*"8"*/ 0x90,/*"9"*/
0x88,/*"A"*/ 0x83,/*"B"*/ 0xC6,/*"C"*/ 0xA1,/*"D"*/ 0x86,/*"E"*/
0x8E,/*"F"*/ 0x89,/*"H"*/ 0xC7,/*"L"*/ 0xC8,/*"n"*/ 0xC1,/*"u"*/
0x8C,/*"P"*/ 0xA3,/*"o"*/ 0xBF,/*"-"*/ 0xFF,/*熄灭*/ 0xFF /*自定义*/
};
/*共阴极数码管(带小数点)*/
unsigned char code CCSEG_CODE[] =
{
0x3F,/*"0"*/ 0x06,/*"1"*/ 0x5B,/*"2"*/ 0x4F,/*"3"*/ 0x66,/*"4"*/
0x6D,/*"5"*/ 0x7D,/*"6"*/ 0x07,/*"7"*/ 0x7F,/*"8"*/ 0x6F,/*"9"*/
0x77,/*"A"*/ 0x7C,/*"B"*/ 0x39,/*"C"*/ 0x5E,/*"D"*/ 0x79,/*"E"*/
0x71,/*"F"*/ 0x76,/*"H"*/ 0x38,/*"L"*/ 0x37,/*"n"*/ 0x3E,/*"u"*/
0x73,/*"P"*/ 0x5C,/*"o"*/ 0x40,/*"-"*/ 0x00,/*熄灭*/0x00 /*自定义*/
};
当然还有小软件送给大家“LED代码查询”和“单片机小精灵”