新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 從零開始學(xué)單片機(jī)(七)液晶接口

        從零開始學(xué)單片機(jī)(七)液晶接口

        作者: 時(shí)間:2016-11-22 來源:網(wǎng)絡(luò) 收藏
        這里我買的板子上帶有一個(gè)SMC1602A LCM。使用也很簡單很方便,但是還是要看它的使用說明書才行。

        先看看引腳說明,在開發(fā)板上,D0-D7接到P0口上,RS接到P3.5,使能信號E接到P3.6上,讀寫端RW接地(通常不需要讀),沒有結(jié)背光電源

        本文引用地址:http://www.104case.com/article/201611/319878.htm

        RAM要比實(shí)際顯示的多很多(16字×2行),將來做平移就比較方便了。

        時(shí)序圖還是要看的。

        1602的指令碼(用于設(shè)置系統(tǒng)屬性的)

        顯示模式設(shè)定:

        38H(16×2顯示,5×7點(diǎn)陣,8位數(shù)據(jù)接口)

        顯示開關(guān)及光標(biāo)設(shè)置:

        08H+x(x=4:開顯示; x=2:顯示光標(biāo); x=1:光標(biāo)閃爍)

        04H+x(x=2:讀寫一個(gè)字符后地址指針加1,光標(biāo)加1; x=1:當(dāng)寫一個(gè)字符,整屏左移)

        數(shù)據(jù)指針設(shè)置:

        80H+地址嗎(0H-27H,40H-67H)

        其他:

        01H:顯示清屏(數(shù)據(jù)指針清零,顯示清零)

        02H:顯示回車(數(shù)據(jù)指針清零,

        1602初始化過程

        延時(shí)15ms

        寫指令38H(不檢測忙信號)

        延時(shí)5ms

        寫指令38H(不檢測忙信號)

        延時(shí)5ms

        寫指令38H(不檢測忙信號)

        (以后,每次寫指令,讀寫操作都需要檢測忙信號)

        寫指令38H:顯示模式設(shè)置

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

        寫指令01H:顯示清屏

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

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

        #include

        #define LCD_Data P0

        sbit LCD_RS = P3^5;

        sbit LCD_E = P3^4;

        void delay(unsigned int ms);

        void WriteCommand(unsigned char com);

        void WriteData(unsigned char chr);

        void ini_LCD();

        void main(void)

        {

        ini_LCD();

        WriteData(A);

        WriteData(B);

        WriteData(C);

        WriteData(D);

        WriteData(E);

        while(1)

        {

        }

        }

        void delay(unsigned int ms)

        {

        unsigned int Temp;

        while(ms--){Temp=82;while(Temp--);}

        }

        void ini_LCD()

        {

        delay(15);

        WriteCommand(0x38);

        delay(5);

        WriteCommand(0x38);

        delay(5);

        WriteCommand(0x38);

        delay(5);

        WriteCommand(0x38);

        WriteCommand(0x0f);

        WriteCommand(0x06);

        WriteCommand(0x01);

        WriteCommand(0x80);

        }

        void WriteCommand(unsigned char com)

        {

        LCD_RS = 0;

        LCD_Data = com;

        delay(1);

        LCD_E = 1;

        delay(2);

        LCD_E = 0;

        LCD_RS = 1;

        }

        void WriteData(unsigned char chr)

        {

        LCD_RS = 1;

        LCD_Data = chr;

        delay(1);

        LCD_E = 1;

        delay(2);

        LCD_E = 0;

        LCD_RS = 0;

        }



        關(guān)鍵詞: 單片機(jī)液晶接

        評論


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

        關(guān)閉
        主站蜘蛛池模板: 苏州市| 广安市| 敦化市| 龙口市| 兴仁县| 大宁县| 桐庐县| 自贡市| 无棣县| 秦皇岛市| 松江区| 泽州县| 安康市| 荔波县| 江西省| 新和县| 武鸣县| 大同市| 关岭| 婺源县| 大化| 盘山县| 辉县市| 本溪| 青冈县| 云浮市| 延川县| 全椒县| 荥经县| 长顺县| 宝鸡市| 岗巴县| 枣强县| 肇东市| 同江市| 西盟| 呈贡县| 清新县| 临沭县| 响水县| 彰化市|