找回密碼
         注冊會(huì)員
        搜索附件  
        MCU資訊論壇 附件中心 單片機(jī)論壇 51單片機(jī)論壇 5_81113_cc69849fe8110fe.jpg

        5_81113_cc69849fe8110fe.jpg

         

        帶中文字庫320240圖形點(diǎn)陣液晶顯示屏的點(diǎn)亮:




         [p]大家好,第一次在本論壇發(fā)帖,本帖主要介紹一款內(nèi)建中文字庫的液晶模塊,此模塊是由深圳市卓立恩科技公司研發(fā)的新型液晶,主控芯片是RA8806,此芯片功能十分強(qiáng)大,不僅自帶中文字庫,還自帶電阻式觸摸驅(qū)動(dòng)功能,非常適合廣大單片機(jī)愛好者學(xué)習(xí)編程,廢話不多說,現(xiàn)在來介紹這款液晶顯示屏的點(diǎn)亮.
          芯片資料見附件(只有英文的),首先我們應(yīng)該知道怎么樣去看液晶驅(qū)動(dòng)IC的資料,重點(diǎn)在哪里?我的經(jīng)驗(yàn)是1.讀寫時(shí)序,這個(gè)要小心,一般液晶控制芯片的時(shí)序分為8080,6800,根據(jù)規(guī)格書寫出讀寫子程序,我們在寫液晶程序時(shí)有時(shí)候沒有顯示,程序檢查半天發(fā)現(xiàn)是讀寫子程序錯(cuò)誤.2.?dāng)?shù)據(jù)和命令指令寫入規(guī)則.3.顯示存儲(chǔ)器的寫入規(guī)則.4.指令內(nèi)容和作用,要點(diǎn)亮屏一般只要用到幾個(gè)關(guān)鍵的指令就好了.
          下面是引腳定義


            sbit cs1=P2^3; 片選信號(hào),低電平選中有效
            sbit rs=P2^0;  命令和數(shù)據(jù)選擇信號(hào),低寫入的為數(shù)據(jù),高寫如的是指令
            sbit wr=P2^1;  寫信號(hào)
            sbit rd=P2^2;  讀信號(hào)
            sbit busy=P2^4; 忙信號(hào)
            sbit rst=P2^5;  復(fù)位信號(hào)
            #define BUS P1 數(shù)據(jù)口P1作為數(shù)據(jù)輸入口
            首先看讀寫子程序,8806的指令寫入規(guī)則是先將指令寄存器REG#寫入,例如:我們現(xiàn)在要對(duì)WCLR寄存器操作,那么我們就得首先將00H(REG#)寫入,然后將數(shù)據(jù)寫入
            void LCD_CmdWrite(unsigned char cmdaddr)//8080
        { cs1=0;
        rd=1;
        rs=1;
        BUS=cmdaddr;
        wr=0;
        wr=1;
        cs1=1; /8080時(shí)序
        }
        將REG#值寫入程序
        void LCD_DataWrite(unsigned char wrdata)
        { while(busy==0);
        cs1=0;
        rd=1;
        rs=0;
        BUS=wrdata;
        wr=0;
        wr=1;
        cs1=1;
        }
        數(shù)據(jù)寫入子程序
        假設(shè)我們對(duì)WCLR設(shè)置00H的初值,則:

        LCD_CmdWrite(WLCR); //[00H] , Default --> 0x00
        LCD_DataWrite(0x00);
        即可.
        void lcd_inital()
        {
        LCD_CmdWrite(WLCR); //[00H] , Default --> 0x00
        LCD_DataWrite(0x00);

        LCD_CmdWrite(MISC); //[01H] , Default --> 0x00
        LCD_DataWrite(0x08);

        LCD_CmdWrite(ADSR); //[03H] , Default --> 0x00
        LCD_DataWrite(0x00);

        LCD_CmdWrite(INTR); //[0FH] , Default --> 0x00
        LCD_DataWrite(0x00);

        LCD_CmdWrite(WCCR); //[10H] , Default --> 0x00
        LCD_DataWrite(0x00);

        LCD_CmdWrite(CHWI); //[11H] , Default --> 0x00
        LCD_DataWrite(0x00);

        LCD_CmdWrite(MAMR); //[12H] , Default --> 0x11
        LCD_DataWrite(0x11);

        LCD_CmdWrite(AWRR); //[20H] , Default --> 0x27
        LCD_DataWrite(39);

        LCD_CmdWrite(DWWR); //[21H] , Default --> 0x27
        LCD_DataWrite(39);

        LCD_CmdWrite(AWBR); //[30H] , Default --> 0xEF
        LCD_DataWrite(239);

        LCD_CmdWrite(DWHR); //[31H] , Default --> 0xEF
        LCD_DataWrite(239);

        LCD_CmdWrite(AWLR); //[40H] , Default --> 0x00
        LCD_DataWrite(0x00);

        LCD_CmdWrite(AWTR); //[50H] , Default --> 0x00
        LCD_DataWrite(0x00);

        LCD_CmdWrite(CURX); //[60H] , Default --> 0x00
        LCD_DataWrite(0x00);

        LCD_CmdWrite(BGSG); //[61H] , Default --> 0x00
        LCD_DataWrite(0x00);

        LCD_CmdWrite(EDSG); //[62H] , Default --> 0x00
        LCD_DataWrite(0x00);

        LCD_CmdWrite(CURY); //[70H] , Default --> 0x00
        LCD_DataWrite(0x00);

        LCD_CmdWrite(BGCM); //[71H] , Default --> 0x00
        LCD_DataWrite(0x00);

        LCD_CmdWrite(EDCM); //[72H] , Default --> 0x00
        LCD_DataWrite(0x00);

        LCD_CmdWrite(BTMR); //[80H] , Default --> 0x00
        LCD_DataWrite(0x00);

        LCD_CmdWrite(ITCR); //[90H] , Default --> 0x00 需要調(diào)整
        LCD_DataWrite(0x80);

        LCD_CmdWrite(PNTR); //[E0H] , Default --> 0x00
        LCD_DataWrite(0x00);

        LCD_CmdWrite(FNCR); //[F0H] , Default --> 0x00
        LCD_DataWrite(0x00);

        LCD_CmdWrite(FVHT); //[F1H] , Default --> 0x00
        LCD_DataWrite(0x00);
        }
          初始化程序,大家可以參考芯片的規(guī)格書理解

        顯示漢字子程序:

        void display_word(unsigned char code *cha, int count )
        {
        unsigned int iiii=0;
        LCD_CmdWrite(0x00);  
        LCD_DataWrite(0x0c); /文字模式開
        LCD_CmdWrite(0x60);
        LCD_DataWrite(0x00); /設(shè)置x光標(biāo)的位置
        LCD_CmdWrite(0x70);
        LCD_DataWrite(0x00); /設(shè)置y光標(biāo)的位置
        LCD_CmdWrite(0xb0); /寫數(shù)據(jù)模式
        for(iiii=0;iiii<count;iiii++)
        {
        LCD_DataWrite(*cha);
        ++cha;
        delay_nms(1);
        }
        }

        大家可以參考8806規(guī)格書理解
        附件為8806顯示漢字程序
        我的郵箱:
        xuleif1984@yahoo.com.cn



        抱歉,之前程序上傳有失誤,再傳一次
        [ 此貼被fongmj在2009-11-19 12:52重新編輯 ]





        5_81113_cc69849fe8110fe.jpg

        QQ|手機(jī)版|MCU資訊論壇 ( 京ICP備18035221號(hào)-2 )|網(wǎng)站地圖

        GMT+8, 2025-5-5 08:39 , Processed in 0.040471 second(s), 8 queries , Redis On.

        Powered by Discuz! X3.5

        © 2001-2025 Discuz! Team.

        返回頂部
        日本高清在线不卡码ⅴ| 欧美精品中文字幕亚洲专区 | 亚洲精品综合久久| 欧美日韩精品一区二区三区不卡 | 国产色婷婷五月精品综合在线| 2022国产精品福利在线观看| 91精品国产人成网站| 精品欧美一区二区三区久久久| 国产成人精品天堂| 99久久精品免费看国产| 夜夜精品无码一区二区三区| 精品卡一卡二卡乱码高清| 亚洲国产精品久久久久| 亚洲国产精品碰碰| 国产成人精品视频一区二区不卡 | 中文精品久久久久人妻| 久久精品aⅴ无码中文字字幕不卡| 久久青草国产精品一区| 午夜亚洲av永久无码精品| 国产精品视频一区二区三区无码| 国产精品无码永久免费888| 精品国产一区二区三区免费| 精品福利视频一区二区三区 | 日韩精品欧美国产在线| 久久久无码精品亚洲日韩蜜臀浪潮| 免费91麻豆精品国产自产在线观看| 全国精品一区二区在线观看| 久久精品中文字幕无码绿巨人| 国产高清一级毛片精品| 把女的下面扒开添视频| 色综合久久综精品| 在线观看亚洲专区| 精品国产污污免费网站| 中文精品99久久国产| 久久精品国产亚洲网站| 亚洲之色在线v中文字幕app| 国产日韩一区在线精品欧美玲| 精品午夜国产人人福利| 国产精品区一区二区三在线播放| 国产精品亚洲αv天堂无码| 无码日韩精品一区二区三区免费|