|
这是一款基于 STM32F103 的图形协处理器(PPU),它专为 128×64 单色点阵屏(ST7565驱动)提供硬件级图形加速。 该 PPU 通过 UART 串口接收上层命令,所有图形运算(地图绘制、精灵合成、卷轴滚动、镜像翻转)均在 STM32 内部完成,然后以 DMA 方式高速刷新 LCD。上层主控(无论是 51、AVR、ESP8266 还是另一块 STM32)只需发送简洁的指令,即可实现复杂界面。 二、硬件组成核心处理器:STM32F103C8T6(或其他 F103 系列),运行于 72MHz。 显示模块:128×64 点阵 LCD,驱动芯片 ST7565R(兼容 ST7565P/ST7567)。 通信接口:UART(57600bps),仅需 3 根线(TXD、RXD、GND)。 外部引脚:STM32 与 LCD 的连接方式已在代码中注明(SPI 模式,PA2/PA3/PA4/PA5/PA7)。
三、功能特性地图系统:支持最大 4KB 地图数据(尺寸可自定义),可实现双向平滑卷轴。 精灵(Sprite)系统:最多 32 个精灵,每个可独立设置尺寸(宽 8~32,高 1~32)、位置(16位有符号坐标,支持负值实现平滑进出)、水平/垂直翻转。 地图回绕模式:可选开启,无缝循环滚动地图。 渲染控制:提供“渲染”命令,上层可精确控制帧率,避免画面撕裂。 显示控制:支持开关显示、对比度调节、镜像翻转、反色等。
四、通信协议(开放)协议采用简单帧结构:0xAA 0x55 CMD LEN DATA[LEN] SUM 0x0D
所有命令码及数据格式均已在文档中详细说明,便于移植到任意主控。 主要命令包括: 五、性能表现 六、开源资源STM32 端源代码:包含 LCD 驱动、图形引擎、协议解析,Keil 工程可直接编译。 通信协议手册(PDF):命令码、数据格式、示例。 上位机示例(以 STC89C52 为例):演示了如何创建 16 个精灵、滚动地图,并实现帧同步(仅供调用参考)。 硬件连接图:STM32 与 LCD 引脚对应关系。
示例中的 51 程序仅用于演示协议用法,如无 51 开发板,也可用串口助手手动发送命令测试。
七、注意事项(针对 51 用户)若您使用 STC89C52 作为上位机,并希望通过串口下载程序,下载前请务必断开 STC 的 P3.0(RXD)与 STM32 的连接,否则 STM32 会占用串口导致下载超时。下载完成后再恢复连接即可。 八、应用场景游戏机 嵌入式仪表盘 / 菜单界面 低成本 HMI 交互 STM32 图形处理学习。
多个移动精灵测试,16个8*8 和3个16*16坦克。这个项目我只有st7565s驱动的lcd12864 spi 接口。感兴趣的朋友,如果测试好了其他接口和芯片的驱动可以贴出来分享。
文件清单如下
stm32ppu_lcd12864.7z
(1.35 MB, 下载次数: 0)
|