出版時(shí)間:2010-3 出版社:北京航空航天大學(xué)出版社 作者:張新強(qiáng) 頁(yè)數(shù):234
前言
本書(shū)主要介紹一種通用點(diǎn)陣LCD顯示模塊的驅(qū)動(dòng)編程方法(在本書(shū)中被稱為通用LCD驅(qū)動(dòng)程序),該驅(qū)動(dòng)程序可以方便地移植到不同的單片機(jī)上使用,也可以經(jīng)過(guò)簡(jiǎn)單的修改應(yīng)用到不同的LCD模塊應(yīng)用中。本書(shū)以一款較典型規(guī)格的COG單色點(diǎn)陣LCD模塊為例,詳細(xì)介紹LCD模塊的驅(qū)動(dòng)方法、構(gòu)建通用LCD驅(qū)動(dòng)程序的思路,以及基于該通用LCD驅(qū)動(dòng)程序的簡(jiǎn)單菜單應(yīng)用程序、移植驅(qū)動(dòng)程序的方法。本書(shū)從最底層LCD模塊的接口驅(qū)動(dòng)編程到稍上層的字符顯示、繪圖顯示編程來(lái)介紹通用LCD驅(qū)動(dòng)程序的編程思想;此外,在介紹了幾種不改變通用LCD驅(qū)動(dòng)程序架構(gòu)的基礎(chǔ)上,利用LCD模塊及單片機(jī)本身的特性來(lái)提高驅(qū)動(dòng)程序效率的方法;結(jié)合彩色TFT顯示模塊,介紹幾種彩色圖像的顯示方法以及簡(jiǎn)單的綜合應(yīng)用方案供讀者參考。筆者將本書(shū)的內(nèi)容以及程序呈現(xiàn)給讀者,但不希望讀者以完全照搬的方式來(lái)使用書(shū)中介紹的程序,而是希望帶給讀者一種驅(qū)動(dòng)控制的編程方法?! ?shū)中的部分內(nèi)容已于2007年在網(wǎng)絡(luò)上推出第一版,很多閱讀過(guò)的朋友都反映不錯(cuò),給予了筆者一定的肯定,此為筆者最感欣慰之事。而隨著時(shí)間的推移,筆者又在多種單片機(jī)平臺(tái)以及多種產(chǎn)品設(shè)計(jì)當(dāng)中使用了本書(shū)介紹的通用LCD驅(qū)動(dòng)程序;而對(duì)于不同種類的LCD模塊,筆者也將通用LCD驅(qū)動(dòng)程序套用于其中,實(shí)踐證明了它的可移植性和通用性。不過(guò),隨著單片機(jī)平臺(tái)以及LCD模塊的變化,在很多應(yīng)用中,或多或少都對(duì)原版的通用LCD驅(qū)動(dòng)程序進(jìn)行了改進(jìn),以便于充分發(fā)揮單片機(jī)及LCD模塊的性能,這點(diǎn)在本書(shū)中將會(huì)有一章的內(nèi)容來(lái)介紹?! ”緯?shū)在介紹基于單色點(diǎn)陣LCD模塊的通用LCD驅(qū)動(dòng)程序時(shí),以MCS-51單片機(jī)為介紹的重點(diǎn),以便于眾多具備51單片機(jī)編程基礎(chǔ)的讀者能夠更快地理解;而對(duì)于近兩年風(fēng)靡MCU市場(chǎng)的ST公司的STM32系列32位ARM芯片,本書(shū)也針對(duì)它編寫(xiě)了大量的例程,并且在第4章中詳細(xì)介紹如何將本書(shū)介紹的LCD驅(qū)動(dòng)程序移植到該系列MCU之上?! ”緯?shū)更適合什么樣的LCD模塊? 本書(shū)主要針對(duì)單色的點(diǎn)陣LCD進(jìn)行介紹,而且是針對(duì)本身就集成了驅(qū)動(dòng)控制IC以及顯存的I.CD模塊。那些字符型以及段碼型的LCD不在介紹之列,但也可以在一定程序上參考本書(shū)的驅(qū)動(dòng)編程方法來(lái)編寫(xiě)這些LCD的驅(qū)動(dòng)程序。此外,有些小規(guī)模的(一般是3.5寸以下)彩色TFT LCD也有內(nèi)置驅(qū)動(dòng)控制器以及顯存,也可參考這里的介紹來(lái)編寫(xiě)它們的驅(qū)動(dòng)程序。
內(nèi)容概要
《點(diǎn)陣LCD驅(qū)動(dòng)顯控原理與實(shí)踐》主要從單片機(jī)編程方面介紹點(diǎn)陣LCD顯示模塊的驅(qū)動(dòng)顯控原理,總結(jié)出一套通用于各種單片機(jī)平臺(tái)并適用于各種點(diǎn)陣LCD模塊的驅(qū)動(dòng)程序。在此基礎(chǔ)上,重點(diǎn)講解了將該驅(qū)動(dòng)程序移植至不同單片機(jī)平臺(tái)的方法,以及幾種針對(duì)具體的LCD模塊特性調(diào)整驅(qū)動(dòng)程序的方法?! ∫訫CS-51單片機(jī)為基礎(chǔ),以ST公司推出的STM32系列32位微控制器作為介紹應(yīng)用的平臺(tái),以KeilμVision集成開(kāi)發(fā)環(huán)境作為程序設(shè)計(jì)和調(diào)試的環(huán)境。所有程序都使用C語(yǔ)言編寫(xiě),所以,書(shū)中例程及編程方法亦適用于其他單片機(jī)平臺(tái)?! 饵c(diǎn)陣LCD驅(qū)動(dòng)顯控原理與實(shí)踐》適合普通高校計(jì)算機(jī)類、電子類、電氣自動(dòng)化等專業(yè)學(xué)生作為參考用書(shū)。同樣,也適用于電子愛(ài)好者以及從事嵌入式應(yīng)用設(shè)計(jì)的工程師作為實(shí)踐工作的參考。
作者簡(jiǎn)介
張新強(qiáng),2004年畢業(yè)于哈爾濱工程大學(xué)。曾于凌陽(yáng)科技致力于大學(xué)計(jì)劃技術(shù)推廣。亦從事過(guò)醫(yī)療、電力電子、伺服控制系統(tǒng)等方面的產(chǎn)品研發(fā),直到與朋友聯(lián)手創(chuàng)業(yè)。主要在嵌入式控制、電機(jī)伺服控制以及復(fù)雜人機(jī)界面的方面有一定的積累以及個(gè)人的理解。
書(shū)籍目錄
第1章 典型單色點(diǎn)陣LCD模塊1.1 MzL02LCD模塊簡(jiǎn)介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_User2.2.1 端口配置頭文件LCD Portconfig2.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_Config2.6 LCD驅(qū)動(dòng)功能接口程序2.6.1 基本繪圖功能函數(shù)2.6.2 字符顯示功能函數(shù)2.7 字符顯示原理2.7.1 字符與字模2.7.2 字模與字庫(kù)2.7.3 用繪點(diǎn)來(lái)繪制字符2.7.4 顯示驅(qū)動(dòng)中自定義的中文字符第3章 Mz_MenuGuI菜單應(yīng)用3.1 Mz_MenuGUI簡(jiǎn)介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è)有二級(jí)菜單的工程第4章 將通用LCD驅(qū)動(dòng)程序移植到STM324.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)說(shuō)明4.3.1 工程結(jié)構(gòu)簡(jiǎn)介4.3.2 工程中各文件簡(jiǎn)介第5章 將通用LCD驅(qū)動(dòng)程序移植到其他LCD模塊5.1 LCD控制器為KS0108B的模塊5.1.1 MzL613模塊簡(jiǎn)介5.1.2 KS0108B驅(qū)動(dòng)控制方法5.1.3 將LCD驅(qū)動(dòng)程序移植到KS0108B控制器的LCD模塊5.2 LCD控制器為T6963C的模塊5.2.1 MzL728模塊簡(jiǎn)介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)存來(lá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作為L(zhǎng)CD顯存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模塊簡(jiǎn)介7.2.2 顯示RAM區(qū)映射情況7.2.3 Mzrr24操作時(shí)序7.2.4 控制方法及LCD顯示特性7.3 STM32驅(qū)動(dòng)控制MzT247.3.1 STM32F103RCT6與MzT24模塊的連接7.3.2 修改LCD_Driver_User.c文件7.3.3 修改LCD_Config.h的配置7.3.4 一些簡(jiǎn)單的速度優(yōu)化第8章 TFT模塊的擴(kuò)展功能驅(qū)動(dòng)程序8.1 驅(qū)動(dòng)功能擴(kuò)展程序LCD_Extend8.1.1 一些有用的功能擴(kuò)展8.1.2 功能代碼分析8.2 窗口操作功能擴(kuò)展程序Dis_Window8.2.1 窗口功能擴(kuò)展程序的必要性8.2.2 功能代碼分析8.2.3 Dis_Window的作用第9章 RGB565格式圖像取模顯示9.1 RGB565格式圖像取模顯示簡(jiǎn)介9.2 圖像取模9.2.1 工具簡(jiǎn)介9.2.2 彩色圖像RGB565取模的步驟9.3 代碼分析9.4 顯示效果參考第10章 BMP文件解碼顯示10.1 BMP文件解碼顯示簡(jiǎn)介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解碼算法庫(kù)11.1.1 JPG解碼庫(kù)簡(jiǎn)介11.1.2 JPG解碼庫(kù)的特點(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)的簡(jiǎn)易圖像瀏覽器方案12.1 方案簡(jiǎn)介12.1.1 方案硬件平臺(tái)12.1.2 方案軟件結(jié)構(gòu)12.2 基于EFSL的SD卡FAT文件系統(tǒng)簡(jiǎn)介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 整體功能程序簡(jiǎn)介參考文獻(xiàn)
章節(jié)摘錄
第1章 典型單色點(diǎn)陣LCD模塊 1.1 MzL02LCD模塊簡(jiǎn)介 當(dāng)前市面上的LCD模塊種類非常多。各個(gè)廠家生產(chǎn)的編號(hào)都有所不同,即使使用同樣的玻璃、同樣的驅(qū)動(dòng)控制IC(芯片)都有可能存在不同的產(chǎn)品編號(hào);但真正意義上對(duì)于應(yīng)用設(shè)計(jì)者(軟/硬件工程師)來(lái)說(shuō)有用的,只是LCD模塊當(dāng)中的驅(qū)動(dòng)控制IC(或稱為驅(qū)動(dòng)控制器)型號(hào)以及驅(qū)動(dòng)控制器芯片與玻璃的連接方法(也就是生產(chǎn)LCD模塊時(shí)驅(qū)動(dòng)控制器與玻璃引腳的連接,以及一些驅(qū)動(dòng)控制器封裝好的特性等)。無(wú)論如何,各種不同的LCD模塊仍然可以總結(jié)出一些應(yīng)用上的共性,這里以MzL02-12864 LCD模塊為對(duì)象進(jìn)行介紹,并不代表本書(shū)僅適用于該LCD模塊,其他廠家生產(chǎn)的不同型號(hào)LCD模塊也可以套用本書(shū)的介紹去理解、掌握LCD驅(qū)動(dòng)程序的編程方法?! ?.1.1 LCD模塊的結(jié)構(gòu) 通常見(jiàn)到的LCD模塊分為幾部分:LCM(玻璃)、背光、PCB板;而背光和PCB板部分其實(shí)是可有可無(wú)的,視具體的LCD模塊而定。點(diǎn)陣的LCD模塊按照驅(qū)動(dòng)控制器的集成方式,可分為兩種:COB和COG,COG是將驅(qū)動(dòng)控制器芯片集成到玻璃上,而模塊背后的PCB板上只是一些驅(qū)動(dòng)控制器芯片無(wú)法集成的電容電阻而已;COB的LCD模塊是將驅(qū)動(dòng)控制器焊接在LCD模塊后面的PCB板上。 MzL02-12864(后面簡(jiǎn)稱.MzL02模塊)為一塊128×64點(diǎn)陣的單色LCD顯示模塊,模塊上的LCM采用COG技術(shù)將控制(包括顯存)、驅(qū)動(dòng)器集成在LCM的玻璃上,接口簡(jiǎn)單、操作方便;為方便用戶的使用,在LCM的基礎(chǔ)上設(shè)計(jì)了MzL02模塊,將模塊所必需的外圍電容電阻集成到模塊上,并引出多種形式的引線接口以方便用戶使用。
編輯推薦
《點(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)的簡(jiǎn)易圖像瀏覽器方案 出版前的情況 《點(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)友通過(guò)郵件、論壇跟貼等形式與作者聯(lián)系,除了帶來(lái)對(duì)書(shū)本內(nèi)容的褒獎(jiǎng),同時(shí)也提出了許多的問(wèn)題。所以,《點(diǎn)陣LCD驅(qū)動(dòng)顯控原理與實(shí)踐》在后來(lái)的修訂中,增加了許多網(wǎng)友感興趣的內(nèi)容,并對(duì)一些問(wèn)題做出更詳細(xì)的講解。
圖書(shū)封面
評(píng)論、評(píng)分、閱讀與下載
點(diǎn)陣LCD驅(qū)動(dòng)顯控原理與實(shí)踐 PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版