main.lua:主程序入口;
ui_main.lua:UI应用模块,负责UI启动初始和UI主循环
AirLCD_1000.lua:显示驱动模块,负责执行AirLCD_1000初始化,背光亮度调节和屏幕休眠和唤醒
屏幕接线引脚配置在AirLCD_1000.lua内进行设置
设置好后,启动主循环屏幕初始化程序,点亮屏幕
进入UI主task,循环显示显示图片、字符、色块等内容,并通过接口设置背光亮度和对屏幕进行休眠和唤醒。
AirLCD_1000 显示屏*1
Air780EPM 开发板或核心板*1
母对母杜邦线*8
TYPE-C 数据线*1
按照硬件接线图正确连接 LCD 显示屏
将核心板正面开关打到 ON 位置
本demo使用的背光引脚,既是GPIO_1也是PWM_0引脚
调节屏幕亮度需要确保背光控制引脚(如 demo 中 GPIO1)支持 PWM 功能
背光引脚通过切换到PWM模式,通过调节占空比实现背光亮度调节
背光引脚通过切换到GPIO模式,再调用休眠/唤醒接口使屏幕进入休眠/唤醒
| 引脚说明 | 核心开发板 | 屏幕 | 引脚说明 |
| 屏幕供电 | VDD-EXT | VCC | 显示屏电源供电脚 |
| 电源地 | GND | GND | 电源地 |
| LCD SPI 串口的时钟信号 | LCD_CLK | CLK | SPI 串口的时钟信号 |
| LCD SPI 串口的数据脚 | LCD_SDA | MOS | SPI 串口的数据输入脚 |
| LCD 复位脚 | LCD_RST | RES | 显示屏复位脚 |
| LCD 数据/寄存器控制脚 | LCD_RS | DC | 4 线 SPI 串口的显示数据/寄存器指令 |
| LCD SPI片选,同一个SPI接口上有多个设备才使用 | LCD_CS | CS | LCD驱动芯片片选脚 |
| LCD 背光控制引脚 | GPIO_1/PWM0 | BKL | 背光使能引脚 |
注意:模组GPIO供电能力弱,所以使用VDD-EXT供电。
固件版本,推荐使用 V2015 及以后最新固件版本:
Air780EPM固件下载链接(Air780EHM固件下载下方)
下载本 demo中除readme外的所有的代码文件以及图片文件
下载 luatools 烧录工具:luatools下载链接及使用说明
按照操作说明,将本 demo 内除 readme.md 外的全部文件通过 luatools 下载到模块内(按住 BOOT 键开机,选择下载底层和脚本)
如需显示图片,如 demo 中显示的 logo,确保 logo.jpg 图片文件存在,下载时会放在模组 /luadb/ 目录下

通过 demo 了解屏幕连接、配置、初始化过程,为显示做好准备
通过 demo 将图片、12 号中文、英文、点、线、圆形、矩形、颜色填充、二维码显示在屏幕上
通过 demo 了解如何使用接口对屏幕进行背光亮度调节、屏幕休眠、屏幕唤醒
实现效果图
AirLCD_1000.lcd_init()参数:
返回值:初始化成功状态(true/false), 屏幕宽度, 屏幕高度
AirLCD_1000.set_backlight(level)AirLCD_1000.set_sleep(sleep)lcd_models: 支持的 LCD 型号及其参数default: 默认配置(滑动阈值、点击时间阈值等)预留后续扩展功能使用目前支持 ST7796、ST7789、CO5300 显示芯片,其他 st7735 、st7735v、st7735s、gc9a01、gc9106l、gc9306x、ili9486 也同样支持,
模组字体支持有限,需要使用其他字体可以搭配合宙 AirFONTS_1000 矢量字库使用
Air780EPM/EHM/EGH/EHV、Air8000 系列、Air8101,按正确的接口接线并修改 screen_data_table.lua 都可以使用此 demo
其他屏幕可以参考 custom 的方式自定义屏幕初始化配置
-- 配置接口参数
local lcd_param = {
port = lcd.HWID_0, -- 使用的spi id 号
pin_rst = 36, -- 复位引脚
pin_dc = 0xff, -- 命令选择硬件,不设置
pin_rst = 2, -- 屏幕reset 管脚
direction = 0, -- 屏幕方向
w = width, -- 屏幕宽度
h = height, -- 屏幕高度
xoffset = 0, -- X轴偏移像素
yoffset = 0, -- Y轴偏移像素
sleepcmd = 0x10, -- LCD睡眠命令
wakecmd = 0x11, -- LCD唤醒命令
}
-- 初始化SPI设备
spi.deviceSetup(
lcd.HWID_0, -- LCD端口号
nil, -- CS片选脚,可选
0, -- CPHA=0
0, -- CPOL=0
8, -- 8位数据宽度
20000000, -- 20MHz波特率
spi.MSB, -- 高位先传
1, -- 主机模式
1 -- 全双工模式
)
-- QSPI如有特殊配置,需要在lcd.init前配置好
--lcd.qspi(0x02, 0x32, 0x12)
-- 初始化屏幕
lcd.init("custom", lcd_param)
-- 如有其他参数需要配置,可使用lcd.cmd命令
--lcd.cmd(0x53, 0x20)
-- 自定义初始化后必须运行该程序
lcd.user_done()