新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51 單片機(jī)綜合學(xué)習(xí)系統(tǒng)之 1602字符型液晶顯示篇

        51 單片機(jī)綜合學(xué)習(xí)系統(tǒng)之 1602字符型液晶顯示篇

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

        10.8.3.2 程序流程圖

        圖10-61 軟件流程圖

        10.8.3.3 軟件代碼

        #include

        #include

        sbit rs= P2^0;

        sbit rw = P2^1;

        sbit ep = P2^2;

        unsigned char code dis1[] = {"www.hificat.com"};

        unsigned char code dis2[] = {"0571-85956028"};

        void delay(unsigned char ms)

        {

        unsigned char i;

        while(ms--)

        {

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

        {

        _nop_();

        _nop_();

        _nop_();

        _nop_();

        }

        }

        }

        bit lcd_bz()

        {

        bit result;

        rs = 0;

        rw = 1;

        ep = 1;

        _nop_();

        _nop_();

        _nop_();

        _nop_();

        result = (bit)(P0 & 0x80);

        ep = 0;

        return result;

        }

        void lcd_wcmd(unsigned char cmd)

        {

        while(lcd_bz());//判斷LCD是否忙碌

        rs = 0;

        rw = 0;

        ep = 0;

        _nop_();

        _nop_();

        P0 = cmd;

        _nop_();

        _nop_();

        _nop_();

        _nop_();

        ep = 1;

        _nop_();

        _nop_();

        _nop_();

        _nop_();

        ep = 0;

        }

        void lcd_pos(unsigned char pos)

        {

        lcd_wcmd(pos | 0x80);

        }

        void lcd_wdat(unsigned char dat)

        {

        while(lcd_bz());//判斷LCD是否忙碌

        rs = 1;

        rw = 0;

        ep = 0;

        P0 = dat;

        _nop_();

        _nop_();

        _nop_();

        _nop_();

        ep = 1;

        _nop_();

        _nop_();

        _nop_();

        _nop_();

        ep = 0;

        }

        void lcd_init()

        {

        lcd_wcmd(0x38);

        delay(1);

        lcd_wcmd(0x0c);

        delay(1);

        lcd_wcmd(0x06);

        delay(1);

        lcd_wcmd(0x01);

        delay(1);

        }

        void main(void)

        {

        unsigned char i;

        lcd_init();// 初始化LCD

        delay(10);

        lcd_pos(0x01);//設(shè)置顯示位置

        i = 0;

        while(dis1[i] != /0)

        {

        lcd_wdat(dis1[i]);//顯示字符

        i++;

        }

        lcd_pos(0x42);// 設(shè)置顯示位置

        i = 0;

        while(dis2[i] != /0)

        {

        lcd_wdat(dis2[i]);// 顯示字符

        i++;

        }

        while(1);

        }


        上一頁 1 2 3 下一頁

        評(píng)論


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

        關(guān)閉
        主站蜘蛛池模板: 怀宁县| 措美县| 遂溪县| 阳曲县| 习水县| 阿拉善盟| 大关县| 通河县| 来凤县| 马公市| 墨江| 保定市| 修水县| 东阳市| 济宁市| 双峰县| 信阳市| 黄梅县| 吉水县| 中超| 都兰县| 余庆县| 长垣县| 涞源县| 库尔勒市| 垣曲县| 洪江市| 卢龙县| 囊谦县| 榆树市| 陆良县| 大丰市| 普格县| 新竹市| 东丰县| 绥棱县| 博兴县| 永川市| 石家庄市| 新巴尔虎左旗| 伽师县|