LCD1602的使用詳解

2021-07-11 04:25:21 字數 2170 閱讀 5326

一、學習目的

學會如何使用乙個新的模組:

二、lcd1602原理

1、只能顯示ascii碼

1602 = 16個字元/行 * 2行 = 畫素 16*2

2、分析時序圖

(1)寫操作(微控制器至hd44780)

描述:

首先要對暫存器的選擇和讀、寫操作選擇進行配置。rs是暫存器選擇,rs = 1對資料進行操作;rs = 0對指令進行操作。

接著對讀寫操作選擇進行配置,rw = 0 寫操作。

開啟使能端,輸入使能訊號 e = 1。

資料匯流排,對db0~db7賦值,進行資料的傳輸

【注】如果先開啟使能,再進行其他配置的話,有可能傳輸的資料不是自己想要的。

(2)讀操作(hd44780至微控制器)

3、顯示模組的指令集

根據自己的顯示需要進行相應的配置

4、顯示的位置設定ddram

顯示在第一行某一列的資料可以寫命令:0x80 | 0x**

顯示在第二行某一列的資料可以寫命令:0x80 | 0x40 | 0x** = 0xc0 | 0x**

0x80是因為在設定ddram位址時,db7固定是為1的。

三、lcd1602寫入自己的字元及顯示漢字

1、由於lcd是外部裝置,處理速度比cpu速度慢,向lcd寫入命令到完成功能需要一定的時間,在這個過程中,lcd處於忙狀態,不能向lcd寫入新的內容。lcd是否處於忙狀態可以通過讀忙標誌命令來了解。

用state = lcdport來讀取io埠的狀態,將state & 0x80來判斷lcd是否處於忙狀態,若io口bit7為1,則表示lcd處於忙狀態,反之則空閒。

2、要讓lcd1602顯示自定義字元,就得用到cgram指令,cgrom字碼表實際只有8個位元組可供使用,writecom(0x40)表示將要在cgram中寫入資料,設定字型檔cgram位址命令是0100 0000.

1602能儲存8個自定義字元(即8個位元組的使用),這8個自定義字元儲存空間的首位址分別是:0x40,0x48,0x50,0x58,0x60,0x68,0x70,0x78。

使用時讀取自定義字元的位址即為0x40-0x78 對應為 00h-07h。乙個位址(如00h)存放1b的乙個字元(1b = 8bit,乙個字元由8個0x**組成)   

以0x40來說,它的儲存空間如圖所示:

如果使用5*7字元的話,那麼最左3位和最後一行的資料實際上是沒用的,通常置0。

這樣我們就得到每個位址需要寫入的資料:

位址 : 資料

0x40 : 0x16

0x41 : 0x09

0x42 : 0x08 其他類推。將這8個資料寫入到對應位址即可。(有紅格仔的即為1,白格仔即為0)

LCD1602使用說明

一 學習目的 學會如何使用乙個新的模組 lcd使用要點 要明白ac就是內部資料指標的位址,ddram即儲存顯示資料的儲存器,每次顯示,都要想明白往哪個位址上寫資料。要學會通過使用手冊上的時序圖來學習 如何編寫讀寫資料的函式,最終的一點還要會硬體連線。二 lcd1602原理 1 只能顯示ascii碼 ...

LCD1602知識詳解(很詳盡的)

1602液晶知識詳解 1 1602液晶基礎 vss 電源地訊號引腳 vdd 電源訊號引腳 vee 液晶對比度調節引腳,接0 5v以調節液晶的顯示對比度 rs 暫存器選擇引腳 rs 1時為資料暫存器 rs 0時為指令暫存器 rw 讀寫選擇引腳 rw 1時,選擇讀操作 rw 0時,選擇寫操作 e 讀寫操...

lcd1602顯示實驗

字元從最右邊往左移動16次,最後停止在螢幕上 include define uchar unsigned char define uint unsigned int uchar code display talk is cheap uchar code display1 show me code s...