基於51微控制器LCD1602顯示

2021-10-13 19:05:22 字數 2666 閱讀 1615

要在1602上顯示字元,要大概明白1602液晶顯示屏工作原理。

一般的液晶顯示器(liquid crystal display, lcd) 的主要原理是以電流刺激液晶分子產生點、線、面並配合背部燈管構成畫面。

1602液晶也叫1602字元型液晶,它是一種專門用來顯示字母、數字、符號等的點陣型液晶模組。1602lcd是指顯示的內容16×2,即最多只能顯示32個字元。它由若干個5x7或者5x11等點陣字元位組成,每個點陣字元位都可以顯示乙個字元,每位之間有乙個點距的間隔,每行之間也有間隔,起到了字元間距和行間距的作用,正因為如此所以它不能很好地顯示圖形。5x7點陣可以看做5行7列等間距分布的led燈,每乙個燈相當於乙個畫素點,你要表達的字母或者數字都是由這些畫素點組成的。只需控制燈的亮滅就可以了。

一般1602一共有16位引腳。(引腳作用如下表)

編號符號

引腳作用

編號符號

引腳作用

1vss

電源正級9d2

資料口2

vdd電源地

10d3

資料口3

vo液晶顯示對比度調節(即亮度需要接滑動電阻)

11d4

資料口4

rs資料命令選擇端(h\l)

12d5

資料口5

rw讀寫選擇端(h\l)

13d6

資料口6

e使能端

14d7

資料口7

d0資料口

15bla

背光電源正極8d1

資料口16

blk背光電源負極

明白了引腳後,就可以將引腳鏈結到微控制器用微控制器i\o口來控制每乙個引腳來讓1602顯示字元。程式設計用到的主要管腳不過三個,分別為:rs(資料命令選擇端),r/w(讀寫選擇端),e(使能訊號);程式設計便主要圍繞這三個管腳展開按照時序進行初始化,寫命令,寫資料。基本操作如下:

(1) 讀狀態:輸入:rs=l, rw=h,e=h 輸出:d0-d7=狀態字。

(2) 寫指令:輸入:rs=l, rw=l,d0-d7=指令碼,e=h,輸出:無。

(3) 讀資料:輸入:rs=h, rw=h,e=h 輸出:d0~d7=資料。

(4) 寫資料:輸入:rs=l,rw=h,d0-d7=資料,e=高脈衝,輸出:無。

由於此次是讓1602顯示我們讓1602顯示的字元所以使用向1602寫指令,寫資料具體操做**如下:

//寫指令**

void

write_com

(uint com)

//寫資料**

void

write_date

(uint date)

寫指令就是向1602傳送設定指令,如在那一行顯示,從這一行的什麼位置開始,顯示時是滾動顯示還是靜態顯示。

寫資料就是將我們想要顯示的字元用迴圈的方式寫入1602。

顯示指令設定(具體如下表)

指令碼功能

0 0 1 1 1 0 0 0

設定16x2顯示,5x7點陣,8位資料口

0 0 0 0 1 d c b

d=1開顯示: d=0關顯示;

c=1顯示游標: c=0不顯示游標

b=1游標閃爍; b=0 游標不顯示

0 0 0 0 0 1 n s

n=1當讀或寫乙個字元後位址指標加1,且游標加1

n=0當讀或寫乙個字元後位址指標減1,且游標減1

s=1,當寫乙個字元時,整屏顯示左移(n=1)或右移(n=0), 以得到游標不移動而螢幕移動的效果

s=0,當寫乙個字元時,整屏顯示不移動

0 0 0 1 0 0 0 0

游標左移

0 0 0 1 0 1 0 0

游標右移

0 0 0 1 1 0 0 0

整屏左移,同時游標跟隨移動

0 0 0 1 1 1 0 0

整屏右移,同時游標跟隨移動

將以上所需要的指令通過寫指令函式寫入1602來設定1602就是1602初始化,這次我們要讓1602顯示一行字元,初始化**為:

void

write_init()

將以上設定好然後就可以用寫資料將想要顯示的顯示在1602上了

**如下

#include

#define uint unsigned int

#define uchar unsigned char

sbit rs=p3^1;

sbit e=p3^2;

uchar code table=

"welcome to china"

;void

delay

(ms)}}

void

write_com

(uchar com)

void

write_data

(uchar dat)

void

init()

void

main()

while(1

);//這裡是防止1602一閃一閃的顯示就讓**跑一邊在顯示完後就停在那

}

**結果如下

微控制器 LCD1602

lcd1602為工業字元型液晶,lcd表示liquidcrystal display。能夠同時顯示16 x 2 16列2行 即32個字元。1602液晶也叫1602字元型液晶,它是一種專門用來顯示字母 數字 符號等的點陣型液晶模組。它由若干個5x7或者5x11等點陣字元位組成,每個點陣字元位都可以顯示...

51微控制器LCD1602程式詳解

lcd1602 工業字元型液晶。1602是指lcd顯示的內容為16x2,即可以顯示兩行,每行16個字元.特殊介面說明 rs 暫存器選擇輸入端 rs 1 指向資料暫存器 rs 0 指向指令暫存器 rw 讀寫控制輸入端 rw 0 寫操作 rw 1 讀操作 e 使能訊號輸入端 讀操作時,高電平有效 寫操作...

C51微控制器 LCD1602

1.在最前面定義好rs,rw,en 2.寫乙個判斷忙程式 void read busy while busy 0x80 3.寫命令程式 void write cmd uchar cmd 4.寫資料程式 void write dat uchar dat 5.主函式 void main 整體例程 lcd...