新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)驅(qū)動(dòng)1602液晶的C程序

        51單片機(jī)驅(qū)動(dòng)1602液晶的C程序

        作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
        # include

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

        /*****************************************
        電路連接

        P1------DB0~DB7
        P2.0------RS

        P2.1------RW

        P2.2------E

        *****************************************/

        # define LCD_DB P1

        sbit LCD_RS=P2^0;

        sbit LCD_RW=P2^1;

        sbit LCD_E=P2^2;

        /******定義函數(shù)****************/

        # define ucharunsigned char

        # define uint unsigned int

        void LCD_init(void);//聲明初始化函數(shù)

        void LCD_write_command(uchar command);//寫指令函數(shù)

        void LCD_write_data(uchar dat);//寫數(shù)據(jù)函數(shù)

        void LCD_disp_char(uchar x,uchar y,uchar dat);//在某個(gè)屏幕位置上顯示一

        個(gè)字符,X(0-16),y(1-2)

        //void LCD_check_busy(void);//檢查忙函數(shù)。我沒用到此函數(shù),因?yàn)橥ㄟ^率極

        低。

        void delay_n40us(uint n);//延時(shí)函數(shù)

        //********************************

        //*******初始化函數(shù)***************

        void LCD_init(void)

        {

        LCD_write_command(0x38);//設(shè)置8位格式,2行,5x7

        LCD_write_command(0x0c);//整體顯示,關(guān)光標(biāo),不閃爍

        //LCD_write_command(0x06);//設(shè)定輸入方式,增量不移位

        //LCD_write_command(0x01);//清除屏幕顯示

        delay_n40us(100);//實(shí)踐證明,我的LCD1602上,用for循環(huán)200次就能可靠

        完成清屏指令。

        }

        //********************************

        //********寫指令函數(shù)***********設(shè)置先向1602寫入的數(shù)據(jù)為地址*

        void LCD_write_command(uchar dat)

        {

        LCD_DB=dat;

        LCD_RS=0;//指令

        LCD_RW=0;//寫入

        LCD_E=1;//允許

        LCD_E=0;//產(chǎn)生下降沿

        delay_n40us(1);//實(shí)踐證明,我的LCD1602上,用for循環(huán)1次就能完成普通

        寫指令。

        }

        //*******************************

        //********再寫數(shù)據(jù)函數(shù)*****向1602中寫入數(shù)據(jù)********

        void LCD_write_data(uchar dat)

        {

        LCD_DB=dat;

        LCD_RS=1;//數(shù)據(jù)

        LCD_RW=0;//寫入

        LCD_E=1;//允許

        LCD_E=0;//產(chǎn)生下降沿

        delay_n40us(1);

        }


        上一頁(yè) 1 2 下一頁(yè)

        關(guān)鍵詞: 51單片機(jī)1602液晶C程

        評(píng)論


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

        關(guān)閉
        主站蜘蛛池模板: 凌云县| 宁阳县| 石林| 绵竹市| 中宁县| 灌阳县| 衡水市| 定西市| 渝中区| 水富县| 河北省| 锡林郭勒盟| 定兴县| 长武县| 犍为县| 奎屯市| 铁岭市| 武平县| 泸定县| 富川| 黄骅市| 彩票| 民丰县| 枞阳县| 肇州县| 宣城市| 中江县| 瑞昌市| 巢湖市| 新闻| 安塞县| 大理市| 丹巴县| 洪泽县| 运城市| 桃源县| 昌平区| 宁陵县| 枣庄市| 凯里市| 基隆市|