请问7段数码管显示字母方案,谁有比较标准和权威的阿?

2019-12-17 21:27发布

如题,我这里有两种方案:

1:

七段数码管的所有显示状态.png (807.03 KB, 下载次数: 1) 下载附件 2018-10-16 17:09 上传

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
29条回答
mangolu
2019-12-20 17:51
本帖最后由 mangolu 于 2018-10-16 20:58 编辑

下面是我的码表,用的是第二种方案,占位符是跟9楼学的:

  1. /**  定义表格占位符 */
  2. #define ______        0

  3. /** 码段显示定义 */
  4. /** 高电平点亮 */
  5. #define SEG7_A      (0x01<<0)
  6. #define SEG7_B      (0x01<<1)
  7. #define SEG7_C      (0x01<<2)
  8. #define SEG7_D      (0x01<<3)
  9. #define SEG7_E      (0x01<<4)
  10. #define SEG7_F      (0x01<<5)
  11. #define SEG7_G      (0x01<<6)
  12. #define SEG7_DP     (0x01<<7)
  13. #define SEG7_BLK    0x00

  14. /** 字符显示定义 */
  15. /**
  16. *    a
  17. *   ---
  18. * f| g |b
  19. *   ---
  20. * e|   |c
  21. *   --- . dp
  22. *    d
  23. */
  24. #if (SEG7_LED_TYPE == SEG7_COMMON_ANODE)  /** 共阳型数码管,码段高电平公共端低电平点亮 */

  25.         #define SEG7_NUMBER_0       ~(SEG7_A|SEG7_B|SEG7_C|SEG7_D|SEG7_E|SEG7_F|______)                /** 0 */
  26.         #define SEG7_NUMBER_1       ~(______|SEG7_B|SEG7_C|______|______|______|______)                /** 1 */
  27.         #define SEG7_NUMBER_2       ~(SEG7_A|SEG7_B|______|SEG7_D|SEG7_E|______|SEG7_G)                /** 2 */
  28.         #define SEG7_NUMBER_3       ~(SEG7_A|SEG7_B|SEG7_C|SEG7_D|______|______|SEG7_G)                /** 3 */
  29.         #define SEG7_NUMBER_4       ~(______|SEG7_B|SEG7_C|______|______|SEG7_F|SEG7_G)                /** 4 */
  30.         #define SEG7_NUMBER_5       ~(SEG7_A|______|SEG7_C|SEG7_D|______|SEG7_F|SEG7_G)                /** 5 */
  31.         #define SEG7_NUMBER_6       ~(SEG7_A|______|SEG7_C|SEG7_D|SEG7_E|SEG7_F|SEG7_G)                /** 6 */
  32.         #define SEG7_NUMBER_7       ~(SEG7_A|SEG7_B|SEG7_C|______|______|______|______)                /** 7 */
  33.         #define SEG7_NUMBER_8       ~(SEG7_A|SEG7_B|SEG7_C|SEG7_D|SEG7_E|SEG7_F|SEG7_G)                /** 8 */
  34.         #define SEG7_NUMBER_9       ~(SEG7_A|SEG7_B|SEG7_C|SEG7_D|______|SEG7_F|SEG7_G)                /** 9 */

  35.         #define SEG7_NUMBER_DP      ~(SEG7_DP)                                                         /** . */
  36.         #define SEG7_NUMBER_BLK     ~(SEG7_BLK)                                                        /** 无显 */

  37.         #define SEG7_CHAR_A         ~(SEG7_A|SEG7_B|SEG7_C|______|SEG7_E|SEG7_F|SEG7_G)                /** A */
  38.         #define SEG7_CHAR_B         ~(______|______|SEG7_C|SEG7_D|SEG7_E|SEG7_F|SEG7_G)                /** B */
  39.         #define SEG7_CHAR_C         ~(SEG7_A|______|______|SEG7_D|SEG7_E|SEG7_F|______)                /** C */
  40.         #define SEG7_CHAR_D         ~(______|SEG7_B|SEG7_C|SEG7_D|SEG7_E|______|SEG7_G)                /** D */
  41.         #define SEG7_CHAR_E         ~(SEG7_A|______|______|SEG7_D|SEG7_E|SEG7_F|SEG7_G)                /** E */
  42.         #define SEG7_CHAR_F         ~(SEG7_A|______|______|______|SEG7_E|SEG7_F|SEG7_G)                /** F */
  43.         #define SEG7_CHAR_G         ~(SEG7_A|______|SEG7_C|SEG7_D|SEG7_E|SEG7_F|______)                /** G */
  44.         #define SEG7_CHAR_H         ~(______|SEG7_B|SEG7_C|______|SEG7_E|SEG7_F|SEG7_G)                /** H */
  45.         #define SEG7_CHAR_I         ~(SEG7_A|______|______|SEG7_D|SEG7_E|______|______)                /** I */
  46.         #define SEG7_CHAR_J         ~(SEG7_A|______|SEG7_C|SEG7_D|______|______|______)                /** J */
  47.         #define SEG7_CHAR_K         ~(______|SEG7_B|______|______|SEG7_E|SEG7_F|SEG7_G)                /** K */
  48.         #define SEG7_CHAR_L         ~(______|______|______|SEG7_D|SEG7_E|SEG7_F|______)                /** L */
  49.         #define SEG7_CHAR_M         ~(SEG7_A|______|SEG7_C|______|SEG7_E|______|SEG7_G)                /** M */
  50.         #define SEG7_CHAR_N         ~(______|______|SEG7_C|______|SEG7_E|______|SEG7_G)                /** N */
  51.         #define SEG7_CHAR_O         ~(SEG7_A|______|SEG7_C|SEG7_D|SEG7_E|______|SEG7_G)                /** O */
  52.         #define SEG7_CHAR_P         ~(SEG7_A|SEG7_B|______|______|SEG7_E|SEG7_F|SEG7_G)                /** P */
  53.         #define SEG7_CHAR_Q         ~(SEG7_A|SEG7_B|SEG7_C|______|______|SEG7_F|SEG7_G)                /** Q */
  54.         #define SEG7_CHAR_R         ~(______|______|______|______|SEG7_E|______|SEG7_G)                /** R */
  55.         #define SEG7_CHAR_S         ~(SEG7_A|______|SEG7_C|______|______|SEG7_F|SEG7_G)                /** S */
  56.         #define SEG7_CHAR_T         ~(______|______|______|SEG7_D|SEG7_E|SEG7_F|SEG7_G)                /** T */
  57.         #define SEG7_CHAR_U         ~(______|SEG7_B|SEG7_C|SEG7_D|SEG7_E|SEG7_F|______)                /** U */
  58.         #define SEG7_CHAR_V         ~(______|______|SEG7_C|SEG7_D|SEG7_E|______|______)                /** V */
  59.         #define SEG7_CHAR_W         ~(______|SEG7_B|______|SEG7_D|______|SEG7_F|SEG7_G)                /** W */
  60.         #define SEG7_CHAR_X         ~(SEG7_A|______|SEG7_C|SEG7_D|SEG7_E|______|______)                /** X */
  61.         #define SEG7_CHAR_Y         ~(______|SEG7_B|SEG7_C|SEG7_D|______|SEG7_F|SEG7_G)                /** Y */
  62.         #define SEG7_CHAR_Z         ~(SEG7_A|______|______|SEG7_D|______|______|SEG7_G)                /** Z */

  63. #elif (SEG7_LED_TYPE == SEG7_COMMON_CATHODE)  /** 共阴型数码管,码段低电平公共端高电平点亮 */

  64.         #define SEG7_NUMBER_0       (SEG7_A|SEG7_B|SEG7_C|SEG7_D|SEG7_E|SEG7_F|______)                /** 0 */
  65.         #define SEG7_NUMBER_1       (______|SEG7_B|SEG7_C|______|______|______|______)                /** 1 */
  66.         #define SEG7_NUMBER_2       (SEG7_A|SEG7_B|______|SEG7_D|SEG7_E|______|SEG7_G)                /** 2 */
  67.         #define SEG7_NUMBER_3       (SEG7_A|SEG7_B|SEG7_C|SEG7_D|______|______|SEG7_G)                /** 3 */
  68.         #define SEG7_NUMBER_4       (______|SEG7_B|SEG7_C|______|______|SEG7_F|SEG7_G)                /** 4 */
  69.         #define SEG7_NUMBER_5       (SEG7_A|______|SEG7_C|SEG7_D|______|SEG7_F|SEG7_G)                /** 5 */
  70.         #define SEG7_NUMBER_6       (SEG7_A|______|SEG7_C|SEG7_D|SEG7_E|SEG7_F|SEG7_G)                /** 6 */
  71.         #define SEG7_NUMBER_7       (SEG7_A|SEG7_B|SEG7_C|______|______|______|______)                /** 7 */
  72.         #define SEG7_NUMBER_8       (SEG7_A|SEG7_B|SEG7_C|SEG7_D|SEG7_E|SEG7_F|SEG7_G)                /** 8 */
  73.         #define SEG7_NUMBER_9       (SEG7_A|SEG7_B|SEG7_C|SEG7_D|______|SEG7_F|SEG7_G)                /** 9 */

  74.         #define SEG7_NUMBER_DP      (SEG7_DP)                                                         /** . */
  75.         #define SEG7_NUMBER_BLK     (SEG7_BLK)                                                        /** 无显 */

  76.         #define SEG7_CHAR_A         (SEG7_A|SEG7_B|SEG7_C|______|SEG7_E|SEG7_F|SEG7_G)                /** A */
  77.         #define SEG7_CHAR_B         (______|______|SEG7_C|SEG7_D|SEG7_E|SEG7_F|SEG7_G)                /** B */
  78.         #define SEG7_CHAR_C         (SEG7_A|______|______|SEG7_D|SEG7_E|SEG7_F|______)                /** C */
  79.         #define SEG7_CHAR_D         (______|SEG7_B|SEG7_C|SEG7_D|SEG7_E|______|SEG7_G)                /** D */
  80.         #define SEG7_CHAR_E         (SEG7_A|______|______|SEG7_D|SEG7_E|SEG7_F|SEG7_G)                /** E */
  81.         #define SEG7_CHAR_F         (SEG7_A|______|______|______|SEG7_E|SEG7_F|SEG7_G)                /** F */
  82.         #define SEG7_CHAR_G         (SEG7_A|______|SEG7_C|SEG7_D|SEG7_E|SEG7_F|______)                /** G */
  83.         #define SEG7_CHAR_H         (______|SEG7_B|SEG7_C|______|SEG7_E|SEG7_F|SEG7_G)                /** H */
  84.         #define SEG7_CHAR_I         (SEG7_A|______|______|SEG7_D|SEG7_E|______|______)                /** I */
  85.         #define SEG7_CHAR_J         (SEG7_A|______|SEG7_C|SEG7_D|______|______|______)                /** J */
  86.         #define SEG7_CHAR_K         (______|SEG7_B|______|______|SEG7_E|SEG7_F|SEG7_G)                /** K */
  87.         #define SEG7_CHAR_L         (______|______|______|SEG7_D|SEG7_E|SEG7_F|______)                /** L */
  88.         #define SEG7_CHAR_M         (SEG7_A|______|SEG7_C|______|SEG7_E|______|SEG7_G)                /** M */
  89.         #define SEG7_CHAR_N         (______|______|SEG7_C|______|SEG7_E|______|SEG7_G)                /** N */
  90.         #define SEG7_CHAR_O         (SEG7_A|______|SEG7_C|SEG7_D|SEG7_E|______|SEG7_G)                /** O */
  91.         #define SEG7_CHAR_P         (SEG7_A|SEG7_B|______|______|SEG7_E|SEG7_F|SEG7_G)                /** P */
  92.         #define SEG7_CHAR_Q         (SEG7_A|SEG7_B|SEG7_C|______|______|SEG7_F|SEG7_G)                /** Q */
  93.         #define SEG7_CHAR_R         (______|______|______|______|SEG7_E|______|SEG7_G)                /** R */
  94.         #define SEG7_CHAR_S         (SEG7_A|______|SEG7_C|______|______|SEG7_F|SEG7_G)                /** S */
  95.         #define SEG7_CHAR_T         (______|______|______|SEG7_D|SEG7_E|SEG7_F|SEG7_G)                /** T */
  96.         #define SEG7_CHAR_U         (______|SEG7_B|SEG7_C|SEG7_D|SEG7_E|SEG7_F|______)                /** U */
  97.         #define SEG7_CHAR_V         (______|______|SEG7_C|SEG7_D|SEG7_E|______|______)                /** V */
  98.         #define SEG7_CHAR_W         (______|SEG7_B|______|SEG7_D|______|SEG7_F|SEG7_G)                /** W */
  99.         #define SEG7_CHAR_X         (SEG7_A|______|SEG7_C|SEG7_D|SEG7_E|______|______)                /** X */
  100.         #define SEG7_CHAR_Y         (______|SEG7_B|SEG7_C|SEG7_D|______|SEG7_F|SEG7_G)                /** Y */
  101.         #define SEG7_CHAR_Z         (SEG7_A|______|______|SEG7_D|______|______|SEG7_G)                /** Z */
  102.        
  103. #endif  /** SEG7_LED_TYPE */



  104. /** 数字码表定义 */
  105. unsigned char SEG7_Number_Code[10] = {
  106.         SEG7_NUMBER_0, SEG7_NUMBER_1,
  107.         SEG7_NUMBER_2, SEG7_NUMBER_3,
  108.         SEG7_NUMBER_4, SEG7_NUMBER_5,
  109.         SEG7_NUMBER_6, SEG7_NUMBER_7,
  110.         SEG7_NUMBER_8, SEG7_NUMBER_9
  111. };

  112. /** 字符码表定义 */
  113. unsigned char SEG7_Char_Code[26] = {
  114.         SEG7_CHAR_A, SEG7_CHAR_B,
  115.         SEG7_CHAR_C, SEG7_CHAR_D,
  116.         SEG7_CHAR_E, SEG7_CHAR_F,
  117.         SEG7_CHAR_G, SEG7_CHAR_H,
  118.         SEG7_CHAR_I, SEG7_CHAR_J,
  119.         SEG7_CHAR_K, SEG7_CHAR_L,
  120.         SEG7_CHAR_M, SEG7_CHAR_N,
  121.         SEG7_CHAR_O, SEG7_CHAR_P,
  122.         SEG7_CHAR_Q, SEG7_CHAR_R,
  123.         SEG7_CHAR_S, SEG7_CHAR_T,
  124.         SEG7_CHAR_U, SEG7_CHAR_V,
  125.         SEG7_CHAR_W, SEG7_CHAR_X,
  126.         SEG7_CHAR_Y, SEG7_CHAR_Z
  127. };

复制代码

一周热门 更多>