點(diǎn)陣LCD驅(qū)動(dòng)顯控原理與實(shí)踐
定 價(jià):28 元
- 作者:張新強(qiáng) 著
- 出版時(shí)間:2010/3/1
- ISBN:9787512400214
- 出 版 社:北京航空航天大學(xué)出版社
- 中圖法分類:TN873
- 頁碼:234
- 紙張:膠版紙
- 版次:1
- 開本:16開
《點(diǎn)陣LCD驅(qū)動(dòng)顯控原理與實(shí)踐》主要從單片機(jī)編程方面介紹點(diǎn)陣LCD顯示模塊的驅(qū)動(dòng)顯控原理,總結(jié)出一套通用于各種單片機(jī)平臺并適用于各種點(diǎn)陣LCD模塊的驅(qū)動(dòng)程序。在此基礎(chǔ)上,重點(diǎn)講解了將該驅(qū)動(dòng)程序移植至不同單片機(jī)平臺的方法,以及幾種針對具體的LCD模塊特性調(diào)整驅(qū)動(dòng)程序的方法。
以MCS-51單片機(jī)為基礎(chǔ),以ST公司推出的STM32系列32位微控制器作為介紹應(yīng)用的平臺,以KeilμVision集成開發(fā)環(huán)境作為程序設(shè)計(jì)和調(diào)試的環(huán)境。所有程序都使用C語言編寫,所以,書中例程及編程方法亦適用于其他單片機(jī)平臺。
《點(diǎn)陣LCD驅(qū)動(dòng)顯控原理與實(shí)踐》適合普通高校計(jì)算機(jī)類、電子類、電氣自動(dòng)化等專業(yè)學(xué)生作為參考用書。同樣,也適用于電子愛好者以及從事嵌入式應(yīng)用設(shè)計(jì)的工程師作為實(shí)踐工作的參考。
《點(diǎn)陣LCD驅(qū)動(dòng)顯控原理與實(shí)踐》特色 典型單色點(diǎn)陣LCD模塊 點(diǎn)陣LCD的驅(qū)動(dòng)與顯控 將通用LCD驅(qū)動(dòng)程序移植到STM32 將通用LCD驅(qū)動(dòng)程序移植到其他LCD模塊 基于通用LCD驅(qū)動(dòng)程序的特殊應(yīng)用 彩色TFT模塊驅(qū)動(dòng)顯控 TFT模塊的擴(kuò)展功能驅(qū)動(dòng)程序 RGB565格式圖像取模顯示 BMP文件解碼顯示 JPG文件解碼顯示 基于SD卡文件系統(tǒng)的簡易圖像瀏覽器方案 出版前的情況 《點(diǎn)陣LCD驅(qū)動(dòng)顯控原理與實(shí)踐》部分內(nèi)容在出版之前曾以《點(diǎn)陣LCD的驅(qū)動(dòng)顯控原理》為名,上傳到一些單片機(jī)學(xué)習(xí)網(wǎng)站、論壇供網(wǎng)友下載參閱,在近3年的時(shí)間里得到了廣大網(wǎng)友的認(rèn)同和支持。許多網(wǎng)友通過郵件、論壇跟貼等形式與作者聯(lián)系,除了帶來對書本內(nèi)容的褒獎(jiǎng),同時(shí)也提出了許多的問題。所以,《點(diǎn)陣LCD驅(qū)動(dòng)顯控原理與實(shí)踐》在后來的修訂中,增加了許多網(wǎng)友感興趣的內(nèi)容,并對一些問題做出更詳細(xì)的講解。
本書主要介紹一種通用點(diǎn)陣LCD顯示模塊的驅(qū)動(dòng)編程方法(在本書中被稱為通用LCD驅(qū)動(dòng)程序),該驅(qū)動(dòng)程序可以方便地移植到不同的單片機(jī)上使用,也可以經(jīng)過簡單的修改應(yīng)用到不同的LCD模塊應(yīng)用中。本書以一款較典型規(guī)格的COG單色點(diǎn)陣LCD模塊為例,詳細(xì)介紹LCD模塊的驅(qū)動(dòng)方法、構(gòu)建通用LCD驅(qū)動(dòng)程序的思路,以及基于該通用LCD驅(qū)動(dòng)程序的簡單菜單應(yīng)用程序、移植驅(qū)動(dòng)程序的方法。本書從最底層LCD模塊的接口驅(qū)動(dòng)編程到稍上層的字符顯示、繪圖顯示編程來介紹通用LCD驅(qū)動(dòng)程序的編程思想;此外,在介紹了幾種不改變通用LCD驅(qū)動(dòng)程序架構(gòu)的基礎(chǔ)上,利用LCD模塊及單片機(jī)本身的特性來提高驅(qū)動(dòng)程序效率的方法;結(jié)合彩色TFT顯示模塊,介紹幾種彩色圖像的顯示方法以及簡單的綜合應(yīng)用方案供讀者參考。筆者將本書的內(nèi)容以及程序呈現(xiàn)給讀者,但不希望讀者以完全照搬的方式來使用書中介紹的程序,而是希望帶給讀者一種驅(qū)動(dòng)控制的編程方法。
書中的部分內(nèi)容已于2007年在網(wǎng)絡(luò)上推出第一版,很多閱讀過的朋友都反映不錯(cuò),給予了筆者一定的肯定,此為筆者最感欣慰之事。而隨著時(shí)間的推移,筆者又在多種單片機(jī)平臺以及多種產(chǎn)品設(shè)計(jì)當(dāng)中使用了本書介紹的通用LCD驅(qū)動(dòng)程序;而對于不同種類的LCD模塊,筆者也將通用LCD驅(qū)動(dòng)程序套用于其中,實(shí)踐證明了它的可移植性和通用性。不過,隨著單片機(jī)平臺以及LCD模塊的變化,在很多應(yīng)用中,或多或少都對原版的通用LCD驅(qū)動(dòng)程序進(jìn)行了改進(jìn),以便于充分發(fā)揮單片機(jī)及LCD模塊的性能,這點(diǎn)在本書中將會(huì)有一章的內(nèi)容來介紹。
本書在介紹基于單色點(diǎn)陣LCD模塊的通用LCD驅(qū)動(dòng)程序時(shí),以MCS-51單片機(jī)為介紹的重點(diǎn),以便于眾多具備51單片機(jī)編程基礎(chǔ)的讀者能夠更快地理解;而對于近兩年風(fēng)靡MCU市場的ST公司的STM32系列32位ARM芯片,本書也針對它編寫了大量的例程,并且在第4章中詳細(xì)介紹如何將本書介紹的LCD驅(qū)動(dòng)程序移植到該系列MCU之上。
本書更適合什么樣的LCD模塊?
本書主要針對單色的點(diǎn)陣LCD進(jìn)行介紹,而且是針對本身就集成了驅(qū)動(dòng)控制IC以及顯存的I.CD模塊。那些字符型以及段碼型的LCD不在介紹之列,但也可以在一定程序上參考本書的驅(qū)動(dòng)編程方法來編寫這些LCD的驅(qū)動(dòng)程序。此外,有些小規(guī)模的(一般是3.5寸以下)彩色TFT LCD也有內(nèi)置驅(qū)動(dòng)控制器以及顯存,也可參考這里的介紹來編寫它們的驅(qū)動(dòng)程序。
張新強(qiáng),2004年畢業(yè)于哈爾濱工程大學(xué)。曾于凌陽科技致力于大學(xué)計(jì)劃技術(shù)推廣。亦從事過醫(yī)療、電力電子、伺服控制系統(tǒng)等方面的產(chǎn)品研發(fā),直到與朋友聯(lián)手創(chuàng)業(yè)。主要在嵌入式控制、電機(jī)伺服控制以及復(fù)雜人機(jī)界面的方面有一定的積累以及個(gè)人的理解。
第1章 典型單色點(diǎn)陣LCD模塊
1.1 MzL02LCD模塊簡介
1.1.1 LCD模塊的結(jié)構(gòu)
1.1.2 MzL02結(jié)構(gòu)尺寸
1.2 LCD模塊總線選擇及時(shí)序圖
1.2.1 6800并行總線接口
1.2.2 8080并行總線接口
1.2.3 SPI串行接口
1.3 顯存映射情況
1.3.1 顯存與LCD屏上點(diǎn)的關(guān)系
1.3.2 行、列地址
1.4 LCD的6800總線接口
1.5 LCD控制器的特性
1.6 LCD驅(qū)動(dòng)的基本流程
1.6.1 LCD模塊的連接
1.6.2 控制LCD模塊顯示一個(gè)點(diǎn)
第2章 點(diǎn)陣LCD的驅(qū)動(dòng)與顯控
2.1 驅(qū)動(dòng)程序架構(gòu)思想
2.2 基本驅(qū)動(dòng)程序LCD_Driver_User
2.2.1 端口配置頭文件LCD Portconfig
2.2.2 MCU與LCD的基本時(shí)序控制程序
2.3 LCD的初始化
2.4 繪點(diǎn)子程序
2.4.1 基本繪點(diǎn)函數(shù)
2.4.2 一些擴(kuò)展的基礎(chǔ)功能函數(shù)
2.5 驅(qū)動(dòng)配置頭文件LCD_Config
2.6 LCD驅(qū)動(dòng)功能接口程序
2.6.1 基本繪圖功能函數(shù)
2.6.2 字符顯示功能函數(shù)
2.7 字符顯示原理
2.7.1 字符與字模
2.7.2 字模與字庫
2.7.3 用繪點(diǎn)來繪制字符
2.7.4 顯示驅(qū)動(dòng)中自定義的中文字符
第3章 Mz_MenuGuI菜單應(yīng)用
3.1 Mz_MenuGUI簡介
3.2 Mz_MenuGUI的源碼分析
3.2.1 Menu_Resource.c菜單資源定義
3.2.2 Menu_GUI_Config.h菜單GUI配置頭文件
3.2.3 Menu_GUI_C菜單接口函數(shù)
3.3 個(gè)性化Menu菜單界面
3.3.1 供參考的GUI響應(yīng)控制代碼
3.3.2 訂制一個(gè)有二級菜單的工程
第4章 將通用LCD驅(qū)動(dòng)程序移植到STM32
4.1 修改驅(qū)動(dòng)中的底層代碼
4.1.1 修改LCD_PortConfig.h的端口配置
4.1.2 修改底層驅(qū)動(dòng)功能函數(shù)
4.2 與編譯器相關(guān)的修改
4.3 例程軟件結(jié)構(gòu)說明
4.3.1 工程結(jié)構(gòu)簡介
4.3.2 工程中各文件簡介
第5章 將通用LCD驅(qū)動(dòng)程序移植到其他LCD模塊
5.1 LCD控制器為KS0108B的模塊
5.1.1 MzL613模塊簡介
5.1.2 KS0108B驅(qū)動(dòng)控制方法
5.1.3 將LCD驅(qū)動(dòng)程序移植到KS0108B控制器的LCD模塊
5.2 LCD控制器為T6963C的模塊
5.2.1 MzL728模塊簡介
5.2.2 T6963C控制器的控制方法
5.2.3 控制器指令介紹
5.2.4 將LCD驅(qū)動(dòng)程序移植到T6963C控制器的LCD模塊
第6章 基于通用LCD驅(qū)動(dòng)程序的特殊應(yīng)用
6.1 利用MCU內(nèi)存來優(yōu)化LCD的操作速度
6.1.1 優(yōu)化驅(qū)動(dòng)效率的前提條件
6.1.2 修改驅(qū)動(dòng)程序的思路和方法
6.2 利用MCU的DMA及SPI驅(qū)動(dòng)COG液晶模塊
6.2.1 適用條件
6.2.2 STM32的內(nèi)部RAM作為LCD顯存
6.2.3 修改驅(qū)動(dòng)程序的思路和方法
第7章 彩色TFT模塊驅(qū)動(dòng)顯控
7.1 將LCD驅(qū)動(dòng)程序移植到彩色TFT模塊應(yīng)用中
7.2 彩色TFT液晶顯示模塊介紹
7.2.1 MzT24彩色TFT模塊簡介
7.2.2 顯示RAM區(qū)映射情況
7.2.3 Mzrr24操作時(shí)序
7.2.4 控制方法及LCD顯示特性
7.3 STM32驅(qū)動(dòng)控制MzT24
7.3.1 STM32F103RCT6與MzT24模塊的連接
7.3.2 修改LCD_Driver_User.c文件
7.3.3 修改LCD_Config.h的配置
7.3.4 一些簡單的速度優(yōu)化
第8章 TFT模塊的擴(kuò)展功能驅(qū)動(dòng)程序
8.1 驅(qū)動(dòng)功能擴(kuò)展程序LCD_Extend
8.1.1 一些有用的功能擴(kuò)展
8.1.2 功能代碼分析
8.2 窗口操作功能擴(kuò)展程序Dis_Window
8.2.1 窗口功能擴(kuò)展程序的必要性
8.2.2 功能代碼分析
8.2.3 Dis_Window的作用
第9章 RGB565格式圖像取模顯示
9.1 RGB565格式圖像取模顯示簡介
9.2 圖像取模
9.2.1 工具簡介
9.2.2 彩色圖像RGB565取模的步驟
9.3 代碼分析
9.4 顯示效果參考
第10章 BMP文件解碼顯示
10.1 BMP文件解碼顯示簡介
10.2 BMP文件格式
10.2.1 BMP文件構(gòu)成分析
10.2.2 位圖文件頭結(jié)構(gòu)
10.2.3 位圖信息頭結(jié)構(gòu)
10.2.4 色表結(jié)構(gòu)分析
10.2.5 圖像數(shù)據(jù)分析
10.3 將BMP文件數(shù)據(jù)整合進(jìn)Keil的工程
10.4 BMP文件解碼顯示程序分析
10.5 應(yīng)用參考
第11章 JPG文件解碼顯示
11.1 JPG解碼算法庫
11.1.1 JPG解碼庫簡介
11.1.2 JPG解碼庫的特點(diǎn)
11.1.3 JPG解碼顯示的軟件架構(gòu)
11.2 將JPG文件數(shù)據(jù)整合進(jìn)Keil的工程
11.3.IPG文件的解碼顯示程序分析
11.4 應(yīng)用參考
第12章 基于SD卡文件系統(tǒng)的簡易圖像瀏覽器方案
12.1 方案簡介
12.1.1 方案硬件平臺
12.1.2 方案軟件結(jié)構(gòu)
12.2 基于EFSL的SD卡FAT文件系統(tǒng)簡介
12.2.1 SD卡驅(qū)動(dòng)程序
12.2.2 EFSL應(yīng)用函數(shù)接口
12.3 修改圖像解碼顯示程序代碼
12.3.1 修改BMP文件解碼顯示程序
12.3.2 修改JPG文件解碼顯示程序
12.4 整體功能程序簡介
參考文獻(xiàn)
第1章 典型單色點(diǎn)陣LCD模塊
1.1 MzL02LCD模塊簡介
當(dāng)前市面上的LCD模塊種類非常多。各個(gè)廠家生產(chǎn)的編號都有所不同,即使使用同樣的玻璃、同樣的驅(qū)動(dòng)控制IC(芯片)都有可能存在不同的產(chǎn)品編號;但真正意義上對于應(yīng)用設(shè)計(jì)者(軟/硬件工程師)來說有用的,只是LCD模塊當(dāng)中的驅(qū)動(dòng)控制IC(或稱為驅(qū)動(dòng)控制器)型號以及驅(qū)動(dòng)控制器芯片與玻璃的連接方法(也就是生產(chǎn)LCD模塊時(shí)驅(qū)動(dòng)控制器與玻璃引腳的連接,以及一些驅(qū)動(dòng)控制器封裝好的特性等)。無論如何,各種不同的LCD模塊仍然可以總結(jié)出一些應(yīng)用上的共性,這里以MzL02-12864 LCD模塊為對象進(jìn)行介紹,并不代表本書僅適用于該LCD模塊,其他廠家生產(chǎn)的不同型號LCD模塊也可以套用本書的介紹去理解、掌握LCD驅(qū)動(dòng)程序的編程方法。
1.1.1 LCD模塊的結(jié)構(gòu)
通常見到的LCD模塊分為幾部分:LCM(玻璃)、背光、PCB板;而背光和PCB板部分其實(shí)是可有可無的,視具體的LCD模塊而定。點(diǎn)陣的LCD模塊按照驅(qū)動(dòng)控制器的集成方式,可分為兩種:COB和COG,COG是將驅(qū)動(dòng)控制器芯片集成到玻璃上,而模塊背后的PCB板上只是一些驅(qū)動(dòng)控制器芯片無法集成的電容電阻而已;COB的LCD模塊是將驅(qū)動(dòng)控制器焊接在LCD模塊后面的PCB板上。
MzL02-12864(后面簡稱.MzL02模塊)為一塊128×64點(diǎn)陣的單色LCD顯示模塊,模塊上的LCM采用COG技術(shù)將控制(包括顯存)、驅(qū)動(dòng)器集成在LCM的玻璃上,接口簡單、操作方便;為方便用戶的使用,在LCM的基礎(chǔ)上設(shè)計(jì)了MzL02模塊,將模塊所必需的外圍電容電阻集成到模塊上,并引出多種形式的引線接口以方便用戶使用。