|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 岁月如歌21 于 2025-11-21 17:03 编辑 3 ]; P0 _5 e' u% ~. v/ {2 j- J1 b
' h) {( m. t9 ?$ W# v2 lAi8051U驱动1.44寸黑白点阵LCD12864实验程序
6 m6 z3 l; t/ R2 }& A===SPI-DMA刷整屏523uS,超高帧频/ @7 K7 ~9 {5 D& B+ b9 _
8 ~4 ^- V2 V0 a! j! u# f7 }) M本例程基于AI8051U为主控芯片的实验箱V1.1版本进行编写测试。
& L& L. e9 u1 D* M使用Keil C251编译器,Memory Model推荐设置XSmall模式,
* h5 B) p7 V) Z0 O默认定义变量在edata,单时钟存取访问速度快。
, f+ `4 |, I* cedata建议保留1K给堆栈使用,
0 X! N3 V6 v, ^3 _ P9 x空间不够时可将大数组、不常用变量加xdata关键字定义到xdata空间。$ ? E1 Q% n7 \8 k+ h' F* B
0 K- K6 n% B0 P9 o2 v, ^0 h* V: K
黑白点阵屏LCD12864驱动程序,驱动IC为ST7565R,SPI接口,
7 x/ |+ c6 i+ D, b& c! v通过SPI-DMA将1024字节的图片数据送到彩屏,传送时不占用CPU时间。
6 T5 Q+ g& d6 u显示图形,汉字,英文,数字。
0 o9 X" A- t$ ~0 i6 E: v驱动芯片: ST7565R, ST7567A, UC1701(注意: UC1701的对比度设置不同).4 |2 H4 i0 x0 X3 B! u# l7 d
( I0 S* W7 t: y$ ?$ f3 N% x" b! Z/ {其中图形显示发送命令和图片数据使用SPI-DMA操作,
G, ^5 A3 S2 {+ j; d- O传输数据时不占用CPU时间,做GUI最方便了。8 i7 x" B0 \- Z6 K5 X+ m2 L( D& q
可以先操作定义于xdata的1024字节缓存,然后触发SPI-DMA即可,- K! u0 X! D* \4 x0 `& V7 } R
523us或943us即可自己动刷完。8 T% u5 k+ g, v) e
( ^4 G* u8 b1 |+ W, T& Z1 ^ d7 |. U
本例运行于40MHz, SPI速度为主频4分频(10MHz),
* N1 ^( s/ B; D) F每次SPI-DMA传输总时间943us,
" H9 `6 p9 |; e: W* e& U+ | g! N# s9 ISPI速度为主频2分频(20MHz),每次SPI DMA传输总时间523us。
$ h9 e* i# T; R2 G3 R8 h0 H将要显示的内容放在1024字节的显存中,启动DMA传输即可。4 }! f. G$ h1 S5 p0 q/ B
* d, o0 R. h9 F. ~
下载时, 选择时钟 40MHz (用户可自行修改频率后重新编译即可).
: N( n6 v# B, @2 N下图使用的屏其点阵宽高比是3:4的,所以显示圆形成了椭圆,1 C. i" _9 A8 j" \% _! I' M
这种屏显示字符、汉字就比较好看。; `1 ^# i6 o6 [# T
3 d" X) C. j( O7 [( N6 d4 P# A1 E u; M/ s* u
4 Q' B" q$ ~3 O7 _
|
|