lcd1602液晶,lcd1602液晶顯示介紹(LCD1602的原理及實現辦法)
最佳答案 問答題庫1518位專家為你答疑解惑
關于【lcd1602液晶】,lcd1602液晶顯示介紹,今天犇涌小編給您分享一下,如果對您有所幫助別忘了關注本站哦。
內容導航:1、lcd1602液晶:【硬見小百科】LCD1602的原理及實現辦法2、lcd1602液晶,lcd1602液晶顯示介紹1、lcd1602液晶:【硬見小百科】LCD1602的原理及實現辦法
LCD1602工作原理
1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數字、符號等的點陣型液晶模塊。1602LCD是指顯示的內容16×2,即最多只能顯示32個字符。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形。
5X7點陣可以看做5行7列等間距分布的led燈,每一個燈相當于一個像素點,你要表達的字母或者數字都是由這些像素點組成的。只需控制燈的亮滅就可以了。
目前市面上的字符液晶大多數是基于HD44708液晶芯片而設計的,1602也是用HD44708的。
1602字符型液晶顯示器實物圖
lcd1602主要用來顯示數字、字母、圖形以及少量自定義字符。可以顯示2行16個字符,擁有16個引腳,其中8位數據總線D0-D7,和RS、R/W、EN三個控制端口,工作電壓為5V,并且帶有字符對比度調節和背光。
實現方法
編程用到的主要管腳不過三個,分別為:RS(數據命令選擇端),R/W(讀寫選擇端),E(使能信號);編程便主要圍繞這三個管腳展開按照時序進行初始化,寫命令,寫數據。
時序圖,是一種UML交互圖。它通過描述對象之間發送消息的時間順序顯示多個對象之間的動態協作。它可以表示用例的行為順序,當執行一個用例行為時,時序圖中的每條消息對應了一個類操作或狀態機中引起轉換的觸發事件。說白了就是單片機想讓lcd進行初始化,顯示數據等行為,就必須告訴lcd要做這些事了;lcd也是有脾氣的,單片機想命令lcd就得按照lcd的規矩來。這個規矩,就是時序。
1602液晶模塊內部的字符發生存儲器(CGROM)已經存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”。指令集如下圖:
可以看出,按照16進制,清屏指令就0x01。光標顯示指令就是0x0c。
以上所有信息僅作為學習交流使用,不作為任何學習和商業標準。若您對文中任何信息有異議,歡迎隨時提出,謝謝!
關于云創硬見
2、lcd1602液晶,lcd1602液晶顯示介紹
1.簡介
LCD1602是很多單片機愛好者較早接觸的字符型液晶顯示器,它的主控芯片是HD44780或者其它兼容芯片。與此相仿的是LCD12864液晶顯示器,它是一種圖形點陣顯示器,能顯示的內容比LCD1602要豐富得多,除了普通字符外,還可以顯示點陣圖案,帶有漢字庫的還可以顯示漢字,它的并行驅動方式與LCD1602相差無幾,所以,在這里花點時間是值得的。
一般來說,LCD1602有16條引腳,據說還有14條引腳的,與16腳的相比缺少了背光電源A(15腳)和地線K(16腳)。這塊LCD1602的型號是HJ1602A,是繪晶科技公司的產品,它有16條引腳。如圖1所示:
2.硬件參數
(1) LCD1602主要技術參數
a.顯示容量:16×2個字符
b.芯片工作電壓:4.5—5.5V
c.工作電流:2.0mA(5.0V)
d.模塊最佳工作電壓:5.0V
e.字符尺寸:2.95×4.35(W×H)mm
(2) 引腳定義
首先,1602液晶顯示屏除了電源、地以外,有3個控制引腳 RS R/W E 和8個數據引腳DB0-7。建議8個數據引腳接在同一組上,程序寫起來比較簡單。硬件連接參考如圖。
當我們想在指定位置寫入內容時,要先指定地址,如在第一行第一位寫入,地址位是00H,再加上DB7的1,即80H(0010000000),第二行第一位是40H,再加上DB7的1,即C0H(0011000000),依次類推。
LCD的已有的字模存儲在CGROM中,自定義的存儲在CGRAM,留給自定義的位置只有8個地址,字模地址為01000000-01000111八個地址,也就是最多自定義8個符號或者圖形。
根據這條指令,來寫一個攝氏度℃的自定義符號,對應圖如下
**上面的數據也可以用8X8的字模軟件進行獲取字符數據**
用zimo221軟件, 新建一個8*8的圖像,留出左邊3列,用右邊5列點出自定義字符,選擇取模方式C51,就可得到對應的編碼
字符對應的數組為table【】={0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00},將℃寫入指定的位置之前,要先把對應數組寫入CGRAM存儲,再寫入DDRAM顯示。如果直接用已有的字符,可以直接把數組寫入DDRAM顯示。
區分清楚自定義字符和已有字符,程序就簡單了。主要步驟是延時函數、寫指令、寫數據、初始化、主函數。
下面舉兩個例子,寫入常規字符串12345,寫入字符串℃。
```c
程序一
#include<reg52.h> //包含頭文件
#define uint unsigned int //預定義
#define uchar unsigned char
sbit rs=P2^6; //1602的數據/指令選擇控制線
sbit rw=P2^5; //1602的讀寫控制線
sbit en=P2^7; //1602的使能控制線
uchar code table[]="1234"; //要顯示的內容放入數組table
void delay(uint n) //延時函數
{
uint x,y;
for(x=n;x>0;x--)
for(y=110;y>0;y--);
}
void lcd_wcom(uchar com) //1602寫命令函數
{
rs=0; //選擇指令寄存器
rw=0; //選擇寫
P0=com; //把命令字送入P2
delay(5); //延時一小會兒,讓1602準備接收數據
en=1; //使能線電平變化,命令送入1602的8位數據口
en=0;
}
void lcd_wdat(uchar dat) //1602寫數據函數
{
rs=1; //選擇數據寄存器
rw=0; //選擇寫
P0=dat; //把要顯示的數據送入P2
delay(5); //延時一小會兒,讓1602準備接收數據
en=1; //使能線電平變化,數據送入1602的8位數據口
en=0;
}
void lcd_init() //1602初始化函數
{
lcd_wcom(0x38); //8位數據,雙列,5*7字形
lcd_wcom(0x0c); //開啟顯示屏,關光標,光標不閃爍
lcd_wcom(0x06); //顯示地址遞增,即寫一個數據后,顯示位置右移一位
lcd_wcom(0x01); //清屏
}
void main() //主函數
{
uchar m=0;
lcd_init(); //液晶初始化
lcd_wcom(0x80); //顯示地址設為80H(即00H,)上排第一位
for(m=0;m<4;m ) //將table[]中的數據依次寫入1602顯示
{
lcd_wdat(table[m]);
delay(200);
}
while(1); //動態停機
}
```
```c
程序二
#include<reg52.h> //包含頭文件
#define uint unsigned int //預定義
#define uchar unsigned char
sbit rs=P2^6; //1602的數據/指令選擇控制線
sbit rw=P2^5; //1602的讀寫控制線
sbit en=P2^7; //1602的使能控制線
uchar code table[]={0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00}; //要顯示的內容放入數組table
void delay(uint n) //延時函數
{
uint x,y;
for(x=n;x>0;x--)
for(y=110;y>0;y--);
}
void lcd_wcom(uchar com) //1602寫命令函數
{
rs=0; //選擇指令寄存器
rw=0; //選擇寫
P0=com; //把命令字送入P2
delay(5); //延時一小會兒,讓1602準備接收數據
en=1; //使能線電平變化,命令送入1602的8位數據口
en=0;
}
void lcd_wdat(uchar dat) //1602寫數據函數
{
rs=1; //選擇數據寄存器
rw=0; //選擇寫
P0=dat; //把要顯示的數據送入P2
delay(5); //延時一小會兒,讓1602準備接收數據
en=1; //使能線電平變化,數據送入1602的8位數據口
en=0;
}
void lcd_init() //1602初始化函數
{
lcd_wcom(0x38); //8位數據,雙列,5*7字形
lcd_wcom(0x0c); //開啟顯示屏,關光標,光標不閃爍
lcd_wcom(0x06); //顯示地址遞增,即寫一個數據后,顯示位置右移一位
lcd_wcom(0x01); //清屏
}
void main() //主函數
{
uchar m;
lcd_init(); //液晶初始化
lcd_wcom(0x40);//設定CGRAM地址,把自定義字符存儲進去
for(m=0;m<8;m ) //將table[]中的數據依次寫入1602顯示
{
lcd_wdat(table[m]);
delay(200);
}
lcd_wcom(0x85); //顯示地址設為85H,上排中間位
lcd_wdat(0);
while(1); //動態停機
}
```
總結:區分DDRAM和CGRAM,DDRAM是字符對應在屏幕上的位置,CGRAM是把自己定義的字符存在8個字節里,即lcd_wcom(0x40)。
本文關鍵詞:lcd1602液晶顯示電路,lcd1602液晶顯示模塊流程圖,lcd1602液晶顯示模塊工作原理,lcd1602液晶顯示模塊圖片,lcd1602液晶顯示原理。這就是關于《lcd1602液晶,lcd1602液晶顯示介紹(LCD1602的原理及實現辦法)》的所有內容,希望對您能有所幫助!更多的知識請繼續關注《犇涌向乾》百科知識網站:!
99%的人還看了
相似問題
猜你感興趣
版權申明
本文" lcd1602液晶,lcd1602液晶顯示介紹(LCD1602的原理及實現辦法)":http://eshow365.cn/3-3389-0.html 內容來自互聯網,請自行判斷內容的正確性。如有侵權請聯系我們,立即刪除!