LCD1602的解讀(詳細步驟分析)

2021-10-04 04:55:45 字數 2002 閱讀 3855

程式設計初始化條件–寫命令

lcd1602液晶模組內部的控制器共有11條控制指令

ddram(display data ram)是顯示資料隨機儲存器

cgrom :1602液晶模組內部的字元發生儲存器(cgrom:custom glyph read-only memory定製字元唯讀儲存器)已經儲存了160個不同的點陣字元圖形,這些字元有:阿拉伯數字、英文本母的大小寫、常用的符號、和日文假名等,每乙個字元都有乙個固定的**,比如大寫的英文本母「a」的**是01000001b(41h),顯示時模組把位址41h中的點陣字元圖形顯示出來,我們就能看到字母「a」 ; 首先顯示內容分為兩種,一種是常用字元,儲存在cgrom中,使用者可以直接呼叫,另一種是自定義的字元,比如自己設計的一些奇怪的圖形之,儲存在cgram;

對於cgram和cgrom只是在你想要定製你自己想要的字元時才用到,也是寫命令進行初始化時設定的指令

【注意】這個圖在指令設定時對應的位址不一定對,主要是讀者方便理解cgram和cgrom

lcd的已有的字模儲存在cgrom中,自定義的儲存在cgram,留給自定義的位置只有8個位址,字模位址為01000000-01000111八個位址,也就是最多自定義8個符號或者圖形。

lcd1602按其說明書說明,可以設定成為四位匯流排(想當於4個並行介面),原八位並口輸入接線可以減少四個,即只接d4-d7,這適用於微控制器介面比較少或比較緊張的情況下。不過,接成四位匯流排後,傳送任何八位資料都應分兩次進行,先發高四位,再發低四位。在初始化時,應將lcd1602設定成四位匯流排。其他控制與八位匯流排完全相同。

位址是用16進製表示的,比如00h表示第乙個位元組,十六進製制27轉換為十進位制就是39,表示第40個位元組;第二行是直接從十六進製制40h開始的(第一行後面的還有一些位址不使用所以在這不提,僅提到這80個位元組)

舉例比如第二行第一字元0100 0000(40h) 根據指令8可知,ddram儲存器的位址設定(1000 0000)+ 螢幕字元座標的具體位址(0100 0000)

這個用處只是用來你顯示的資料的第乙個字元從**開始

# include

"reg51.h"

typedef

unsigned

int u16;

typedef

unsigned

char u8;

#define lcd1602d0_d7 p0

//d0-d7

sbit lcd_e=p2^7;

//使能端

sbit lcd_w=p2^5;

sbit lcd_rs=p2^6;

void

delay

(u16 i)

u8 display1=

" test distance!!!"

;u8 display2=

":0.0000 m"

;//輸出乙個字串

void

lcdwritecommand

(u8 comd)

//先寫命令。。。

//命令也是靠時序來執行的

void

lcdwritedat

(u8 dat)

//後寫資料。。。。根據寫資料時序圖來寫

//(以下內容已經是在寫時序中)

void

lcdinit()

void

main()

lcdwritecommand

(0xc1);

for(j=

0;j<

9;j++

)while(1);}

LCD1602指令集解讀

lcd1602指令集 11個 1 清屏指令 clear display rs 0 r w 0,01h 功能 清除液晶顯示器,即將ddram中的內容全部填入20h 空白字元 游標撤回顯示屏左上方 將位址計數器 ac 設為0,游標移動方向為從左向右,並且ddram的自增量為1 i d 1 2 游標歸位指...

LCD1602的使用詳解

一 學習目的 學會如何使用乙個新的模組 二 lcd1602原理 1 只能顯示ascii碼 1602 16個字元 行 2行 畫素 16 2 2 分析時序圖 1 寫操作 微控制器至hd44780 描述 首先要對暫存器的選擇和讀 寫操作選擇進行配置。rs是暫存器選擇,rs 1對資料進行操作 rs 0對指令...

LCD1602的簡單應用

此程式主要功能是液晶屏緩慢依次顯示abcd4個字母 include define uint unsigned int define uchar unsigned char sbit lcd rw p2 5 sbit lcd rs p2 6 sbit lcd en p2 7 uchar num voi...