| 數字 | 共陽極碼 (低亮) | 共陰極碼 (高亮) |
|---|---|---|
| 0 | 0xC0 | 0x3F |
| 1 | 0xF9 | 0x06 |
| 2 | 0xA4 | 0x5B |
| 3 | 0xB0 | 0x4F |
| 4 | 0x99 | 0x66 |
| 5 | 0x92 | 0x6D |
| 6 | 0x82 | 0x7D |
| 7 | 0xF8 | 0x07 |
| 8 | 0x80 | 0x7F |
| 9 | 0x90 | 0x6F |
兩者編碼互為按位取反(含 dp 位)。
uint8_t code seg_code_cathode[10] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
uint8_t code seg_code_anode[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void display(uint8_t num) {
uint8_t shi = num / 10, ge = num % 10;
// 個位
P0 = seg_code_cathode[ge];
P2_7 = 0; P2_6 = 1; delay_ms(1);
// 十位
P0 = seg_code_cathode[shi];
P2_6 = 0; P2_7 = 1; delay_ms(1);
}
共陽/共陰本質是公共極接 VCC 還是 GND,決定了驅動極性與段碼編碼。掌握動態掃描時序與編碼互反關係,可快速移植代碼。