EDA365电子论坛网

标题: Ai8051U驱动0.96寸单色OLED12864实验程序,SPI-DMA 刷整屏523us,超高帧频 [打印本页]

作者: 岁月如歌21    时间: 2025-11-19 16:21
标题: Ai8051U驱动0.96寸单色OLED12864实验程序,SPI-DMA 刷整屏523us,超高帧频
本帖最后由 岁月如歌21 于 2025-11-19 16:23 编辑
6 z0 U. K, {' h8 u1 s7 H2 I& z- }( D' L% g4 V

7 B5 ^, C' s7 a$ ^2 J+ C  x. X( q8 di8051U驱动0.96寸单色OLED12864实验程序2 W% O6 D! p# R
===SPI-DMA整屏 523uS,超高帧频* b+ t+ q; e4 ], n
本例程基于Ai8051U为主控芯片的实验箱V1.1版本进行编写测试。& X3 H! |# Z% [: h
使用Keil C251编译器,Memory Model推荐设置XSmall模式,

; c  Z: K( a: Y默认定义变量在edata,单时钟存取访问速度快。* a1 X3 ~" h( o' R. y4 p
edata建议保留1K给堆栈使用,空间不够时可将大数组、不常用变量

$ m4 h1 v" q6 F9 w& j1 U( O) \# z: Q加xdata关键字定义到xdata空间。+ h- j; m4 F1 E% ]# o/ C
单色OLED12864显示屏驱动程序,驱动IC为SSD1306,SPI接口,
4 E! Y9 G" I2 _3 g( n6 g4 h. g
通过SPI DMA将1024字节的图片数据送到 OLED12864,& j6 b( S  @0 |" d6 L2 i( P  Y
传送时不占用CPU时间。
) X& y4 R- l& \2 l0 K% ]' ?% N. }7 @: a显示图形,汉字,英文,数字.
0 X+ s' m) ~8 y7 f* v1 Q9 q( M: G其中图形显示发送命令和图片数据使用SPI DMA操作,传输数据时不占用CPU时间。! S- w3 r$ V( d) i+ H
做GUI最方便了,可以先操作定义于xdata的1024字节缓存,然后触发SPI DMA即可,
5 t/ ]8 A9 R7 O* s, _最快523us即可自动刷完。
4 {5 g2 Z0 W# P4 i" H  ^本例运行于40MHz, SPI速度为主频4分频(10MHz),每次SPI DMA传输总时间943us,
1 H, t. f. D; T2 V. u( _3 q: Y
SPI速度为主频2分频(20MHz),每次SPI DMA传输总时间523us。
% A, e# z% f- y7 B将要显示的内容放在1024字节的显存中,启动DMA传输即可。- j) L( x; \5 G" p, H5 y* ~
下载时, 选择时钟 40MHz (用户可自行修改频率后重新编译即可).7 v* v: ^$ D! V$ r( k# e& ]! [& [
; ?2 T! S) b2 r2 D- V

6 j  m% L$ \. } & Z0 h% ?% z7 V# a0 H  j
; @; G& {& g0 I" E$ a

1 \, ~2 K5 g# g/ K- Q5 t/ ~

SSD1306驱动0.96寸OLED12864显示屏程序-SPI-DMA.rar

91.17 KB, 下载次数: 0, 下载积分: 威望 -5






欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2