藍橋杯 微控制器學習(8) 1602液晶

2021-10-09 00:06:33 字數 3580 閱讀 4782

3、1602液晶的指令介紹

4、簡單例項

1602液晶也叫1602字元型液晶,它是一種專門用來顯示字母、數字、符號的點陣型液晶模組。主要技術引數如下:

由若干個5x7或者5x10的點陣字元位組成,每個點陣字元位都可以用顯示乙個字元,每位之間有乙個點距的間隔,每行之間也有間隔,起到了字元間距和行間距的作用,正因如此,它不能很好的顯示。外形如下圖:

1602液晶引腳圖功能如下:

1602液晶內部帶了80個位元組的顯示ram,用來儲存傳送的資料,結構圖如下:

液晶內部有乙個狀態字位元組,通過讀取這個狀態字的內容來了解1602液晶的內部情況,如下:

對應**如下:

lcd1602_db

=0xff

;//讀外部狀態前,保證自己是高電平

lcd1602_rs=0

;//低電平,接收的是命令

lcd1602_rw=1

;//高電平,讀取液晶內部資料

dowhile

(sta &

0x80);

//bit7 = 1表示液晶正忙,重複檢測直到其等於0

lcd1602_e=1

;

注意:①微控制器讀外部狀態前,必須保證自己是高電平 ②讀狀態之前,要先檢測液晶是否處於忙狀態,只有bit7 = 0時,才能進行讀寫狀態(資料)。 ③讀寫完後,要通過語句 lcd1602_e = 0 釋放p0匯流排,以免干擾其他外設。

rs = h,r/w = h , e = h

rs = l,r/w = l ,d0~d7 = 指令碼, e = 高脈衝

寫指令之前,e引腳是低電平。通過前三句準備好資料之後,e使能引腳從低電平到高電平變化,然後e引腳再從高電平到低電平變化,出現乙個下降沿,並且檢測到 rs = l,r/w = l,就立刻讀取d0~d7的資料,完成微控制器寫1602指令過程。

rs = h,r/w = l ,d0~d7 = 資料, e = 高脈衝

(1)顯示模式設定(固定的0x38)

寫入0x01表示資料指標清零,所有的顯示都請零;寫入0x02僅僅是資料指標清零,顯示不清零。

以普中科技開發板為例,原理圖如下:

實驗現象:兩行分別顯示 less interests . more interest.

首先進行位說明:

#define lcd1602_db p0

sbit lcd1602_rw =p2^

5;//讀寫控制端

sbit lcd1602_rs =p2^

6;//資料命令選擇端

sbit lcd1602_e =p2^

7;// 使能訊號

接著要說一下用到的函式:

void

lcdwaitready()

;//讀狀態

void

lcdwritecmd

(u8 cmd)

;//寫命令

void

lcdwritedat

(u8 dat)

;//寫資料

void

lcdsetcursor

(u8 x,u8 y)

;//設定ram位址,(x,y)為座標

void

initlcd1602()

;//液晶初始化

void

lcdshowstr

(u8 x,u8 y,u8 *str)

;//顯示字串,(x,y)為座標

完整**如下:

#include"reg52.h"

#define lcd1602_db p0

sbit lcd1602_rw =p2^

5;//讀寫控制端

sbit lcd1602_rs =p2^

6;//資料命令選擇端

sbit lcd1602_e =p2^

7;// 使能訊號

typedef unsigned char u8;

typedef unsigned int u16;

void

initlcd1602()

;void

lcdshowstr

(u8 x,u8 y,u8 *str)

;void

main()

//讀狀態,忙位檢測

void

lcdwaitready()

while

(sta &

0x80);

//bit7表示液晶正忙,重複檢測直到其為0

}//寫指令,cmd為待寫入命令值

void

lcdwritecmd

(u8 cmd)

//寫資料

void

lcdwritedat

(u8 dat)

//初始化1602液晶

void

initlcd1602()

//設定顯示ram起始位址,即游標位置,(x,y)為對應螢幕上的字元座標

void

lcdsetcursor

(u8 x,u8 y)

//在液晶上顯示字串,(x,y)為對應螢幕上的起始座標,str為字串指標

void

lcdshowstr

(u8 x,u8 y,u8 *str)

}

前一篇: 微控制器學習(7)——uart串列埠通

關於微控制器藍橋杯 EEPROM

eeprom運用了iic協議,我們在藍橋杯上寫eeprom時,應該注意他給的延時是不是15個 nop 然後,在他給的iic協議的基礎上,我們自己新增兩個eeprom write與eeprom read兩個讀寫函式 void eeprom write uchar add,uchar dat iic s...

藍橋杯 微控制器 中斷程式設計

使用程式前,將跳線j5調整為btn模式 2 3引腳短接使第一列按鍵一端接地 將跳線j13調整為io模式 2 3引腳短接使u25或非門輸入訊號wr接地 按下p32 int0引腳對應的按鍵s5,l1狀態翻轉 按下p33 int1引腳對應的按鍵s4,l2狀態翻轉 include reg52.h unsig...

藍橋杯微控制器學習之矩陣鍵盤

這裡是我的矩陣鍵盤學習筆記,大一學生,希望共同進步,錯誤地方大佬指點一下 先看原理圖吧,只有了解怎麼工作的,咱才能設計程式 要使用矩陣鍵盤,就先吧j5跳線帽跳到key上面,也就是1,2上面,這樣才是矩陣鍵盤模式 接下來看這個是怎麼工作的 如圖,p34表示第四列,p35表示第三列,p44表示第二列,p...