|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 岁月如歌21 于 2025-11-21 17:03 编辑 $ P6 {: O6 k+ \$ H4 |& |3 U
- M. _5 l; g$ S- _
Ai8051U驱动1.44寸黑白点阵LCD12864实验程序
* i( P) W6 B$ U- Z1 @===SPI-DMA刷整屏523uS,超高帧频& E3 k0 L' S& ?: {; D
/ G t' b+ A) z! J8 p$ g' m/ U
本例程基于AI8051U为主控芯片的实验箱V1.1版本进行编写测试。
7 C# J% G a+ D" c. C4 B使用Keil C251编译器,Memory Model推荐设置XSmall模式,
: T9 d+ u% A4 \& o7 t; `7 D' Z默认定义变量在edata,单时钟存取访问速度快。, m1 \# N2 H7 P; Z
edata建议保留1K给堆栈使用,& n5 K. N9 |+ Y0 K1 N; `2 q3 T2 c
空间不够时可将大数组、不常用变量加xdata关键字定义到xdata空间。
% N/ q* i B8 ]+ X/ e! k. ^9 |8 \1 `# w" a3 q0 i! t
黑白点阵屏LCD12864驱动程序,驱动IC为ST7565R,SPI接口,
8 \( B$ h, c& e7 c3 q) g: m通过SPI-DMA将1024字节的图片数据送到彩屏,传送时不占用CPU时间。. x; K& |* S y$ X$ G# t3 H
显示图形,汉字,英文,数字。3 J1 }2 f; q2 O! X" O( I; e- m
驱动芯片: ST7565R, ST7567A, UC1701(注意: UC1701的对比度设置不同).; R, x W+ {& Y, d
. s5 B% ]1 r5 P3 o+ K# {2 T+ i其中图形显示发送命令和图片数据使用SPI-DMA操作,$ n3 o, Z) B7 j7 m1 d; b
传输数据时不占用CPU时间,做GUI最方便了。- s/ i A$ [/ H+ ^) G( ?) I
可以先操作定义于xdata的1024字节缓存,然后触发SPI-DMA即可, e+ g/ |* x( J2 n, w
523us或943us即可自己动刷完。, z1 C$ P, u: k
) S7 A, t, V3 `0 K( i% W
本例运行于40MHz, SPI速度为主频4分频(10MHz),
/ |4 u3 w' \8 z每次SPI-DMA传输总时间943us,
F& O' Q% v( {4 dSPI速度为主频2分频(20MHz),每次SPI DMA传输总时间523us。
, ] i6 s: H' [% `3 q g将要显示的内容放在1024字节的显存中,启动DMA传输即可。* ~: E# f- }# @4 u) ^+ P# X
# L% T4 T* E# a3 o下载时, 选择时钟 40MHz (用户可自行修改频率后重新编译即可).
$ ]3 _! \; P* P; Y0 }# m" G; K下图使用的屏其点阵宽高比是3:4的,所以显示圆形成了椭圆,, G% ?3 \" g6 I* r! W$ ^" v" g
这种屏显示字符、汉字就比较好看。
/ ]( w. D9 p" ^( b
! E$ f6 x0 q$ q/ v X5 F0 [2 @- ?+ ?7 r) _$ \* a* o
% j1 P1 Z2 i' {' \7 L0 q0 z" ^
|
|