wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

LCD1602液晶顯示完全資料

作者:佚名   來源:本站原創   點擊數:  更新時間:2010年05月12日   【字體:

一、關于LCD1602:

在編寫LCD1602程序前,我們必須了解其手冊上一些非常重要的信息,如果這些信息不能理解透徹,編程可能會遇到或多或少的問題,在此先大致歸納幾點。

1.管腳:

1602共16個管腳,但是編程用到的主要管腳不過三個,分別為:RS(數據命令選擇端),R/W(讀寫選擇端),E(使能信號);以后編程便主要圍繞這三個管腳展開進行初始化,寫命令,寫數據。

以下具體闡述這三個管腳:

RS為寄存器選擇,高電平選擇數據寄存器,低電平選擇指令寄存器。

R/W為讀寫選擇,高電平進行讀操作,低電平進行寫操作。

E端為使能端,后面和時序聯系在一起。

    除此外,D0~D7分別為8位雙向數據線。

 

2.操作時序:
      

RS
R/W
操作說明
0
0
寫入指令碼D0~D7
0
1
讀取輸出的D0~D7狀態字
1
0
寫入數據D0~D7
1
1
D0~D7讀取數據

注:關于E=H脈沖——開始時初始化E為0,然后置E為1,再清0.

讀取狀態字時,注意D7位,D7=1,禁止讀寫操作;D7=0,允許讀寫操作;

所以對控制器每次進行讀寫操作前,必須進行讀寫檢測。(即后面的讀忙子程序)

 

3.指令集:

LCD_1602 初始化指令小結:

0x38   設置16*2顯示,5*7點陣,8位數據接口

0x01   清屏

0x0F   開顯示,顯示光標,光標閃爍

0x08   只開顯示

0x0e   開顯示,顯示光標,光標不閃爍

0x0c   開顯示,不顯示光標

0x06   地址加1,當寫入數據的時候光標右移

0x02   地址計數器AC=0;(此時地址為0x80) 光標歸原點,但是DDRAM中斷內容不變

0x18   光標和顯示一起向左移動

 

4.顯示地址:



LCD1602內部RAM顯示緩沖區地址的映射圖,00~0F、40~4F分別對應LCD1602的上下兩行的每一個字符,只要往對應的RAM地址寫入要顯示字符的ASCII代碼,就可以顯示出來。

 

5.讀寫時序:

時序圖1602手冊中有,這里不引用了。時序圖很重要,編程就是根據時序圖設置寄存器,讓LCD工作。

 

二、LCD1602程序編寫流程:

LCD1602在了解完以上信息后便可以編寫,這里我們把程序分為以下幾步:

1.定義LCD1602管腳,包括RS,R/W,E。這里定義是指這些管腳分別接在單片機哪些I/O口上。

現舉例如下:

sbit EN=P3^4;

sbit RS=P3^5;

sbit RW=P3^6;

 

2.顯示初始化,在這一步進行初始化及設置顯示模式等操作,包括以下步驟:

設置顯示方式
延時
清理顯示緩存
設置顯示模式
通常推薦的初始化過程如下:

延時15ms

寫指令38H

延時5ms

寫指令38H

延時5ms

寫指令38H

延時5ms

注:以上寫38H指令可以看情況省略1~2步

(以上都不檢測忙信號)

(以下都要檢測忙信號)

寫指令38H

寫指令08H 關閉顯示

寫指令01H 顯示清屏

寫指令06H 光標移動設置

寫指令0cH 顯示開及光標設置

 

3.設置顯示地址(寫顯示字符的位置)。

 

4.寫顯示字符的數據。

 

三、LCD1602各子程序模塊及主程序編寫:

現在按照上面編寫程序的流程,給出各子程序模塊及主程序的例子。

1.頭文件,宏定義,定義管腳等:

#include<reg52.h>

#include <string.h>

#define uchar unsigned char

#define uint unsigned int

sbit EN=P3^4;

sbit RS=P3^5;

sbit RW=P3^6;

uchar code table0[]={"QQ:545699636"};  //此條語句為顯示字符串時定義的字符串數組

 

2.LCD1602基本初始化子程序:

void LCD1602()

{

 EN=0;

 RS=1;

 RW=1;

 P0=0xff;   //這里P0為與LCD D0~D7相連的I/O口

}

 

3.讀忙子程序:

void read_busy()

{

  P0=0xff;

  RS=0;

  RW=1;

  EN=1;

  while(P0&0x80);   //P0和10000000相與,D7位若不為0,停在此處

  EN=0;             //若為0跳出進入下一步;這條語句的作用就是檢測D7位

}                  //若忙在此等待,不忙跳出讀忙子程序執行讀寫指令

 

4.寫指令寫數據子程序:

void write(uchar i,bit j)

{

  read_busy();

  P0=i;  //其中i=0,寫指令;i=1,寫數據;

  RS=j;

  RW=0;

  EN=1;

  EN=0;

}

 

5.延時子程序:

void delay(uint c)    //功能為提供初始化等其他子程序中的延時1xc MS

{

  uint a,b;

  for(a=0;a<c;a++)

  for(b=0;b<120;b++);

}

 

6.LCD1602初始化子程序:

void init()    //完全按照要求初始化流程來,中間省略了一步寫指令38H

{

 

  delay(15);

  write(0x38,0);

  delay(5);

  write(0x38,0);

  write(0x08,0);

  write(0x01,0);

  write(0x06,0);

  write(0x0c,0);

}

 

7.顯示單個字符子程序:

void display_lcd_byte(uchar y,uchar x,uchar z)    //Y=0,1(起始行)X=0~15(起始列)Z=想寫字符的ASCII碼

{         

    if(y)      //是否顯示在第二行(若在第一行Y=0,不進入IF語句,若在第二行,進入IF語句

  {        

   x+=0x40;   //第二行起始地址加上列數為字符顯示地址

  }

  x+=0x80;      //設置數據指針位置

  write(x,0);  

  write(z,1);   //寫入數據

}

8.顯示字符串子程序:

void display_lcd_text(uchar y,uchar x,uchar table[])    //Y,X同上字符顯示,table[]字符串數組 

{      

  uchar z=0;

  uchar t;

  t=strlen(table)+x;   //  求得字符串長度加上起始列位置

  while(x<t)        //功能為LCD顯示到字符串最后一個字符,防止字符串

  {                 //沒有16個字符,從而不夠位產生亂碼;

    display_lcd_byte(y,x,table[z]);    //逐位顯示數組內字符

    x++;

    z++;

  }

}

 

9.主程序:

主程序里除了放入初始化程序外就是加入自己編寫的顯示子程序,根據你所要的不用功能可以編寫各種類型的顯示子程序,這里不做詳細介紹,以下舉例為顯示一個字符和顯示字符串的顯示子程序。

void main()

{

  LCD1602();

  init();

  display_lcd_byte(0,0,'A');      //  顯示一個字符

  display_lcd_text(1,3,table);    //  顯示字符串

  while(1);

}

 

到此,讓LCD1602顯示的操作流程和編程思想基本可以告一段落了,這里有一個完整的顯示程序可顯示2行英文: http://www.izizhuan.cn/mcu/723.html,大家可依樣畫瓢,自己修改運行, 但是1602的功能實現遠不止這些。利用1602你可以做出動態效果的顯示,并且除了顯示一般字符外,1602還支持自定義字符等等其他一些功能,下面在最后簡單介紹下顯示動態效果和自定義字符。

 

一、顯示動態效果:

    顯示動態效果包括讓一個字符或字符串原位置閃爍,或者前后移動等等。其實動態效果原理很簡單,就是簡單的利用延時。

    例如讓字符原位置閃爍,可以認為是先讓1602顯示字符,延時一段時間后,可以顯示空格或者直接清屏操作都可以達到讓字符消失不見的效果,再延時一段時間后再讓1602顯示這個字符。

    同理,讓字符前后移動也是這樣,例如讓字符在第一個位置顯示,延時一段時間后讓其在后面第二個位置顯示,只要顯示地址加1,然后顯示即可。字符串也是同樣的道理。

    在這里補充一點就是如何讓字符串從1602第16個地址外進入,動態向前移動。其實可以通過顯示地址表我們知道起始位置開始后1602一行只能顯示16個字符,但是一行的地址卻遠遠不止16個。大家可以看到第一行顯示地址是從00~27,然而能顯示在1602可見范圍的只有00~0F,后面的位置其實就是起到一個緩沖的作用,你完全可以讓字符數據存在在10地址后的RAM中,只不過,我們無法看到就是了,如果存在10前的地址我們就能看到顯示。

    因此,我們可以先把顯示起始地址設在10地址后的某一個位置,然后讓字符顯示地址每次加1,當加到0F時,我們就可以看到字符串第一個字符出現在1602的最末一位,然后繼續向前移動。

下面給出一段字符串移動顯示的例子:

 void display_lcd_byte(uchar y,uchar x,uchar z)

 {

   if(y)

   {

    x+=0x40;

   }

   x+=0x80;

   write(x,0);

   write(z,1);

  }

 

void display_lcd_text(uchar y,uchar x,uchar table[])

{

 uchar z=0;

 uchar t;

 t=strlen(table)+x;

 while(x<t)

 {

   display_lcd_byte(y,x,table[z]);

   x++;

   z++;

 }

 

 display_lcd_byte(y,x,' '); 

   

}

//前兩個子程序是顯示子程序

void main()

{

 uchar i;

 LCD1602();

 init();

 for(i=16;i>=0;i--)   //這里的循環就是為了字符串從后往前顯示

 {

  display_lcd_text(0,i,table0);   //i減一次,首個字符就往前去一位

  delay(200);

 }

 while(1);

}

 

二、顯示自定義字符:

要想顯示自定義字符,首先就得取得想要的圖形或者字符的字模數組,可以通過手動提取的方法,取得相應的字模。

如下圖所示,對應一個字符顯示區域。每8個字節,組成一個點陣數組。



 


要想讓某一格子顯示就讓那一位為1,每行自定義5位,全白為0x00;全黑為0x1f。一共8行,每行一位數據。

將生成的點陣數組保存到CGRAM存儲器中,生成自定義字符。1602內部CGRAM用于自定義的字符點陣的存儲,總共64字節。由上一步點陣提取可知,每一個字符由8個字節數據組成。所以64字節CGRAM存儲器,能夠存儲8組自定義字符的點陣數組。按照CGRAM地址劃分為 0~7為第一組,8~15為第二組,依次類推56~63為第8組數據。

CHARACTER CODE是數據的顯示地址,0-7的范圍,能存儲8位自定義的字符。(能存八個自定義,每個字符存放的)

CGRAM ADDRESS是存儲數據的地址,從0-63共64個字節.存儲64個數據。我們寫入的數據是0x40~0x7F,共128位。(把字符數組內的8個數送進這8個地址,每存完一個字符的8位,下次地址直接轉到0x48)

CGRAM DATA 字模每一行5位數據存

內部常用字符顯示時,顯示編碼是從0x20開始的。0x00~0x0F是專門留給自定義字符顯示的。0x00~0x07和0x08~0x0F內容是一樣的。例如:調用0x01 位置和0x09位置,顯示的內容是一樣的。

LCD1602自定義顯示字符的方式共四步,如下面所示:

1.設置向CGRAM中存入這個數據.初始地址是0x40。然后存一位向后加8,

總共能存8位自定義的字符。

2.然后可以把自定義的數據送入到LCD的CGRAM中。

3.向LCD寫指令,送入需要顯示數據的地址。

4.向LCD寫指令,把顯示的數據指向LCD的CGRAM存儲的位置,顯示出自定義字符。

舉例如下:

1.建立一個字符數組;

uchar LCD_Data1[]={0x01,0x03,0x1D,0x11,0x1D,0x03,0x01,0x00};

2.設置CGRAM地址,寫指令;

Write_LCD(0x40,0);

3.把數據送入CGRAM地址內;

for(i = 0; i < 8 ; i ++ )

{

Write_LCD(LCD_Data1[i],1);

}

4.寫需要顯示的位置指令;

Write_LCD(0x80,0);

5.把CGRAM的0位的數據送向LCD1602,顯示數據存儲的數據;

Write_LCD(0x00,1);
 

關閉窗口

相關文章

亚洲欧美精品| 国产精品9区| 一级黄色片毛片| 在线不卡日本| 国产精品成久久久久三级| 欧美一区二区三区不卡| 久久久精品日韩欧美| 久久精品盗摄| 欧美日韩播放| 福利一区二区三区视频在线观看| 国产三级视频在线看| 人人做人人草| 女人18毛片九区毛片在线| 国产成人亚洲欧洲在线| 国产精品无码电影| 欧美激情 国产精品| 久久综合九色99| 国产高清视频一区三区| 日韩综合中文字幕| 精品日韩99亚洲| 一本高清dvd不卡在线观看| 久久精品一区二区| 激情综合网最新| 日韩午夜激情| 不卡中文字幕| 超碰97久久| 二吊插入一穴一区二区| 一级黄色片免费| 国产123在线| 亚洲一区二区三区三州| 欧美性大战久久久久xxx| 亚洲欧美成人一区| 精品视频一区在线| 成人精品aaaa网站| 91干在线观看| 色综合导航网站| 亚洲欧美制服综合另类| 欧美一区二区福利视频| 欧美特黄级在线| 亚洲激情一二三区| 国产精品黄色在线观看| 91麻豆免费视频| 国产成都精品91一区二区三| 蜜臀国产一区二区三区在线播放| 在线观看一区| 欧美精选在线| 欧美在线看片| 91久久夜色精品国产按摩| 曰本一区二区三区视频| 国产劲爆久久| 国产ts一区| 黄色成人美女网站| silk一区二区三区精品视频| 精品视频在线播放一区二区三区| 中文字幕系列一区| 亚洲伦乱视频| 88xx成人免费观看视频库| 蜜桃av.网站在线观看| 国产精品13p| 黄网av在线| 免费在线看污片| 亚洲色图美国十次| 日韩三级免费| av最新在线| 日韩av影片| 成人欧美大片| 97人人做人人爽香蕉精品| 欧产日产国产精品视频| 免费亚洲电影| 欧美成人黄色| 日本超碰一区二区| 精品综合久久88少妇激情| 日韩高清电影免费| 日韩aaaa| 亚洲午夜在线| 日日夜夜免费精品| 国产麻豆视频一区二区| 成人h精品动漫一区二区三区| 亚洲国产欧美日本视频| 国产日韩电影| va天堂va亚洲va影视| 91精品入口| 国产精品亚洲二区| 亚洲91视频| 国产色综合网| 激情六月婷婷久久| aaa欧美日韩| 亚洲人一二三区| 狠狠躁18三区二区一区| 欧美蜜桃一区二区三区| 亚洲国产日韩精品在线| 久久精品成人一区二区三区| 91精品国产乱码久久久久久久久| 国产精品偷伦免费视频观看的| 7777奇米亚洲综合久久| 日本不卡一区二区三区视频| 国产精品国三级国产av| 人妻无码视频一区二区三区| 又色又爽又黄18网站| 久久视频一区二区三区| 国产午夜精品一区二区理论影院| 国产精品51麻豆cm传媒| 亚洲爱爱天堂| www.夜夜骑.com| 深夜福利视频在线免费观看| 激情影院在线| 成功精品影院| 亚洲国产一区二区三区在线播放| 玖玖玖国产精品| 99在线视频精品| 一区二区三区精品视频| 欧美日产在线观看| 国产亚洲成精品久久| 2020久久国产精品| 久久99精品国产一区二区三区| 4444亚洲人成无码网在线观看| 日本免费观看网站| 日本欧美一区二区三区不卡视频| chinese国产精品| 严阵以待中文社区| 全网国产福利在线播放| 日韩成人伦理| 精品精品国产毛片在线看| 国产日韩欧美一区在线| 久久久久久97三级| 欧美日韩在线不卡| www.午夜精品| 亚洲tv在线观看| 喜爱夜蒲2在线| 日韩大尺度视频| 99久在线精品99re8热| 亚洲成人在线播放| 久久精品视频6| 亚洲精品久久久久久动漫器材一区| 免费黄色小视频| av国产在线观看| 97色成人综合网站| 欧美资源在线| 自拍偷自拍亚洲精品播放| 日韩欧美二区三区| 日本免费久久高清视频| 国产系列第一页| 少妇精品一区二区三区| 国产青青草视频| 加勒比日本影视| 天堂а√在线最新版中文在线| 成人三级视频| 99国产精品久| 欧美一区二区三级| 琪琪亚洲精品午夜在线| 日本一道在线观看| 中国特黄一级片| 2018中文字幕在线观看| 日本成人一区二区三区| 视频在线观看免费影院欧美meiju| 性色一区二区| 亚洲国产aⅴ天堂久久| 按摩亚洲人久久| 秋霞毛片久久久久久久久| 无码国产精品一区二区高潮| 亚洲欧美一二三区| 蜜桃极品自拍av| 亚洲精品一区| 中文高清一区| 亚洲国产cao| 久久久久久久久久久成人| 一区精品在线| jizz日本在线播放| 欧美性受xxxx黑人爽| 美女国产在线| 亚洲xxx拳头交| 综合在线观看色| 久久精品99国产精品酒店日本| 天天综合色天天综合色hd| 人妻少妇一区二区| 久久综合图区亚洲综合图区| 色综合久久影院| 久久密一区二区三区| 中文字幕第一区二区| 在线观看欧美www| 亚洲一区精彩视频| 91制片厂在线| 四色最新网址| 国产综合色在线观看| 久久国产精品一区二区| 91精品国产色综合久久| 国产精品视频免费观看| 国产交换配乱淫视频免费| 伦理天堂电影| 国产在线xxx| 亚洲制服av| 黑人一区二区三区四区五区| 久久精品网站免费观看| 中文字幕亚洲情99在线| 久久99国产精品一区| 久久视频免费看| 激情亚洲色图| 国产一区二区三区亚洲| 国产亚洲精品aa| 九九久久久久99精品| 久久综合色视频| 一级黄色a视频| a天堂中文在线| 欧美日韩国产精品一区二区亚洲| 欧美日韩午夜剧场| 成人免费淫片视频软件| 国产一级伦理片| 欧美高清xxxx性| 国产精品xxx| av一二三不卡影片| 久久国产精品久久精品| 91黄色小网站| 男人天堂网在线视频| 国产精品蜜臀| 国产精品羞羞答答xxdd| 在线视频欧美日韩精品| 欧美一级片中文字幕| 日韩一卡二卡在线| 麻豆网站免费在线观看| 国产传媒一区在线| 久久久精品视频成人| 久久九九国产视频| 香蕉久久视频| 日韩综合久久| 综合av第一页| 91网站在线看| www.5588.com毛片| 超碰在线免费| 最新国产精品久久久| 欧美日本一区二区三区| 日韩欧美亚洲在线| 樱花视频在线免费观看| 国产超级va在线视频| 国产米奇在线777精品观看| 久久九九免费视频| 亚洲丝袜在线观看| 免费观看h片| 俺要去色综合狠狠| 色综合欧美在线视频区| 久久99精品久久久久久秒播放器| 日韩美女一级片| av在线天堂播放| 精久久久久久久久久久| 精品国产依人香蕉在线精品| 樱花草www在线| 色偷偷网站视频| 日韩中字在线| 欧美v日韩v国产v| 欧美精品99久久| 伊人色综合久久久天天蜜桃| av综合网页| 欧美亚洲高清一区| 97在线免费视频观看| 五月天福利视频| 久久精品免视看国产成人| 亚洲v日本v欧美v久久精品| 麻豆精品传媒视频| 99免费在线视频| 国产a亚洲精品| 一区2区3区在线看| 视频一区视频二区视频| 成人久久精品人妻一区二区三区| 精品久久99| 精品欧美aⅴ在线网站| 午夜精品美女久久久久av福利| 97视频免费在线| 国精品产品一区| 精品久久久一区二区| 一本—道久久a久久精品蜜桃| 不卡视频在线播放| 久久艹国产精品| 91美女精品福利| 亚洲国产精品第一页| 亚洲精品一区中文| 99视频精品全国免费| 黄色免费网站视频| 日本黄色www| 久久成年人视频| 激情综合网av| 国产尤物视频在线| 国产成人精品综合久久久久99 | 污视频网站在线播放| 欧美最新精品| 亚洲曰韩产成在线| 一区二区三区偷拍| 中文天堂最新版本在线观看| 美腿丝袜亚洲图片| 欧美一区二区在线看| 亚洲成人福利在线观看| 天天干人人干| 日韩高清欧美激情| 奇米四色中文综合久久| 国产成人一区二区三区影院在线| 美女扒开腿让男人桶爽久久软| 亚洲图片自拍偷拍| 老子影院午夜伦不卡大全| 国产一级片儿| 日韩视频一区| 97超级碰碰人国产在线观看| 国产成人在线播放视频| 国产a亚洲精品| 日韩一区二区视频在线观看| 亚洲在线观看网站| 欧美日韩视频精品二区| 国产亚洲一区二区三区| 亚洲日本理论电影| 夜夜嗨yeyeh| 美女一区二区久久| 亚洲xxxxx| 亚洲免费视频在线| 国内久久视频| 国产ts一区二区| 国产精品伦理一区| 成人毛片免费看| 性亚洲最疯狂xxxx高清| av一级在线观看| 免费成人蒂法| 精品国产欧美一区二区三区成人| 免费看一级一片| 成人免费91| 亚洲精品综合精品自拍| 污软件在线观看| 4438五月综合| 一本大道亚洲视频| 国产无码精品久久久| 欧美专区一区| 中文字幕欧美日韩va免费视频| 欧美日韩一级大片| crdy在线观看欧美| 亚洲欧美另类自拍| 国产在线成人精品午夜| 一区二区三区四区高清视频| 国产亚洲福利一区| 久久草视频在线| 日韩三级视频| 欧美国产亚洲视频| 国产精品怡红院| 欧美日韩一区二区高清| 成人黄色av播放免费| 人xxxx性xxxxx欧美| 久久精品国产久精国产| 日本一区二区三区视频免费看| 中国xxxx视频播放50| 国产999精品久久| 在线视频福利一区| 中文字幕校园春色| 一区二区三区精品| 韩国三级hd中文字幕有哪些| 成人高清免费在线| 这里只有精品免费| 中文字幕电影av| caoporn成人| 97在线观看视频国产| 黄色三级网站在线观看| 国产精品久久久久久久久久妞妞 | 91日本在线视频| 综合久久一本| 国产一区三区三区| 在线观看18视频网站| 91美女在线| 亚洲国产精品嫩草影院| 亚洲av无码一区东京热久久| 欧美xo影院| 亚洲理论在线a中文字幕| 日日夜夜操视频| 欧美亚洲不卡| 狠狠干一区二区| http://嫩草影院| 亚洲一区电影777| 亚洲精品乱码久久| 96视频在线观看欧美| 欧美国产视频一区二区| 免费av网站观看| 美美哒免费高清在线观看视频一区二区| 欧美一区亚洲二区| 日韩写真在线| 91福利社在线观看| 少妇影院在线观看| 999精品一区| 精品国产免费人成电影在线观...| 色总=综合色| 午夜一区二区三区视频| 日本污视频网站| 精品久久影视| 99国产在线观看| 国产一二三视频| 欧美性猛交xxxx乱大交| 波多野结衣在线网址| 日韩中文首页| 久久青青草原一区二区| 一二三四社区在线视频| 欧美日韩另类国产亚洲欧美一级| 国产主播在线观看| 91久久综合| 欧美成人精品免费| 2020av在线| 久久久国产影院| 亚洲女人天堂a在线播放| 99久久久免费精品国产一区二区 | 日韩精品成人一区二区在线|