DSP论坛
直播中

创龙教仪

1年用户 195经验值
擅长:嵌入式技术 EDA/IC设计
私信 关注

国产DSP实验箱_操作教程:2-7 LCD图片显示实验(程序读取图片)

2-7 LCD图片显示实验(程序读取图片)

一、实验目的

学习BMP图像数据的存储格式,并实现LCD图像数据的读取与显示。

二、实验原理

1、LCD控制器

要实现一块LCD正常的显示文字、图像和触摸,不仅需要LCD驱动器,而且还需要相应的LCD控制器,控制器一般有两种:显示控制器和触摸控制器。在通常情况下,生产厂商把LCD驱动器会以COF/COG的 形式与LCD玻璃基板制作在一起,而LCD控制器则是由外部的电路来实现,现在很多的MCU内部都集成了LCD控制器,

2、LCD显示控制器

TMS320C6748 CPU内部就有对应的LCD显示控制器(光栅控制器)。LCD 控制器由两个独立的控制器组成,即光栅控制器和 LCD 接口显示驱动器 (LIDD) 控制器。每个控制器独立于另一个控制器运行,并且在任何给定时间只有一个控制器处于活动状态。

image.png

3、LCD显示原理

液晶分子在电场作用下->会发生排列上的变化-> 影响通过其的光线变化->通过偏光片的作用可以表现为明暗的变化->控制了光线的明暗变化->显示图像(黑白)

image.png

4、LCD显示流程

(1)首先,设置内部的LCD控制器。
(2)接着,建立映射关系。通过配置将LCD控制器和显存连接起来,构成一个映射关系。一旦这个关系建立之后,LCD控制器就自动从显存中读取像素数据,在将数据传输给LCD驱动器。显示的过程不再需要CPU的参与,可以极大的提高显示图像的效率。

(3)接着进行BMP图像数据读取。通过调用函数直接读取彩色24位BMP图片。

(4)接着进行图像数据RGB565转换。由于LCD显示屏仅支持16位,所以需要将图像数据转换成16位的RGB565格式,再输出到LCD屏幕上显示

(5)最后,把要显示的图像数据放到显存中。显示体系建立起来以后,CPU就不用再管LCD控制器、驱动器、以及LCD液晶了,之后CPU就只关心显存,只需把要显示的图像的像素数据放到显存中,硬件就会自动响应,屏幕上就能自动看到显示的图像了。

image.png

5、程序流程

程序流程设计中首先要进行外设使能配置,接着进行LCD管脚复用配置和LCD中断配置,然后进行LCD显示的初始化。最后读取BMP图片,对图像数据进行RGB565转换后放到显存中并在LCD上显示图像。

image.png

6、源码

管脚复用源码

LCD复用配置操作直接封装成了函数,使用时,直接包含“TL6748.h”文件 即可。

StarterWare API 接口:LCDPinMuxSetup();

image.png

LCD中断使用流程

(1)初始化DSP中断控制器。
(2)使能DSP全局中断。
(3)注册中断服务函数。注册中断服务函数是重点,这个函数决定了中断之后要做什么。

(4)映射中断事件。
(5)初始化触摸屏中断。
(6)使能不可屏蔽中断10。
(7)使能DSP的可屏蔽中断。

image.png

image.png

时序配置源码

LCD初始化的相关函数源码和函数使用说明可以查看raster.c。以水平时序配置函数为例,第一个参数是LCD模块的内存地址,

第二个参数是确定每行所需像素数的值,

第三个参数设置水平同步时钟的值,

第四个参数设置前阶,

第五个参数设置后阶。

54个字节图像头文件说明

图像头文件分为位图文件头和位图信息头。

第0~13位是位图文件头。包含位图标志、文件大小、保留字和文件起始位置标志。

第14~53位是位图信息头,包含位图信息头的长度、位图宽度、位图高度、压缩类型等信息。

image.png

7、程序流程

在程序中首先配置外设使能,在PSC初始化中使能LCD模块。

然后配置LCD引脚复用。

进行DSP中断初始化,初始化 DSP 中断控制器并使能 DSP 全局中断。

进行LCD中断初始化。

进行LCD初始化,配置LCD时钟、控制器和模式等。

配置LCD的基本框架和背景显示。

读取BMP图片数据。

最后将图像数据进行RGB565转换放到显存中并在LCD上显示图像。

以上便是程序实现的整体流程。

三、操作现象

1、硬件连接

image.png

2、软件操作

导入工程,选择Demo文件夹下的对应工程
编译工程
将CCS连接开发板并加载程序
点击运行程序,在CCS的窗口会打印图片处理的相关信息
在LCD屏幕上会显示图片。
实验结束后,先点击黄色按钮暂停程序运行,再点击红色按钮退出CCS与实验板的连接,最后实验箱断电即可。

image.png

更多回帖

发帖
×
20
完善资料,
赚取积分