数码管定义很简单,只要知道那个7段的定义,不需要半秒钟,笔段对照比较就知道生产,也不需要什么数码管比段生成器 方法如下: /* a --- f| g |b --- e| |c --- d */ #define Sega 0x01 #define Segb 0x02 #define Segc 0x40 #define Segd 0x20 #define Sege 0x10 #define Segf 0x04 #define Segg 0x08 #define Num0 (Sega | Segb | Segc | Segd | Sege | Segf ) #define Num1 ( Segb | Segc ) #define Num2 (Sega | Segb | Segd | Sege | Segg) #define Num3 (Sega | Segb | Segc | Segd | Segg) #define Num4 ( Segb | Segc | Segf | Segg) #define Num5 (Sega | Segc | Segd | Segf | Segg) #define Num6 (Sega | Segc | Segd | Sege | Segf | Segg) #define Num7 (Sega | Segb | Segc ) #define Num8 (Sega | Segb | Segc | Segd | Sege | Segf | Segg) #define Num9 (Sega | Segb | Segc | Segd | Segf | Segg) #define Numblk (0 ) INT8U Num_code[11] = {Num0,Num1,Num2,Num3,Num4,Num5,Num6,Num7,Num8,Num9,Numblk}; 如果以后比段的位置发生变化了,修改seg的定义,在编译就好了。这个方法无论从代码可读性,维护难易程度来来说,都是十分理想的; |
|