本文档使用 TAB = 4 对齐,使用keil5默认配置打开阅读比较方便。
【*】程序简介
-工程名称:LTDC—液晶显示汉字
-实验平台: 秉火STM32 F429 开发板
-MDK版本:5.16
-ST固件库版本:1.5.1
【 !】功能简介:
驱动5寸液晶屏,显示汉字、绘制各种图形,使用液晶双层特效。
学习目的:学习如何使用字模库显示汉字。
【 !】实验操作:
连接好配套的5.0寸液晶屏,下载程序后复位开发板即可,屏幕会绘制文字及图形。
若汉字不正常显示,需要重新往外部FLASH烧录字模!!!
【*】注意事项:
本程序液晶显示的汉字字模是存储在外部FLASH的。
字模:GB2312汉字库,24*24,宋体,支持中文标点。字模位置见FLASH空间表。
【*】显存空间:
驱动液晶屏必须要使用SDRAM,用作显存。
液晶屏有两层,每层有独立显存空间,每层占据 [屏幕像素*像素宽度] 的空间。
驱动好LTDC后并设置好对应的层显示效果,直接往显存写数据就会显示到液晶上。
在bsp_lcd.h头文件的LCD_RGB_888宏可配置RGB888或RBG565模式。
显存分配:
RGB888,像素宽度3字节。
第一层:地址 (0xD0000000)至((0xD0000000 + 3*液晶屏像素宽*液晶屏像素高)-1)
第二层:地址 (0xD0000000 + 3*液晶屏像素宽*液晶屏像素高) 至(0xD0000000 + 2*3*液晶屏像素宽*液晶屏像素高)
显存分配:
RGB565,像素宽度2字节。
第一层:地址 (0xD0000000)至((0xD0000000 + 2*液晶屏像素宽*液晶屏像素高)-1)
第二层:地址 (0xD0000000 + 2*液晶屏像素宽*液晶屏像素高) 至((0xD0000000 + 2*2*液晶屏像素宽*液晶屏像素高)-1)
【*】性能
DMA2D刷纯色矩形:149帧/s
普通DMA刷纯色矩形:
普通DMA按行刷SD卡的BMP图片:
直接往内存描点: 28帧/s
LTDC时钟频率:10MHz (可在LCD_Init函数配置)
/***************************************************************************************************************/
【 !】外部Flash使用情况说明(W25Q128)
|-------------------------------------------------------------------------------------------------------------------|
|序号 |文件名/工程 |功能 |起始地址 |长度 |
|-------|---------------------------|-------------------------------------------|---------------|-------------------|
|1 |外部flash读写例程 |预留给裸机Flash测试 |0 |4096 (BYTE) |
|-------|---------------------------|-------------------------------------------|---------------|-------------------|
|2 |预留 |预留 |1*4096 |59*4096 (BYTE) |
|-------|---------------------------|-------------------------------------------|---------------|-------------------|
|3 |app.c |XBF字库文件(emWin使用,新宋体25.xbf) |60*4096 |649*4096(1.23MB) |
|-------|---------------------------|-------------------------------------------|---------------|-------------------|
|4 |app.c |XBF字库文件(emWin使用,新宋体19.xbf) |710*4096 |529*4096(172KB) |
|-------|---------------------------|-------------------------------------------|---------------|-------------------|
|4 |firecc936.c |文件系统中文支持字库(emWin使用,UNIGBK.BIN) |1240*4096 |43*4096(172KB) |
|-------|---------------------------|-------------------------------------------|---------------|-------------------|
|5 |WIFI8782模块 |WIFI模块固件(sd8782_uapsta.bin) |1290*4096 |61*4096(172KB) |
|-------|---------------------------|-------------------------------------------|---------------|-------------------|
|6 |裸机中文显示例程 |裸机中文字库(GB2312_H2424.FON) |1360*4096 |144*4096(576KB) |
|-------|---------------------------|-------------------------------------------|---------------|-------------------|
|7 |diskio.c |FATFS文件系统(emWin使用) |1536*4096 |2560*4096(10MB) |
|-------------------------------------------------------------------------------------------------------------------|
*本例程汉字字模大小为24*24,存储在外部FLASH芯片中,地址为1360*4096 至 (1360+144)*4096 ,
若修改了存储的位置,需要在fonts.h文件中修改宏 GBKCODE_START_ADDRESS。
/*******************************************************************************************************************/
【*】 引脚分配
液晶屏:
液晶屏接口与STM32的LTDC接口相连,支持RGB888、565格式,
STM32直接驱动,无需外部液晶屏驱动芯片。
/*液晶控制信号线*/
CLK 《---》PG7
HSYNC 《---》PI10
VSYNC 《---》PI9
DE 《---》PF10
DISP 《---》PD4
BL 《---》PD7
/*电容触摸屏信号线*/
RSTN 《---》PD13
INT 《---》PD12
SDA 《---》PH5
SCL 《---》PH4
RGB信号线省略,本实验没有驱动触摸屏,详看触摸画板实验。
SDRAM (IS42S16400J8M 字节):
SDRAM芯片的接口与STM32的FMC相连。
/*控制信号线*/
CS 《---》PH6
BA0 《---》PG4
BA1 《---》PG5
WE 《---》PC0
CS 《---》PH6
RAS 《---》PF11
CAS 《---》PG15
CLK 《---》PG8
CKE 《---》PH7
UDQM《---》PE1
LDQM《---》PE0
地址和数据信号线省略,本连接的SDRAM基地址为 (0xD0000000),结束地址为(0xD0800000),大小为8M字节
FLASH(W25Q128):
FLASH芯片的SPI接口与STM32的SPI3相连。
SCK 《---》PB3
MISO《---》PB4
MOSI《---》PB5
CS 《---》PI8
串口(TTL-USB TO USART):
CH340的收发引脚与STM32的发收引脚相连。
RX《---》PA9
TX《---》PA10
/*****************************************************************************************************/
【*】 时钟
A.晶振:
-外部高速晶振:25MHz
-RTC晶振:32.768KHz
B.各总线运行时钟:
-系统时钟 = SYCCLK = AHB1 = 180MHz
-APB2 = 90MHz
-APB1 = 45MHz
C.浮点运算单元:
使用
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !