灵芯伙伴-指令对照表
1. 设计思想
灵芯伙伴是一款专为中小学电子基础教育教学定制的单片机学习套件。
本套件围绕“中小学生使用”这一核心需求,结合中国元素、国产芯片、科技感、趣味性四大特点,以 【灵】 动学习和智能 【芯】 片为基础,如 【伙伴】 一般,以定期更新的教学内容和项目挑战,陪伴学生实现技术成长。
灵芯伙伴套件以中英文结合的方式选择了自己的字母缩写:LKP,发音为 Link-P。其中:
名称含义
- L:取自拼音 Ling(灵)保留中文名核心,象征“灵动智能”的科技感
- K:K/X,既指创"客"也为"芯"
- P:取自“伙伴”的拼音 HuoBan 中 “伴” 的声母变体P,同时也是英文 Partner(伙伴)的首字母
- Link-P:“Link” 隐含 “连接科技与伙伴” 之意,与单片机 “硬件互通”的功能相呼应
2. 助记符体系定位
本套件的指令体系分为两层,两者通过本对照表互通:
- 助记符体系(本表):面向中小学生入门。在中文教学场景下,助记符大多取自功能名的拼音首字母(如 JT=接通、DK=断开、DYZ=大于转、SS=送数、QS=取数),便于记忆和书写,是课堂教学与范例程序的主要用语。
- opcode 十六进制参考:面向进阶学习者(具备自学能力的大学生与开发者),直接给出机器指令集本身——操作码与操作数的完整定义,详见指令集分册。
每行程序中的指令字段(inst)既可以写助记符,也可以写对应的 opcode,两种写法一一对应:从本表可由助记符查到 opcode 并跳转到指令分册详页;从指令分册的 opcode 也可反查助记符。
3. 助记符 ↔ Opcode 对照表
3.1 基础控制与跳转
| Mnemonic | Opcode | Function |
|---|---|---|
| SKIP | 0x00 | No Operation |
| YS | 0x02 | Delay |
| DS | 0x03 | Timer |
| DYZ | 0x04 | Branch Greater |
| XYZ | 0x05 | Branch Less |
| DZ | 0x06 | Branch Equal |
| DDZ | 0x07 | Branch Greater or Equal |
| XDZ | 0x08 | Branch Less or Equal |
| BDZ | 0x09 | Branch Not Equal |
| TJZ | 0x0A | Conditional Branch |
| TZ | 0x0B | Branch on Input |
| DY | 0x0C | Call Subroutine |
| FH | 0x0D | Return |
| ZY | 0x0E | Unconditional Jump |
| JS | 0x0F | End Program |
| JT | 0x41 | Connect |
| DK | 0x42 | Disconnect |
| SR | 0x43 | Wait for Screen Input |
| SSE | 0x44 | Seven-Segment Scan |
3.2 寄存器操作
| Mnemonic | Opcode | Function |
|---|---|---|
| FZ | 0x10 | Set Register |
| RFZ | 0x11 | Register Copy |
| ZJ | 0x12 | Increment / Decrement |
| SS | 0x13 | Send to Output |
| QS | 0x14 | Read Input |
| XHYW | 0x15 | Shift / Rotate |
| QF | 0x16 | Bitwise NOT |
| WY | 0x17 | Bitwise AND |
| WH | 0x18 | Bitwise OR |
| WYH | 0x19 | Bitwise XOR |
| RJIA | 0x1A | Register-to-Register Add |
| RJIAN | 0x1B | Register-to-Register Subtract |
| RCHENG | 0x1C | Register-to-Register Multiply |
| RCHU | 0x1D | Register-to-Register Divide |
| RQY | 0x1E | Register-to-Register Remainder |
| SJS | 0x1F | Random Number |
| GDCZ | 0x20 | Byte Recomposition |
| GDJH | 0x21 | Byte Swap |
| JIA | 0x2A | Register Add Literal |
| JIAN | 0x2B | Register Subtract Literal |
| CHENG | 0x2C | Register Multiply Literal |
| CHU | 0x2D | Register Divide Literal |
| QY | 0x2E | Register Modulo Literal |
| BMQD | 0x30 | Seven-Segment Encode |
| TJYS | 0x32 | Three-Register Operation |
3.3 屏幕绘图与显示
| Mnemonic | Opcode | Function |
|---|---|---|
| SC | 0x55 | Print Number |
| WZ | 0x56 | Print Text |
| YX | 0x57 | Circle (Outline) |
| YXTC | 0x58 | Circle (Filled) |
| JX | 0x59 | Rectangle (Outline) |
| JXTC | 0x5A | Rectangle (Filled) |
| HX | 0x5B | Draw Line |
3.4 传感器
| Mnemonic | Opcode | Function |
|---|---|---|
| AD | 0xAD | Read AD Channel |
3.5 外设配置
| Mnemonic | Opcode | Function |
|---|---|---|
| MKPZ | 0xC0 | Module Configuration |
| MKCD | 0xCB | WS2812B Module Switch |
| PWM | 0xCC | On-board PWM Duty Cycle |
| WPWM | 0xEC | External PWM |
| WPL | 0xEF | External PWM Frequency |
3.6 彩灯与音乐
| Mnemonic | Opcode | Function |
|---|---|---|
| CD | 0xE4 | LED Colour |
| RCD | 0xE5 | LED Colours from Registers |
| FY | 0xE8 | Play Tone |