|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 岁月如歌21 于 2025-11-21 17:03 编辑 ' Q0 s+ A' }) G7 Q! A: D5 G% J; f; |
$ R$ x$ [: M* h& u/ p2 d; O
Ai8051U驱动1.44寸黑白点阵LCD12864实验程序
9 N- x# x: m9 j M- m===SPI-DMA刷整屏523uS,超高帧频
/ _! h n# J" x, Z/ K. Z Q
0 C/ _% B/ q J# z
本例程基于AI8051U为主控芯片的实验箱V1.1版本进行编写测试。
2 s. |8 a& g7 ]0 ^% p/ y使用Keil C251编译器,Memory Model推荐设置XSmall模式,
& ^7 A0 d4 J0 Y. Z+ ?默认定义变量在edata,单时钟存取访问速度快。+ ~0 D! m, O, ^4 O
edata建议保留1K给堆栈使用,4 v \* w9 D$ c& D8 v; e
空间不够时可将大数组、不常用变量加xdata关键字定义到xdata空间。. G- [3 z7 {2 D, W; W! r ~+ R
- D, [& O; c# c黑白点阵屏LCD12864驱动程序,驱动IC为ST7565R,SPI接口,# H( I" W: }& e6 i# r U. M
通过SPI-DMA将1024字节的图片数据送到彩屏,传送时不占用CPU时间。' U6 _% r& g) l. K
显示图形,汉字,英文,数字。2 }6 \9 ]5 u1 U M4 m- v
驱动芯片: ST7565R, ST7567A, UC1701(注意: UC1701的对比度设置不同).
; J: C: b* }; a A1 a. F! ~( P( V1 D) v7 d! p9 j) H0 k) f
其中图形显示发送命令和图片数据使用SPI-DMA操作,7 f* H. z5 Y" C) F- Q& ~
传输数据时不占用CPU时间,做GUI最方便了。
0 E- `9 W$ }& S可以先操作定义于xdata的1024字节缓存,然后触发SPI-DMA即可,) \% d5 c- C# \
523us或943us即可自己动刷完。* L4 _$ B* R ]$ w. a
6 C/ h: o, L! \4 m7 N# i本例运行于40MHz, SPI速度为主频4分频(10MHz),
+ x3 c, n0 f9 q A" N y每次SPI-DMA传输总时间943us,' f7 N a3 \4 k1 M2 M9 I" s. I
SPI速度为主频2分频(20MHz),每次SPI DMA传输总时间523us。
# K( G% f: t0 L1 z1 J' I8 r) w将要显示的内容放在1024字节的显存中,启动DMA传输即可。
+ v' e/ P F6 f' j$ N( p
# C, x$ t% H' s* l9 y/ q下载时, 选择时钟 40MHz (用户可自行修改频率后重新编译即可).
6 q- e7 f, w7 P$ }1 N, e下图使用的屏其点阵宽高比是3:4的,所以显示圆形成了椭圆,
7 [- q5 e! f/ h8 q1 P这种屏显示字符、汉字就比较好看。3 U6 q8 b5 |; p. ]' @
9 Y# P8 N5 s# N- W* j: i( L) R
/ r% ]$ O+ Y3 H/ ]; B1 \' h* \0 A8 f% g; U3 i0 z6 [
|
|