中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于不帶字庫(kù)的圖形LCD模塊漢字顯示解決方案

        基于不帶字庫(kù)的圖形LCD模塊漢字顯示解決方案

        作者: 時(shí)間:2012-03-28 來(lái)源:網(wǎng)絡(luò) 收藏


        void DispStr(unsigned char row, unsigned char column, unsigned char *str)
        {
        while (*str)
        {
        if (*str > 0xa0) //如果是機(jī)內(nèi)碼
        {
        if (column == 30) //如果是最后一列,則換行
        {
        row ++;
        column = 1;
        }
        DispHZ(row, column, str); //一個(gè)
        column += 2;
        str += 2;
        }
        else //如果是英文字符
        {
        DispChar(row * 2, column, str); //一個(gè)英文字符
        column++;
        str++;
        }
        }
        /*----------------------------------------------------------------
        在指定位置一個(gè)(16*16點(diǎn)陣)
        row:行(1-8), column: 列(1-29)
        str:漢字標(biāo)準(zhǔn)機(jī)內(nèi)碼指針
        LINE_CHAR = 30 一行的字符數(shù)
        -----------------------------------------------------------------*/
        void DispHZ(unsigned char row, unsigned char column, unsigned char *str)
        {
        unsigned char idata i, hz_buf[32];
        unsigned int StartAddr;

        //定位起始行
        StartAddr = (((row - 1) * 16) * LINE_CHAR + (column-1)) + 0x4000;
        GetMatrix(str, hz_buf);
        for (i = 0; i 16; i++)
        {
        InData( (unsigned char) (StartAddr) );
        InData( (unsigned char) (StartAddr>>8) );
        InCmd(0x24);
        LCDInData(hz_buf[i * 2]);
        LCDInCmd(0xc0);
        LCDInData(hz_buf[i * 2 + 1]);
        LCDInCmd(0xc4);
        StartAddr += LINE_CHAR;
        }
        }
        /*-----------------------------------------------------------------------------------
        芯片中取漢字字模數(shù)據(jù)
        s: 漢字標(biāo)準(zhǔn)機(jī)內(nèi)碼指針
        hz_buf: 存放漢字字模數(shù)據(jù)緩沖區(qū)指針
        -------------------------------------------------------------------------------------*/
        void GetMatrix(unsigned char *s, unsigned char *hz_buf)
        {
        unsigned char i ,j, k;
        unsigned long address;

        for (k = 0; k 31; k++)
        {
        i = *s - 0xA1; //計(jì)算區(qū)碼
        j = *(s + 1) - 0xA1; //計(jì)算位碼
        address = (((unsigned long)i * 94) + j)*32 + k; //計(jì)算該漢字在字模芯片中的起始位置

        high_addr = 1;
        P0 = (unsigned char) (address >> 16); //送高位地址
        high_addr = 0;
        P0 = 0xff;
        zk_cs = 0;
        *hz_buf = XBYTE[(unsigned int) address]; //取漢字模數(shù)據(jù)
        hz_buf++;
        zk_cs = 1;
        }
        }

        4 結(jié)束語(yǔ)

        液晶中嵌入中文點(diǎn)陣字模芯片,其最大的特點(diǎn)是可以顯示所有的一、二級(jí)漢字、硬件接口簡(jiǎn)單、軟件編程容易、可混合顯示漢字、英文字符和。作為人機(jī)接口的一個(gè)重要部分,可被廣泛應(yīng)用在工業(yè)儀器儀表、監(jiān)控裝置、保護(hù)裝置及汽車等各種領(lǐng)域中。

        5 參考文獻(xiàn)
        1 徐愛(ài)均彭秀華單片機(jī)高級(jí)語(yǔ)言C51應(yīng)用程序設(shè)計(jì)電子工業(yè)出版社2001
        2 萊德電子 YJ240D液晶手冊(cè)
        3 Toshiba CMOS digital integrated circuit silicon monolithic T6963C dot matrix LCD control LSI, 1997-04-07
        4 GB2312-80《信息交換用漢字編碼字符集》,1980

        LCD顯示屏相關(guān)文章:lcd顯示屏原理


        lcd相關(guān)文章:lcd原理

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

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉