音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

一個液晶模塊不能正確顯示漢字的問題[自問自答]

作者:mcuatcn 欄目:單片機(jī)
一個液晶模塊不能正確顯示漢字的問題[自問自答]
//液晶模塊漢字顯示問題
//每行顯示15個字符,最多顯示7個漢字,漢字顯示任意位置
void PrintLineNew(BYTE ucLine, CHAR * pszX, BOOL bClear)
{
    BOOL DisplayHaved;
    BOOL HanziBegin;
    BYTE ucIndex;        //循環(huán)次數(shù)
    BYTE LcdDisIndex = 0;    //顯示字符的指針
    BuzzerKey();//
    Msec(50);//
    if(bClear)
    {
        LcdClear();
    }
    SWITCH(ucLine)
    {
        case 0:        
            LcdSetDdramAddress(0);
            break;
        case 1:
        default:
            LcdSetDdramAddress(0x10);        
            break;
    }
    for(ucIndex = 0; ucIndex < 15; ucIndex++)
    {
        if(pszX[LcdDisIndex] == 0)        //字符串結(jié)束返回
        return;    
        else
        {//不知道為什么,這句總是不通過,不只到什么原因?
        //根據(jù)漢字的編碼地址A1A0H~F7FFH顯示8192種GB2312中文字庫字形。
        //所以(pszX[LcdDisIndex] > 0x7F)判斷的就是漢字
        //可是沒有一個通過,不只到什么原因?
            if((pszX[LcdDisIndex] > 0x7F) &&  (ucIndex%2 ==0) )        //開始顯示的是漢字
            {
                if(ucIndex == 14)
                {
                    return;
                }
                HanziBegin  = 1;        
                BuzzerCard();//
                Msec(50);//
            }
            else
            {
                if((pszX[LcdDisIndex] > 0x7F) &&  (ucIndex%2 ==1) )        //顯示的是漢字
                {
                    if(HanziBegin)
                    {
                        HanziBegin  = 0;
                    }
                    else    //在單數(shù)位置出現(xiàn)漢字顯示
                    {
                        LcdLowDisplay('E');
                        DisplayHaved    =    TRUE;
                        BuzzerKey();//
                        Msec(50);//
                    }
                }
                else;
            }
            ;    
            if(DisplayHaved)
            {
                DisplayHaved = FALSE;                    
                //LcdDisIndex++;
            }
            else
            {
                LcdLowDisplay(pszX[LcdDisIndex++]);
            }
        }
    }
}



* - 本貼最后修改時(shí)間:2006-6-9 14:59:20 修改者:mcuatcn

2樓: >>參與討論
mcuatcn
自己頂一下
根據(jù)漢字的編碼地址A1A0H~F7FFH顯示8192種GB2312中文字庫字形。
所以一個字符串中如果它的值 > 0x7F) 是否可以判斷就是漢字呢?
我覺得就是這樣的啊??
可是不知道為什么不通過,
有DX指點(diǎn)一下 謝謝了

3樓: >>參與討論
mcuatcn
再頂一下
難道沒人幫我嗎?



4樓: >>參與討論
mcuatcn
怎么沒人回答??
 
5樓: >>參與討論
mcuatcn
呵呵  我知道了怎么回事了
問題就在這:
void PrintLineNew(BYTE ucLine, CHAR.html">CHAR * pszX, BOOL bClear)
{}

我定義變量 CHAR.html">CHAR * pszX
字符串中的漢字其實(shí)都是存的地址 是 unsigned CHAR.html">CHAR 類型的
怪不得 if(pszX[LcdDisIndex] > 0x7F) 沒有通過呢

#define _MAX_CHAR_ (CHAR)0x7f
#define _MIN_CHAR_ (CHAR)0x80

原來如此~~    ^_^


參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請教用過富士通MBF200大蝦們 其 AD轉(zhuǎn)換時(shí)間問題:
單片機(jī)開發(fā)流程
請大家推薦3.3v供電的紅外發(fā)射和接收管
求助:如何降低EEPROM數(shù)據(jù)丟失的現(xiàn)象
我想做用一個計(jì)數(shù)器讀取按鍵計(jì)數(shù),怎么加硬件防抖
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號