新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Cortex-M3學(xué)習(xí)日志(八)-- TFT實驗Part(a)

Cortex-M3學(xué)習(xí)日志(八)-- TFT實驗Part(a)

作者: 時間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
自己用的LPC1768的開板帶有一塊2.4寸的TFT彩色液晶屏,雖然自己工作中還用不過顯示屏,但是晚上閑著也是閑著,于是繼續(xù)玩咱的LPC1768吧。

我的開發(fā)板上的液晶屏的用的是SPI接口,當(dāng)然你也可以把它設(shè)計成并行口,其接口電路如下所示:

本文引用地址:http://www.butianyuan.cn/article/201611/319432.htm

話說這個液晶屏的驅(qū)動芯片是ILI9325,在網(wǎng)上下載了該芯片的數(shù)據(jù)手冊,好家伙有111頁,全是E文呀,沒辦法,誰讓咱是小電工呢,就慢慢啃吧。ILI9325這個芯片的寄存器比較多,不過沒關(guān)系,我們暫時用到的不是太多,這里只要簡要的總結(jié),剩下的還是日后用到了再好好研究吧。

1、寄存器03H(Entry Mode),該寄存器主要設(shè)置圖像的顯示模式,包括屏幕的掃描方式(水平掃描或垂直掃描),這直接影響到img2lcd軟件(這是個取模軟件)的掃描方式控制項。

2、寄存器04H(Resizing Control Register)重新調(diào)整大小 寄存器,通過配置該寄存器,可以調(diào)整所顯示圖片的大小。

3、寄存器07H(Display Control 1),配置該寄存器可打開或關(guān)閉圖形。

4、水平和垂直位置的RAM地址(R50h,R51h,R52h,R53h)

看手冊上寄存器不少,不過控制方式不一樣,所用到的寄存器不一樣,這里不再列舉寄存器,想做驅(qū)動,一定要看芯片的手冊,而且一定要仔細的研究它的手冊。話說寫液晶驅(qū)動不顯示圖片什么的貌似對不起LCD,當(dāng)然這次懶貓這次寫的驅(qū)動也有圖片顯示,想圖片顯示當(dāng)然少不了取模軟件,懶貓這次用的取模軟件是img2lcd,這個軟件功能不錯,用起來也比較簡單,如果不會用可以查看一下它自帶的幫助文件。

注意:LCD的配置方式不同,所設(shè)置的掃描方式也不同。

好了,貼上咱寫的這個驅(qū)動;

void GLCD_clear (unsigned short color)

{

unsigned int i;

wr_reg(0x20, 0); // 1st line GRAM Data(AD0-AD7)

wr_reg(0x21, 0); // 1st line GRAM Data(AD8-AD16)

wr_cmd(0x22);

for(i = 0; i < (WIDTH*HEIGHT); i++){

wr_dat(color); // Set color of background

}

}

void GLCD_bitmap (unsigned int x, unsigned int y, unsigned int w, unsigned int h, unsigned char *bitmap)

{

unsigned int i;

unsigned int len = w*h;

unsigned short *bitmap_ptr = (unsigned short *)bitmap;

wr_reg(0x50, y);

wr_reg(0x51, y+h-1);

wr_reg(0x52, x);

wr_reg(0x53, x+w-1);

wr_reg(0x20, y);

wr_reg(0x21, x);

wr_cmd(0x22);

for (i = 0; i < len; i++) {

wr_dat(*bitmap_ptr++);

}

}

由于原代碼比較多,這里只貼上部分函數(shù),具體的代碼,請參考附件,這里上傳幾張效果圖,懶貓已把液晶屏顯示字符,顯示漢字,畫圓,畫線等的程序?qū)懞昧?,改天整理一下也發(fā)上來,下一步弄一下SD卡,USB方面的東東,今天先寫這么多吧。



關(guān)鍵詞: Cortex-M3TFT實

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉