- 来源: 合宙 LuatOS 官方仓库 air780epm 模块完整代码 - 路径: luatos/air780epm/module/Air780EPM/demo 含官方 demo(含 mqtt/mqtts/socket/uart 等) - 后续: 基于 demo 开发 UART<->MQTT 数据上报功能
AiP650E 数码管驱动芯片演示
一、功能模块介绍
1.1 核心主程序模块
- main.lua - 主程序入口,负责项目初始化、版本定义和任务调度
- aip650e_demo.lua - AiP650E 功能演示模块,包含数码管显示、按键检测、亮度调节、模式切换、综合展示等所有功能的演示用例
1.2 扩展库模块
- exs_aip650e - AiP650E 扩展库,提供数码管段码显示、按键检测、亮度调节、模式切换等 API
二、演示流程介绍
本 demo 按顺序演示 exs_aip650e 扩展库的 6 项功能:HELLO → [1/6] → [2/6] → [3/6] → [4/6] → [5/6] → [6/6] → End
2.1 功能演示项说明
- [1/6] 字符串显示 - 数码管逐项显示数字、带小数点数字、字母组合、指定位置显示
- [2/6] 按键轮询 - 通过
get_key()API 轮询检测按键,10 秒超时 - [3/6] 亮度调节 - 展示 0~7 级亮度调节效果
- [4/6] 按键回调 - 通过
set_key_callback()API 设置按键回调函数,15 秒演示窗口 - [5/6] 模式切换 - 8 段与 7 段模式切换演示
- [6/6] 综合演示 - 倒计时、HELLO 闪烁、全 8 显示、亮度渐变、日期展示、温度展示
三、演示硬件环境
3.1 硬件清单
- Air780EPM 核心板 × 1
- AiP650E 数码管模块(4 位数码管 + 按键) × 1
- 母对母杜邦线 × 4
- TYPE-C 数据线 × 1
3.2 接线配置
3.2.1 AiP650E 模块接线
| Air780EPM 核心板 | AiP650E 模块 |
| 32/GPIO31 | CLK |
| 31/GPIO30 | DIO |
| VDD_EXT | VCC |
| GND | GND |
说明:接线时注意杜邦线不宜过长,以免通信不稳定。
四、演示软件环境
4.1 开发工具
- Luatools下载调试工具 - 固件烧录和代码调试
4.2 内核固件
- 点击下载Air780EPM系列最新版本内核固件,demo所使用的是 LuatOS-SoC_V2046_Air780EPM 1号固件
4.3 脚本文件
- main.lua - 主程序入口
- aip650e_demo.lua - AiP650E 功能演示模块
- exs_aip650e - AiP650E 扩展库
五、演示核心步骤
5.1 硬件准备
- 按照接线表将 AiP650E 模块连接到核心板
- 确保电源连接正确,通过 TYPE-C USB 口供电
- 检查所有接线无误,避免短路
5.2 软件配置
在 main.lua 中加载对应的演示模块:
-- 加载 aip650e_demo.lua 演示模块
require "aip650e_demo"
5.3 软件烧录
- 使用 Luatools 选择最新内核固件
- 下载本项目所有脚本文件
- 将固件和脚本一起烧录到设备
- 烧录成功后设备自动重启后开始运行
5.4 功能测试
5.4.1 字符串显示演示
- 设备启动后显示 "HELLO",随后自动进入 [1/6] 字符串显示
- 观察数码管依次显示:
1234→88.8→AbCd→ 从第 3 位显示1234 - 检查字符显示是否正确,带小数点功能是否正常
5.4.2 按键检测演示
- 自动进入 [2/6] 按键轮询演示,数码管显示 "KEY-"
- 在 10 秒内按下 AiP650E 模块上的任意按键
- 观察数码管显示按键编码(如 "K01"、"K02" 等)
- 若 10 秒内无按键按下,自动跳过
5.4.3 亮度调节演示
- 自动进入 [3/6] 亮度调节演示,数码管显示 "8888"
- 观察数码管亮度从 0 级到 7 级逐级变化
- 最终恢复到 4 级亮度
5.4.4 按键回调演示
- 自动进入 [4/6] 按键回调演示,数码管显示 "Cb-Key"
- 在 15 秒内按下任意按键,观察数码管显示对应按键编码
- 观察日志输出,确认回调函数
on_key被正常触发 - 15 秒后自动结束回调演示
5.4.5 模式切换演示
- 自动进入 [5/6] 模式切换演示
- 观察数码管从 8 段模式切换到 7 段模式
- 再切回 8 段模式,观察显示效果变化
- 确认小数点(DP)在 7 段模式下不显示
5.4.6 综合演示
- 自动进入 [6/6] 综合演示
- 观察倒计时效果:5 → 4 → 3 → 2 → 1 → 0
- 观察 "HELO" 闪烁效果,重复 4 次
- 观察全 8 显示 + 亮度渐变
- 日期展示:显示格式 "YY-MM-DD"(如 "26-07-13"),停留 3 秒
- 温度展示:
- 摄氏度:25°C → 32°C 逐度变化,亮度随温度升高而增加
- 华氏度:77°F → 90°F 逐度变化
- 演示结束后显示 "End" 并停留 3 秒
5.5 预期效果
- 字符串显示:数字、字母、小数点均能正确显示,支持指定起始位置
- 按键检测:轮询模式和回调模式均能正确检测按键,编码显示正常
- 亮度调节:0~7 级亮度逐级变化,效果明显
- 模式切换:8 段和 7 段模式切换正常,小数点显示状态正确
- 日期/温度:格式显示正确,°C 和 °F 符号正常显示
5.6 故障排除
-
数码管无显示:
- 检查 AiP650E 接线是否正确(CLK、DIO、VCC、GND)
- 确认 GPIO 引脚配置与接线一致
- 检查电源电压是否稳定(3.3V)
- 确认 exs_aip650e 扩展库已正常加载
-
按键无响应:
- 检查按键电路是否正常
- 确认扩展库初始化成功
- 查看日志确认
setup()返回值为 true
-
亮度无法调节:
- 确认调用
set_brightness()时参数为 0~7
- 确认调用
-
显示内容错乱:
- 检查杜邦线是否过长导致通信不稳定
-
通信不稳定:
- 检查 CLK 和 DIO 接线是否牢固
5.7 扩展功能建议
exs_aip650e 更多接口的使用可以查看 exs_aip650e 扩展库说明