新聞中心

LCD1602液晶顯示完全資料

作者: 時(shí)間:2012-10-31 來(lái)源:網(wǎng)絡(luò) 收藏

下面給出一段字符串移動(dòng)顯示的例子:

void display_lcd_byte(uchar y,uchar x,uchar z)

{

if(y)

{

x+=0x40;

}

x+=0x80;

write(x,0);

write(z,1);

}

void display_lcd_text(uchar y,uchar x,uchar table[])

{

uchar z=0;

uchar t;

t=strlen(table)+x;

while(xt)

{

display_lcd_byte(y,x,table[z]);

x++;

z++;

}

display_lcd_byte(y,x,' ');

}

//前兩個(gè)子程序是顯示子程序

void main()

{

uchar i;

();

init();

for(i=16;i>=0;i--) //這里的循環(huán)就是為了字符串從后往前顯示

{

display_lcd_text(0,i,table0); //i減一次,首個(gè)字符就往前去一位

delay(200);

}

while(1);

}

二、顯示自定義字符:

要想顯示自定義字符,首先就得取得想要的圖形或者字符的字模數(shù)組,可以通過(guò)手動(dòng)提取的方法,取得相應(yīng)的字模。

如下圖所示,對(duì)應(yīng)一個(gè)字符顯示區(qū)域。每8個(gè)字節(jié),組成一個(gè)點(diǎn)陣數(shù)組。

點(diǎn)擊瀏覽下一頁(yè)


要想讓某一格子顯示就讓那一位為1,每行自定義5位,全白為0x00;全黑為0x1f。一共8行,每行一位數(shù)據(jù)。

將生成的點(diǎn)陣數(shù)組保存到CGRAM存儲(chǔ)器中,生成自定義字符。1602內(nèi)部CGRAM用于自定義的字符點(diǎn)陣的存儲(chǔ),總共64字節(jié)。由上一步點(diǎn)陣提取可知,每一個(gè)字符由8個(gè)字節(jié)數(shù)據(jù)組成。所以64字節(jié)CGRAM存儲(chǔ)器,能夠存儲(chǔ)8組自定義字符的點(diǎn)陣數(shù)組。按照CGRAM地址劃分為 0~7為第一組,8~15為第二組,依次類推56~63為第8組數(shù)據(jù)。

CHARACTER CODE是數(shù)據(jù)的顯示地址,0-7的范圍,能存儲(chǔ)8位自定義的字符。(能存八個(gè)自定義,每個(gè)字符存放的)

CGRAM ADDRESS是存儲(chǔ)數(shù)據(jù)的地址,從0-63共64個(gè)字節(jié).存儲(chǔ)64個(gè)數(shù)據(jù)。我們寫入的數(shù)據(jù)是0x40~0x7F,共128位。(把字符數(shù)組內(nèi)的8個(gè)數(shù)送進(jìn)這8個(gè)地址,每存完一個(gè)字符的8位,下次地址直接轉(zhuǎn)到0x48)

CGRAM DATA 字模每一行5位數(shù)據(jù)存

內(nèi)部常用字符顯示時(shí),顯示編碼是從0x20開始的。0x00~0x0F是專門留給自定義字符顯示的。0x00~0x07和0x08~0x0F內(nèi)容是一樣的。例如:調(diào)用0x01 位置和0x09位置,顯示的內(nèi)容是一樣的。

自定義顯示字符的方式共四步,如下面所示:

1.設(shè)置向CGRAM中存入這個(gè)數(shù)據(jù).初始地址是0x40。然后存一位向后加8,

總共能存8位自定義的字符。

2.然后可以把自定義的數(shù)據(jù)送入到LCD的CGRAM中。

3.向LCD寫指令,送入需要顯示數(shù)據(jù)的地址。

4.向LCD寫指令,把顯示的數(shù)據(jù)指向LCD的CGRAM存儲(chǔ)的位置,顯示出自定義字符。

舉例如下:

1.建立一個(gè)字符數(shù)組;

uchar LCD_Data1[]={0x01,0x03,0x1D,0x11,0x1D,0x03,0x01,0x00};

2.設(shè)置CGRAM地址,寫指令;

Write_LCD(0x40,0);

3.把數(shù)據(jù)送入CGRAM地址內(nèi);

for(i = 0; i 8 ; i ++ )

{

Write_LCD(LCD_Data1[i],1);

}

4.寫需要顯示的位置指令;

Write_LCD(0x80,0);

5.把CGRAM的0位的數(shù)據(jù)送向,顯示數(shù)據(jù)存儲(chǔ)的數(shù)據(jù);

Write_LCD(0x00,1);


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: LCD1602 液晶顯示 寄存器

評(píng)論


相關(guān)推薦

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

關(guān)閉