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