本帖最后由 rengran 于 2023-12-9 19:32 编辑
1、 数码管的本质 数码管本质上就是LED,和普通LED不同的事,它将多个LED的公共引脚连接到了一起,非公共端单独引出,这样就构成了共阳极数码管和共阴极数码管。如视频中所示,见图9.1
图中的6、8、9、12分别为公共端,每一位的数码管的公共端连接到一起引出一个脚,这样就能控制哪一位的数码管点亮(数码管的位指的是一个完整的8显示就是一个位,图中的是4位数码管);1、2、3、4、5、7、11分别为每一位的数码管段显示引脚,不同位的数码管相同段连接到一起引出一个脚。 2、 由于数码管要显示数字,字母、小数点等,但是除了数字和小数点有共同的显示方案外,字母的显示方案可能因人而异,所以一般设计人员使用数码管都得有一个显示方案表供使用者查询,现在我分享一下我使用的数码管显示方案及内码(显示的内容的高低电平0和1组合方式): 对应的内码: 1、共阴极七段数码管段内码 charSeg_sel[75]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F, 0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF, 0x77,0x7C,0x39,0x5E,0x79,0x71,0x3D,0x76,0x0F,0x1F, 0x75,0x38,0x37,0x54,0x5C,0x73,0x67,0x50,0x49,0x78, 0x3E,0x1C,0x7E,0x64,0x6E,0x5A,0x40, 0xF7,0xFC,0xB9,0xDE,0xF9,0xF1,0xBD,0xF6,0x8F,0x9F, 0xF5,0xB8,0xB7,0xD4,0xDC,0xF3,0xE7,0xD0,0xC9,0xF8, 0xBE,0x9C,0xFE,0xE4,0xEE,0xDA,0xC0, 0x00}; 2、共阳极七段数码管段内码 charSeg_sel[75]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90, 0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10, 0x88,0x83,0xC6,0xA1,0x86,0x8E,0xC2,0x89,0xF0,0xE0, 0x8A,0xC7,0xC8,0xAB,0xA3,0x8C,0x98,0xAF,0xB6,0x87, 0xC1,0xE3,0x81,0x9B,0x91,0xA5,0xBF, 0x08,0x03,0x46,0x21,0x06,0x0E,0x42,0x09,0x70,0x60, 0x0A,0x47,0x48,0x2B,0x23,0x0C,0x18,0x2F,0x36,0x07, 0x41,0x63,0x01,0x1B,0x11,0x25,0x3F, 0xFF}; //Seg_sel[0]至Seg_sel[9]用来显示不带小数点数字0到9;Seg_sel[10]至Seg_sel[19]用来显示带小数点数字0到9; //Seg_sel[20]至Seg_sel[46]用来显示不带小数点字母A到Z及符号(-),Seg_sel[47]至Seg_sel[73]用来显示带小数点字母A到Z及符号(-),字母不区分大小写; //Seg_sel[74]熄灭数码管; 哪位如有更好的显示方案,也可以拿出来共享一下,不吝赐教。
|