|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 岁月如歌21 于 2025-11-21 17:03 编辑 ) G7 @+ m: ^. I' N+ R0 O/ E
2 U( O7 V! Y1 S; _7 M% h3 KAi8051U驱动1.44寸黑白点阵LCD12864实验程序
, e H$ ^, ^0 C0 U! `, s' D===SPI-DMA刷整屏523uS,超高帧频 h, ]3 F% {% O1 |$ E$ }, U
/ x# U% q( |# e7 I. D9 W本例程基于AI8051U为主控芯片的实验箱V1.1版本进行编写测试。. I& o0 P" M* @0 n' U4 e
使用Keil C251编译器,Memory Model推荐设置XSmall模式,8 `/ G, d# J3 d' s Z
默认定义变量在edata,单时钟存取访问速度快。; u' Y+ v% i, P% ^, `$ _) |
edata建议保留1K给堆栈使用,
- g9 ^9 v0 d& D. _空间不够时可将大数组、不常用变量加xdata关键字定义到xdata空间。
. m; [0 w" J: k8 s
- V+ E$ g* |1 _6 I$ n8 M# [2 {黑白点阵屏LCD12864驱动程序,驱动IC为ST7565R,SPI接口,4 J0 [+ h1 ^) @$ K1 ^
通过SPI-DMA将1024字节的图片数据送到彩屏,传送时不占用CPU时间。, v1 Z( I1 h* C6 Q d7 ^
显示图形,汉字,英文,数字。
, q0 d% M+ a q4 o6 ?驱动芯片: ST7565R, ST7567A, UC1701(注意: UC1701的对比度设置不同).1 T8 _# w) [/ u: O3 p
( b% P9 l6 u1 i- V" d其中图形显示发送命令和图片数据使用SPI-DMA操作,
& T3 s0 D! k2 Q" e# S) W- I传输数据时不占用CPU时间,做GUI最方便了。5 Q5 K8 I* L" m, V% R) |9 B. [; O
可以先操作定义于xdata的1024字节缓存,然后触发SPI-DMA即可,
! M8 ?2 m- B3 J+ q; j/ s% q523us或943us即可自己动刷完。
3 Q. F# ^. K5 U4 C
# S3 X6 R% U9 ]+ `3 r3 R, U本例运行于40MHz, SPI速度为主频4分频(10MHz),$ L( ?% c3 e: s3 j5 Y, j) @' |
每次SPI-DMA传输总时间943us,
( T( k4 c4 @6 y; S6 R7 d8 h' YSPI速度为主频2分频(20MHz),每次SPI DMA传输总时间523us。
( @5 m: T* t7 N, a9 k. ^2 J将要显示的内容放在1024字节的显存中,启动DMA传输即可。0 m1 a, L+ W. h8 W: U
- h% N; _$ S9 k' T% i6 ?' Z下载时, 选择时钟 40MHz (用户可自行修改频率后重新编译即可).3 v) K$ Q# r/ E2 m& ?5 a/ c5 V
下图使用的屏其点阵宽高比是3:4的,所以显示圆形成了椭圆,
/ v3 n( {( M% d8 e1 V这种屏显示字符、汉字就比较好看。
7 b* {1 y6 J. p# H
; d9 \9 ?/ k1 h) [, z/ L, J
4 D% C" j+ r6 \; h2 ~3 y0 ]1 Y# t {: ~7 J( L# T$ o3 n
|
|