跟我學(xué)51單片機(jī)(七)——LCD1602液晶顯示模塊
如圖2 所示,1602 液晶的控制管腳都接到了單片機(jī)管腳上,前文提到,在功能設(shè)置指令中可以將液晶設(shè)為8 位數(shù)據(jù)接口和4 位數(shù)據(jù)接口,圖中采用的是8位的數(shù)據(jù)接口,當(dāng)然也可以當(dāng)四位數(shù)據(jù)接口來用。液晶電源正端接5V,負(fù)端接地,背光正端接5V,負(fù)端接地。此外,液晶的偏壓管腳(VO)接到一個(gè)電位器的中間抽頭,電位器的兩端分別接5V 和地,這樣就可通過調(diào)節(jié)電位器來實(shí)現(xiàn)對(duì)1602 液晶對(duì)比度的調(diào)節(jié)。經(jīng)實(shí)驗(yàn)測(cè)試,筆者手里的1602 液晶的偏壓管腳的電壓調(diào)節(jié)到0.3~0.4V 時(shí)對(duì)比度效果最好,也可以將該管腳通過一個(gè)1k 的電阻下拉到地。讀者可以自己實(shí)踐測(cè)試。
圖2 1602液晶與單片機(jī)的連接圖
三、程序設(shè)計(jì)
在對(duì)1602 液晶設(shè)計(jì)程序前,我們先看下其讀寫時(shí)序圖,從圖3 和圖4 可以看出,1602 液晶的讀寫操作時(shí)序可總結(jié)成表4 所示。
圖3 1602液晶讀操作的時(shí)序圖
圖4 1602液晶寫操作的時(shí)序圖
對(duì)照時(shí)序,我們可以很容易的寫出驅(qū)動(dòng)液晶的各個(gè)子函數(shù),如下所示。
寫命令函數(shù):向寄存器寫入控制字
參數(shù):command - 控制字
void LCD_en_command(unsigned char command)
{
LCD_delay(); // 延時(shí)一段時(shí)間
LCD1602_RW=LOW; // 寫命令時(shí),R/W 為低電平
LCD1602_RS=LOW; // 寫入指令,RS 為低電平
LCD1602_EN=HIGH; // 置高使能線
LCDIO=command; // 接收命令字并送到數(shù)據(jù)總線上
LCD1602_EN=LOW; // 在使能線的下降沿寫入數(shù)據(jù)
}
寫數(shù)據(jù)函數(shù):向寄存器寫入數(shù)據(jù)
參數(shù):dat - 待要顯示數(shù)據(jù)
void LCD_en_dat(unsigned char dat)
{
LCD_delay(); // 延時(shí)一段時(shí)間
LCD1602_RW=LOW; // 寫指令時(shí),R/W 為低電平
LCD1602_RS=LOW; // 寫入數(shù)據(jù),RS 為高電平
LCD1602_EN=HIGH; // 置高使能線
LCDIO=dat; // 接收數(shù)據(jù)并送到數(shù)據(jù)總線上
LCD1602_EN=LOW; // 在使能線的下降沿寫入數(shù)據(jù)
}
紅外遙控器相關(guān)文章:紅外遙控器原理
評(píng)論