一、實(shí)驗(yàn)?zāi)康?/h1>
學(xué)習(xí)BMP圖像數(shù)據(jù)的存儲(chǔ)格式,并實(shí)現(xiàn)LCD圖像數(shù)據(jù)的讀取與顯示。
二、實(shí)驗(yàn)原理
1、LCD控制器
要實(shí)現(xiàn)一塊LCD正常的顯示文字、圖像和觸摸,不僅需要LCD驅(qū)動(dòng)器,而且還需要相應(yīng)的LCD控制器,控制器一般有兩種:顯示控制器和觸摸控制器。在通常情況下,生產(chǎn)廠商把LCD驅(qū)動(dòng)器會(huì)以COF/COG的 形式與LCD玻璃基板制作在一起,而LCD控制器則是由外部的電路來實(shí)現(xiàn),現(xiàn)在很多的MCU內(nèi)部都集成了LCD控制器,
2、LCD顯示控制器
TMS320C6748 CPU內(nèi)部就有對(duì)應(yīng)的LCD顯示控制器(光柵控制器)。LCD 控制器由兩個(gè)獨(dú)立的控制器組成,即光柵控制器和 LCD 接口顯示驅(qū)動(dòng)器 (LIDD) 控制器。每個(gè)控制器獨(dú)立于另一個(gè)控制器運(yùn)行,并且在任何給定時(shí)間只有一個(gè)控制器處于活動(dòng)狀態(tài)。
3、LCD顯示原理
液晶分子在電場(chǎng)作用下->會(huì)發(fā)生排列上的變化-> 影響通過其的光線變化->通過偏光片的作用可以表現(xiàn)為明暗的變化->控制了光線的明暗變化->顯示圖像(黑白)
4、LCD顯示流程
(1)首先,設(shè)置內(nèi)部的LCD控制器。
(2)接著,建立映射關(guān)系。通過配置將LCD控制器和顯存連接起來,構(gòu)成一個(gè)映射關(guān)系。一旦這個(gè)關(guān)系建立之后,LCD控制器就自動(dòng)從顯存中讀取像素?cái)?shù)據(jù),在將數(shù)據(jù)傳輸給LCD驅(qū)動(dòng)器。顯示的過程不再需要CPU的參與,可以極大的提高顯示圖像的效率。
(3)接著進(jìn)行BMP圖像數(shù)據(jù)讀取。通過調(diào)用函數(shù)直接讀取彩色24位BMP圖片。
(4)接著進(jìn)行圖像數(shù)據(jù)RGB565轉(zhuǎn)換。由于LCD顯示屏僅支持16位,所以需要將圖像數(shù)據(jù)轉(zhuǎn)換成16位的RGB565格式,再輸出到LCD屏幕上顯示
(5)最后,把要顯示的圖像數(shù)據(jù)放到顯存中。顯示體系建立起來以后,CPU就不用再管LCD控制器、驅(qū)動(dòng)器、以及LCD液晶了,之后CPU就只關(guān)心顯存,只需把要顯示的圖像的像素?cái)?shù)據(jù)放到顯存中,硬件就會(huì)自動(dòng)響應(yīng),屏幕上就能自動(dòng)看到顯示的圖像了。
5、程序流程
程序流程設(shè)計(jì)中首先要進(jìn)行外設(shè)使能配置,接著進(jìn)行LCD管腳復(fù)用配置和LCD中斷配置,然后進(jìn)行LCD顯示的初始化。最后讀取BMP圖片,對(duì)圖像數(shù)據(jù)進(jìn)行RGB565轉(zhuǎn)換后放到顯存中并在LCD上顯示圖像。
6、源碼
管腳復(fù)用源碼
LCD復(fù)用配置操作直接封裝成了函數(shù),使用時(shí),直接包含“TL6748.h”文件 即可。
StarterWare API 接口:LCDPinMuxSetup();
LCD中斷使用流程
(1)初始化DSP中斷控制器。
(2)使能DSP全局中斷。
(3)注冊(cè)中斷服務(wù)函數(shù)。注冊(cè)中斷服務(wù)函數(shù)是重點(diǎn),這個(gè)函數(shù)決定了中斷之后要做什么。
(4)映射中斷事件。
(5)初始化觸摸屏中斷。
(6)使能不可屏蔽中斷10。
(7)使能DSP的可屏蔽中斷。
時(shí)序配置源碼
LCD初始化的相關(guān)函數(shù)源碼和函數(shù)使用說明可以查看raster.c。以水平時(shí)序配置函數(shù)為例,第一個(gè)參數(shù)是LCD模塊的內(nèi)存地址,
第二個(gè)參數(shù)是確定每行所需像素?cái)?shù)的值,
第三個(gè)參數(shù)設(shè)置水平同步時(shí)鐘的值,
第四個(gè)參數(shù)設(shè)置前階,
第五個(gè)參數(shù)設(shè)置后階。
54個(gè)字節(jié)圖像頭文件說明
圖像頭文件分為位圖文件頭和位圖信息頭。
第0~13位是位圖文件頭。包含位圖標(biāo)志、文件大小、保留字和文件起始位置標(biāo)志。
第14~53位是位圖信息頭,包含位圖信息頭的長(zhǎng)度、位圖寬度、位圖高度、壓縮類型等信息。
7、程序流程
在程序中首先配置外設(shè)使能,在PSC初始化中使能LCD模塊。
然后配置LCD引腳復(fù)用。
進(jìn)行DSP中斷初始化,初始化 DSP 中斷控制器并使能 DSP 全局中斷。
進(jìn)行LCD中斷初始化。
進(jìn)行LCD初始化,配置LCD時(shí)鐘、控制器和模式等。
配置LCD的基本框架和背景顯示。
讀取BMP圖片數(shù)據(jù)。
最后將圖像數(shù)據(jù)進(jìn)行RGB565轉(zhuǎn)換放到顯存中并在LCD上顯示圖像。
以上便是程序?qū)崿F(xiàn)的整體流程。
三、操作現(xiàn)象
1、硬件連接
2、軟件操作
導(dǎo)入工程,選擇Demo文件夾下的對(duì)應(yīng)工程
編譯工程
將CCS連接開發(fā)板并加載程序
點(diǎn)擊運(yùn)行程序,在CCS的窗口會(huì)打印圖片處理的相關(guān)信息
在LCD屏幕上會(huì)顯示圖片。
實(shí)驗(yàn)結(jié)束后,先點(diǎn)擊黃色按鈕暫停程序運(yùn)行,再點(diǎn)擊紅色按鈕退出CCS與實(shí)驗(yàn)板的連接,最后實(shí)驗(yàn)箱斷電即可。
-
驅(qū)動(dòng)器
+關(guān)注
關(guān)注
53文章
8288瀏覽量
147136 -
RGB
+關(guān)注
關(guān)注
4文章
801瀏覽量
58736 -
LCD控制器
+關(guān)注
關(guān)注
0文章
47瀏覽量
15544 -
LCD顯示
+關(guān)注
關(guān)注
0文章
132瀏覽量
18461 -
TMS320C6748
+關(guān)注
關(guān)注
3文章
42瀏覽量
13147
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論