新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機LCD顯示屏

        單片機LCD顯示屏

        作者: 時間:2016-11-21 來源:網絡 收藏
        電路圖:
        代碼如下:
        #include
        #include
        sbit RS=0xA0;
        sbit RW=0xA1;
        sbit E=0xA2;
        void lcd_w_cmd(unsigned char com);
        void lcd_w_dat(unsigned char dat);
        unsigned char lcd_r_start();
        void init();
        void delay(unsigned char t);
        void delay1();
        void GONG_ZI()
        {
        lcd_w_cmd(0x40);
        lcd_w_dat(0x1f);
        lcd_w_cmd(0x41);
        lcd_w_dat(0x1f);
        lcd_w_cmd(0x42);
        lcd_w_dat(0x04);
        lcd_w_cmd(0x43);
        lcd_w_dat(0x04);
        lcd_w_cmd(0x44);
        lcd_w_dat(0x04);
        lcd_w_cmd(0x45);
        lcd_w_dat(0x1f);
        lcd_w_cmd(0x46);
        lcd_w_dat(0x1f);
        lcd_w_cmd(0x47);
        lcd_w_dat(0x00);
        }
        void main()
        {
        unsigned char lcd[]="cgyl2010!!";
        unsigned char lcd1[]="linux kernel!!";
        unsigned char i;
        P0=0xff;
        init();
        delay(255);
        delay(255);
        lcd_w_cmd(0x83);
        delay(255);
        for(i=0;i<10;i++)
        {
        lcd_w_dat(lcd[i]);
        delay(200);
        }
        lcd_w_cmd(0xc1);
        delay(255);
        for(i=0;i<14;i++)
        {
        lcd_w_dat(lcd1[i]);
        delay(200);
        }
        while(1);
        }
        void delay(unsigned char t)
        {
        unsigned char j,i;
        for(i=0;i
        for(j=0;j<50;j++);
        }
        void delay1()
        {
        _nop_();
        _nop_();
        _nop_();
        }
        void init()
        {
        lcd_w_cmd(0x3c);
        lcd_w_cmd(0x0e);
        lcd_w_cmd(0x01);
        lcd_w_cmd(0x06);
        lcd_w_cmd(0x80);
        }
        unsigned char lcd_r_start()
        {
        unsigned char s;
        RW=1;
        delay1();
        RS=0;
        delay1();
        E=1;
        s=P0;
        delay1();
        E=0;
        delay1();
        RW=0;
        delay1();
        return s;
        }
        void lcd_w_cmd(unsigned char com)
        {
        unsigned char i;
        do{
        i=lcd_r_start();
        i=i&0x80;
        delay(2);
        }while(i!=0);
        RW=0;
        delay1();
        RS=0;
        delay1();
        E=1;
        delay1();
        P0=com;
        delay1();
        E=0;
        delay1();
        RW=1;
        delay(255);
        }
        void lcd_w_dat(unsigned char dat)
        {
        unsigned char i;
        do{
        i=lcd_r_start();
        i=i&0x80;
        delay(2);
        }while(i!=0);
        RW=0;
        delay1();
        RS=1;
        delay1();
        E=1;
        delay1();
        P0=dat;
        delay1();
        E=0;
        delay1();
        RW=1;
        delay(255);
        }



        關鍵詞: 單片機LCD顯示

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 九江市| 玉树县| 郯城县| 中山市| 潼南县| 新平| 和顺县| 德化县| 纳雍县| 青铜峡市| 五常市| 廊坊市| 大兴区| 丰镇市| 承德市| 民勤县| 甘泉县| 汝城县| 盘山县| 黄大仙区| 都江堰市| 明溪县| 壶关县| 平昌县| 获嘉县| 锦州市| 澄江县| 安义县| 拉萨市| 海城市| 奉节县| 朔州市| 安溪县| 平远县| 阜新市| 当涂县| 安乡县| 花垣县| 加查县| 梁河县| 山阳县|