51微控制器驅動1602液晶顯示器的小例子

2021-06-18 12:13:31 字數 3603 閱讀 3829

引腳功能

1602採用標準的16腳介面,其中:

第1腳:vss為電源地

第2腳:vcc接5v電源正極

第3腳:v0為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會 產生「鬼影」,使用時可以通過乙個10k的電位器調整對比度)。

第4腳:rs為暫存器選擇,高電平1時選擇資料暫存器、低電平0時選擇指令暫存器。

第5腳:rw為讀寫訊號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。

第6腳:e(或en)端為使能(enable)端,高電平(1)時讀取資訊,負跳變時執行指令。

第7~14腳:d0~d7為8位雙向資料端。

第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負極。

指令表:

指令碼

功 能

rs

r/w

d7

d6

d5

d4

d3

d2

d1

d0

清除顯示

0

0

0

0

0

0

0

0

0

1

將ddram填滿"20h",並且設定ddram的位址計數器(ac)到"00h"

位址歸位

0

0

0

0

0

0

0

0

1

x

設定ddram的位址計數器(ac)到"00h",並且將游標移到開頭原點位置;這個指令不改變ddram 的內容

顯示狀態開/關

0

0

0

0

0

0

1

d

c

b

[d=1: 整體顯示 on][c=1: 游標on]

[b=1:游標位置反白允許]

進入點設定

0

0

0

0

0

0

0

1

i/d

s

指定在資料的讀取與寫入時,設定游標的移動方向及指定顯示的移位

游標或顯示移位控制

0

0

0

0

0

1

s/c

r/l

x

x

設定游標的移動與顯示的移位控制位;這個指令不改變ddram 的內容

功能設定

0

0

0

0

1

dl

x

re

x

x

[dl=0/1:4/8位資料]

[re=0/1: 基本指令操作 / 擴充指令操作]

設定cgram位址

0

0

0

1

ac5

ac4

ac3

ac2

ac1

ac0

設定cgram 位址

設定ddram位址

0

0

1

0

ac5

ac4

ac3

ac2

ac1

ac0

設定ddram 位址(顯示位址)

[第一行:80h-a7h]

[第二行:c0h-e7h]

讀取忙標誌和位址

0

1

bf

ac6

ac5

ac4

ac3

ac2

ac1

ac0

讀取忙標誌(bf)可以確認內部動作是否完成,同時可以讀出位址計數器(ac)的值

寫資料到ram

1

0

資料

將資料d7——d0寫入到內部的ram (ddram/cgram/iram/gram)

讀出ram的值

1

1

資料

從內部ram讀取資料d7——d0(ddram/cgram/iram/gram)

特性:

3.3v或5v工作電壓,對比度可調

內含復位電路

提供各種控制命令,如:清屏、字元閃爍、游標閃爍、顯示移位等多種功能

有80位元組顯示資料儲存器ddram

內建有192個5x7點陣的字型的字元發生器cgrom

8個可由使用者自定義的5x7的字元發生器cgram

測試電路原理圖:

測試**:

#include#define uchar unsigned char

#define uint unsigned int

sbit lcden=p3^2; //使能端

sbit lcdrs=p3^0; //資料命令選擇端

sbit rw=p3^1;

uchar code table="xian shi 1"; //輸入的字元

uchar code table1="xian shi 2"; //輸入的字元

uchar num=0;

void delay(uint z)

void write_com(uchar com)//根據寫時序圖寫出指令程式

void write_data(uchar date)//根據寫時序圖寫出資料程式

void init()

void main()

write_com(0x80+0x40);

for(num=0;num<10;num++) //輸入的字元數量,修改

while(1);

}

測試效果:

51微控制器 1602液晶顯示

1602的第1個管腳為vss,vss s series 表示公共連線的意思,通常指電路公共接地端電壓。15管腳為背光電源正極,為防止加5v電壓燒壞背光燈,通常串接1個10 電阻限流。1602靜態顯示 基本程式 include define lcd1602 datapins p0 define uch...

51微控制器 1602液晶顯示

1602的第1個管腳為vss,vss s series 表示公共連線的意思,通常指電路公共接地端電壓。15管腳為背光電源正極,為防止加5v電壓燒壞背光燈,通常串接1個10 電阻限流。1602靜態顯示 基本程式 include define lcd1602 datapins p0 define uch...

微控制器的1602液晶顯示

以上是我認為控制1602液晶比較重要的,必須要我們懂的 下面是我寫得到乙個程式 include define uchar unsigned char define uint unsigned int uchar code table1 uchar code table2 sbit lcdrs p2 ...