新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 1602字符型LCD顯示演示程序

        1602字符型LCD顯示演示程序

        作者: 時間:2016-11-26 來源:網絡 收藏
        #include

        #include

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

        typedef unsigned char BYTE;
        typedef unsigned int WORD;
        typedef bit BOOL ;

        sbit rs= P2^6;//
        sbit rw = P2^5;
        sbit ep = P2^7;

        BYTE code dis1[] = {"welcome!"};
        BYTE code dis2[] = {"www.PRECHIN.com"};

        delay(BYTE ms)
        {// 延時子程序
        BYTE i;
        while(ms--)
        {
        for(i = 0; i< 250; i++)
        {
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        }
        }
        }

        BOOL lcd_bz()
        {// 測試LCD忙碌狀態
        BOOL result;
        rs = 0;
        rw = 1;
        ep = 1;
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        result = (BOOL)(P0 & 0x80);
        ep = 0;
        return result;
        }

        lcd_wcmd(BYTE cmd)
        {// 寫入指令數據到LCD
        while(lcd_bz());
        rs = 0;
        rw = 0;
        ep = 0;
        _nop_();
        _nop_();
        P0 = cmd;
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        ep = 1;
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        ep = 0;
        }

        lcd_pos(BYTE pos)
        {//設定顯示位置
        lcd_wcmd(pos | 0x80);
        }

        lcd_wdat(BYTE dat)
        {//寫入字符顯示數據到LCD
        while(lcd_bz());
        rs = 1;
        rw = 0;
        ep = 0;
        P0 = dat;
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        ep = 1;
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        ep = 0;
        }

        lcd_init()
        {//LCD初始化設定
        lcd_wcmd(0x38);//
        delay(1);
        lcd_wcmd(0x0c);//
        delay(1);
        lcd_wcmd(0x06);//
        delay(1);
        lcd_wcmd(0x01);//清除LCD的顯示內容
        delay(1);
        }

        main()
        {
        BYTE i;
        lcd_init();// 初始化LCD
        delay(10);
        lcd_pos(4);// 設置顯示位置為第一行的第5個字符
        i = 0;
        while(dis1[i] !=

        主站蜘蛛池模板: 阿合奇县| 台中市| 涿州市| 开平市| 凤凰县| 高平市| 资溪县| 谢通门县| 山西省| 黄大仙区| 南宫市| 三门峡市| 师宗县| 巴楚县| 军事| 和田县| 焉耆| 竹溪县| 罗江县| 遂平县| 宜章县| 通许县| 广德县| 香河县| 墨脱县| 封丘县| 静安区| 喀喇沁旗| 迁安市| 长武县| 五华县| 任丘市| 太康县| 裕民县| 台州市| 华容县| 施秉县| 彭水| 南城县| 高陵县| 柯坪县|