在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > LCD1602液晶顯示完全資料

            LCD1602液晶顯示完全資料

            作者: 時間:2012-10-31 來源:網(wǎng)絡(luò) 收藏

            一、關(guān)于

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

            1.管腳:

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

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

            RS為選擇,高電平選擇數(shù)據(jù),低電平選擇指令。

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

            E端為使能端,后面和時序聯(lián)系在一起。

            除此外,D0~D7分別為8位雙向數(shù)據(jù)線。

            2.操作時序:
              

            RS
            R/W
            操作說明
            0
            0
            寫入指令碼D0~D7
            0
            1
            讀取輸出的D0~D7狀態(tài)字
            1
            0
            寫入數(shù)據(jù)D0~D7
            1
            1
            D0~D7讀取數(shù)據(jù)

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

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

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

            3.指令集:

            LCD_1602 初始化指令小結(jié):

            0x38 設(shè)置16*2顯示,5*7點陣,8位數(shù)據(jù)接口

            0x01 清屏

            0x0F 開顯示,顯示光標(biāo),光標(biāo)閃爍

            0x08 只開顯示

            0x0e 開顯示,顯示光標(biāo),光標(biāo)不閃爍

            0x0c 開顯示,不顯示光標(biāo)

            0x06 地址加1,當(dāng)寫入數(shù)據(jù)的時候光標(biāo)右移

            0x02 地址計數(shù)器AC=0;(此時地址為0x80) 光標(biāo)歸原點,但是DDRAM中斷內(nèi)容不變

            0x18 光標(biāo)和顯示一起向左移動

            4.顯示地址:

            點擊瀏覽下一頁

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

            5.讀寫時序:

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

            二、LCD1602程序編寫流程:

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

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

            現(xiàn)舉例如下:

            sbit EN=P3^4;

            sbit RS=P3^5;

            sbit RW=P3^6;

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

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

            延時15ms

            寫指令38H

            延時5ms

            寫指令38H

            延時5ms

            寫指令38H

            延時5ms

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

            (以上都不檢測忙信號)

            (以下都要檢測忙信號)

            寫指令38H

            寫指令08H 關(guān)閉顯示

            寫指令01H 顯示清屏

            寫指令06H 光標(biāo)移動設(shè)置

            寫指令0cH 顯示開及光標(biāo)設(shè)置

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

            4.寫顯示字符的數(shù)據(jù)。

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

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

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

            #includereg52.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"}; //此條語句為顯示字符串時定義的字符串?dāng)?shù)組

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

            void LCD1602()

            {

            EN=0;

            RS=1;

            RW=1;

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

            }


            上一頁 1 2 3 下一頁

            關(guān)鍵詞: LCD1602 液晶顯示 寄存器

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉