mothercup/docs/YF30137_驱动真值表.md

228 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# YF30137 七脚数码屏驱动真值表
> 依据《数码屏YF30137.dwg》引脚定义图还原。7 个 IO 脚,Charlieplexing(两两复用电极)驱动。
> 段位结构:DIG1~DIG5 各 7 段(A~G)= 35 段,DIG6 两段(A6=°F、B6=小数点)= 2 段,共 37 段。
## 约定
- **脚号对应**(脚 N = 网络 LED_N = MCU 引脚):
- LED_1 = PB0 LED_2 = PB1 LED_3 = PA0 LED_4 = PA1 LED_5 = PB11 LED_6 = PB13 LED_7 = PA6
- `x→y` = **脚 x 拉高、脚 y 拉低**,其余 5 个脚全部**高阻(输入)**。
- 逐段点亮:点一段 → 全高阻 → 点下一段,同一数字的多段**不能同时点**(脚共用)。
- 若实测段「反相不亮」,把每个脚对的高/低对调即可(段位对应不变)。
## 一、段 → 脚 总表
| 段 | DIG1 | DIG2 | DIG3 | DIG4 | DIG5 | DIG6 |
|---|---|---|---|---|---|---|
| A | 2→1 | 3→2 | 4→3 | 5→4 | 6→5 | 7→6(°F) |
| B | 3→1 | 4→2 | 5→3 | 6→4 | 7→5 | 1→7(小数点) |
| C | 4→1 | 5→2 | 6→3 | 7→4 | 1→6 | — |
| D | 5→1 | 6→2 | 7→3 | 1→5 | 2→6 | — |
| E | 6→1 | 7→2 | 1→4 | 2→5 | 3→6 | — |
| F | 7→1 | 1→3 | 2→4 | 3→5 | 4→6 | — |
| G | 1→2 | 2→3 | 3→4 | 4→5 | 5→6 | — |
## 二、字符段码表(哪个字符亮哪些段)
| 字符 | 亮段 | 字符 | 亮段 | 字符 | 亮段 |
|---|---|---|---|---|---|
| **0** | ABCDEF | **1** | BC | **2** | ABDEG |
| **3** | ABCDG | **4** | BCFG | **5** | ACDFG |
| **6** | ACDEFG | **7** | ABC | **8** | ABCDEFG |
| **9** | ABCDFG | **A** | ABCEFG | **b** | CDEFG |
| **C** | ADEF | **d** | BCDEG | **E** | ADEFG |
| **F** | AEFG | **H** | BCEFG | **L** | DEF |
| **P** | ABEFG | **U** | BCDEF | **o** | CDEG |
| **n** | CEG | **r** | EG | **y** | BCDFG |
| **t** | DEFG | | | | |
> 说明:`b`、`d`、`o`、`n`、`r`、`y`、`t` 为小写字母(避免与数字 8/0 混淆);
> `A`、`C`、`E`、`F`、`H`、`L`、`P`、`U` 为大写。
## 三、DIG1 组合表(数字 + 字母)
| 字符 | 亮段 | 脚对(高→低) |
|---|---|---|
| **0** | ABCDEF | 2→1,3→1,4→1,5→1,6→1,7→1 |
| **1** | BC | 3→1,4→1 |
| **2** | ABDEG | 2→1,3→1,5→1,6→1,1→2 |
| **3** | ABCDG | 2→1,3→1,4→1,5→1,1→2 |
| **4** | BCFG | 3→1,4→1,7→1,1→2 |
| **5** | ACDFG | 2→1,4→1,5→1,7→1,1→2 |
| **6** | ACDEFG | 2→1,4→1,5→1,6→1,7→1,1→2 |
| **7** | ABC | 2→1,3→1,4→1 |
| **8** | ABCDEFG | 2→1,3→1,4→1,5→1,6→1,7→1,1→2 |
| **9** | ABCDFG | 2→1,3→1,4→1,5→1,7→1,1→2 |
| **A** | ABCEFG | 2→1,3→1,4→1,6→1,7→1,1→2 |
| **b** | CDEFG | 4→1,5→1,6→1,7→1,1→2 |
| **C** | ADEF | 2→1,5→1,6→1,7→1 |
| **d** | BCDEG | 3→1,4→1,5→1,6→1,1→2 |
| **E** | ADEFG | 2→1,5→1,6→1,7→1,1→2 |
| **F** | AEFG | 2→1,6→1,7→1,1→2 |
| **H** | BCEFG | 3→1,4→1,6→1,7→1,1→2 |
| **L** | DEF | 5→1,6→1,7→1 |
| **P** | ABEFG | 2→1,3→1,6→1,7→1,1→2 |
| **U** | BCDEF | 3→1,4→1,5→1,6→1,7→1 |
| **o** | CDEG | 4→1,5→1,6→1,1→2 |
| **n** | CEG | 4→1,6→1,1→2 |
| **r** | EG | 6→1,1→2 |
| **y** | BCDFG | 3→1,4→1,5→1,7→1,1→2 |
| **t** | DEFG | 5→1,6→1,7→1,1→2 |
## 三、DIG2 组合表(数字 + 字母)
| 字符 | 亮段 | 脚对(高→低) |
|---|---|---|
| **0** | ABCDEF | 3→2,4→2,5→2,6→2,7→2,1→3 |
| **1** | BC | 4→2,5→2 |
| **2** | ABDEG | 3→2,4→2,6→2,7→2,2→3 |
| **3** | ABCDG | 3→2,4→2,5→2,6→2,2→3 |
| **4** | BCFG | 4→2,5→2,1→3,2→3 |
| **5** | ACDFG | 3→2,5→2,6→2,1→3,2→3 |
| **6** | ACDEFG | 3→2,5→2,6→2,7→2,1→3,2→3 |
| **7** | ABC | 3→2,4→2,5→2 |
| **8** | ABCDEFG | 3→2,4→2,5→2,6→2,7→2,1→3,2→3 |
| **9** | ABCDFG | 3→2,4→2,5→2,6→2,1→3,2→3 |
| **A** | ABCEFG | 3→2,4→2,5→2,7→2,1→3,2→3 |
| **b** | CDEFG | 5→2,6→2,7→2,1→3,2→3 |
| **C** | ADEF | 3→2,6→2,7→2,1→3 |
| **d** | BCDEG | 4→2,5→2,6→2,7→2,2→3 |
| **E** | ADEFG | 3→2,6→2,7→2,1→3,2→3 |
| **F** | AEFG | 3→2,7→2,1→3,2→3 |
| **H** | BCEFG | 4→2,5→2,7→2,1→3,2→3 |
| **L** | DEF | 6→2,7→2,1→3 |
| **P** | ABEFG | 3→2,4→2,7→2,1→3,2→3 |
| **U** | BCDEF | 4→2,5→2,6→2,7→2,1→3 |
| **o** | CDEG | 5→2,6→2,7→2,2→3 |
| **n** | CEG | 5→2,7→2,2→3 |
| **r** | EG | 7→2,2→3 |
| **y** | BCDFG | 4→2,5→2,6→2,1→3,2→3 |
| **t** | DEFG | 6→2,7→2,1→3,2→3 |
## 三、DIG3 组合表(数字 + 字母)
| 字符 | 亮段 | 脚对(高→低) |
|---|---|---|
| **0** | ABCDEF | 4→3,5→3,6→3,7→3,1→4,2→4 |
| **1** | BC | 5→3,6→3 |
| **2** | ABDEG | 4→3,5→3,7→3,1→4,3→4 |
| **3** | ABCDG | 4→3,5→3,6→3,7→3,3→4 |
| **4** | BCFG | 5→3,6→3,2→4,3→4 |
| **5** | ACDFG | 4→3,6→3,7→3,2→4,3→4 |
| **6** | ACDEFG | 4→3,6→3,7→3,1→4,2→4,3→4 |
| **7** | ABC | 4→3,5→3,6→3 |
| **8** | ABCDEFG | 4→3,5→3,6→3,7→3,1→4,2→4,3→4 |
| **9** | ABCDFG | 4→3,5→3,6→3,7→3,2→4,3→4 |
| **A** | ABCEFG | 4→3,5→3,6→3,1→4,2→4,3→4 |
| **b** | CDEFG | 6→3,7→3,1→4,2→4,3→4 |
| **C** | ADEF | 4→3,7→3,1→4,2→4 |
| **d** | BCDEG | 5→3,6→3,7→3,1→4,3→4 |
| **E** | ADEFG | 4→3,7→3,1→4,2→4,3→4 |
| **F** | AEFG | 4→3,1→4,2→4,3→4 |
| **H** | BCEFG | 5→3,6→3,1→4,2→4,3→4 |
| **L** | DEF | 7→3,1→4,2→4 |
| **P** | ABEFG | 4→3,5→3,1→4,2→4,3→4 |
| **U** | BCDEF | 5→3,6→3,7→3,1→4,2→4 |
| **o** | CDEG | 6→3,7→3,1→4,3→4 |
| **n** | CEG | 6→3,1→4,3→4 |
| **r** | EG | 1→4,3→4 |
| **y** | BCDFG | 5→3,6→3,7→3,2→4,3→4 |
| **t** | DEFG | 7→3,1→4,2→4,3→4 |
## 三、DIG4 组合表(数字 + 字母)
| 字符 | 亮段 | 脚对(高→低) |
|---|---|---|
| **0** | ABCDEF | 5→4,6→4,7→4,1→5,2→5,3→5 |
| **1** | BC | 6→4,7→4 |
| **2** | ABDEG | 5→4,6→4,1→5,2→5,4→5 |
| **3** | ABCDG | 5→4,6→4,7→4,1→5,4→5 |
| **4** | BCFG | 6→4,7→4,3→5,4→5 |
| **5** | ACDFG | 5→4,7→4,1→5,3→5,4→5 |
| **6** | ACDEFG | 5→4,7→4,1→5,2→5,3→5,4→5 |
| **7** | ABC | 5→4,6→4,7→4 |
| **8** | ABCDEFG | 5→4,6→4,7→4,1→5,2→5,3→5,4→5 |
| **9** | ABCDFG | 5→4,6→4,7→4,1→5,3→5,4→5 |
| **A** | ABCEFG | 5→4,6→4,7→4,2→5,3→5,4→5 |
| **b** | CDEFG | 7→4,1→5,2→5,3→5,4→5 |
| **C** | ADEF | 5→4,1→5,2→5,3→5 |
| **d** | BCDEG | 6→4,7→4,1→5,2→5,4→5 |
| **E** | ADEFG | 5→4,1→5,2→5,3→5,4→5 |
| **F** | AEFG | 5→4,2→5,3→5,4→5 |
| **H** | BCEFG | 6→4,7→4,2→5,3→5,4→5 |
| **L** | DEF | 1→5,2→5,3→5 |
| **P** | ABEFG | 5→4,6→4,2→5,3→5,4→5 |
| **U** | BCDEF | 6→4,7→4,1→5,2→5,3→5 |
| **o** | CDEG | 7→4,1→5,2→5,4→5 |
| **n** | CEG | 7→4,2→5,4→5 |
| **r** | EG | 2→5,4→5 |
| **y** | BCDFG | 6→4,7→4,1→5,3→5,4→5 |
| **t** | DEFG | 1→5,2→5,3→5,4→5 |
## 三、DIG5 组合表(数字 + 字母)
| 字符 | 亮段 | 脚对(高→低) |
|---|---|---|
| **0** | ABCDEF | 6→5,7→5,1→6,2→6,3→6,4→6 |
| **1** | BC | 7→5,1→6 |
| **2** | ABDEG | 6→5,7→5,2→6,3→6,5→6 |
| **3** | ABCDG | 6→5,7→5,1→6,2→6,5→6 |
| **4** | BCFG | 7→5,1→6,4→6,5→6 |
| **5** | ACDFG | 6→5,1→6,2→6,4→6,5→6 |
| **6** | ACDEFG | 6→5,1→6,2→6,3→6,4→6,5→6 |
| **7** | ABC | 6→5,7→5,1→6 |
| **8** | ABCDEFG | 6→5,7→5,1→6,2→6,3→6,4→6,5→6 |
| **9** | ABCDFG | 6→5,7→5,1→6,2→6,4→6,5→6 |
| **A** | ABCEFG | 6→5,7→5,1→6,3→6,4→6,5→6 |
| **b** | CDEFG | 1→6,2→6,3→6,4→6,5→6 |
| **C** | ADEF | 6→5,2→6,3→6,4→6 |
| **d** | BCDEG | 7→5,1→6,2→6,3→6,5→6 |
| **E** | ADEFG | 6→5,2→6,3→6,4→6,5→6 |
| **F** | AEFG | 6→5,3→6,4→6,5→6 |
| **H** | BCEFG | 7→5,1→6,3→6,4→6,5→6 |
| **L** | DEF | 2→6,3→6,4→6 |
| **P** | ABEFG | 6→5,7→5,3→6,4→6,5→6 |
| **U** | BCDEF | 7→5,1→6,2→6,3→6,4→6 |
| **o** | CDEG | 1→6,2→6,3→6,5→6 |
| **n** | CEG | 1→6,3→6,5→6 |
| **r** | EG | 3→6,5→6 |
| **y** | BCDFG | 7→5,1→6,2→6,4→6,5→6 |
| **t** | DEFG | 2→6,3→6,4→6,5→6 |
## 四、DIG6 指示段(不是数字位)
| 段 | 功能 | 点亮方式 |
|---|---|---|
| A6(上面) | 华氏度 °F 符号 | 7→6 |
| B6(下面) | 小数点 DP | 1→7 |
> DIG6 只有这两段,无 C~G。
## 五、固件换算公式
设段 `S`(A=0…G=6)、位 `D`(DIG1=1…DIG5=5):
```
HIGH脚 = ((S + D) % 7) + 1
LOW脚 = D + (S + D) / 7 // 整除
```
DIG6 两个固定脚对:`°F = 7高6低`,`小数点 = 1高7低`。
## 六、控制要点
1. **7 个脚必须支持三态**(高/低/高阻):点段前先把 7 脚全切输入,再只把目标 2 脚切输出。
2. **限流电阻**:若 YF30137 内部无电阻,每脚(或每段)串 100~330Ω(看亮度),否则烧段/烧 IO。
3. **防鬼影**:点完一段立即切回全高阻再点下一段。
4. **刷新率**:温度用 3 位(DIG1~3)+ 小数点,共 21+1 段,全扫一遍 ≥ 50~60Hz(每段约 0.7ms)。
5. **扫描实现**:建议用定时器中断(TIM3 或 SysTick)逐段点亮,别用主循环阻塞。
## 七、温度显示示例(8.0~36.7℃,格式 XX.X)
| 温度 | DIG1 | DIG2 | DIG3 | 小数点(B6) | °F(A6) |
|---|---|---|---|---|---|
| 36.7 | 3 | 6 | 7 | 1→7 | 灭(摄氏) |
| 8.0 | (灭/空白) | 8 | 0 | 1→7 | 灭(摄氏) |
| 25.0 | 2 | 5 | 0 | 1→7 | 灭(摄氏) |