找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 17035|回復(fù): 21
收起左側(cè)

LCD12864為何個(gè)別漢字無法正常顯示

  [復(fù)制鏈接]
ID:67796 發(fā)表于 2014-12-9 12:02 | 顯示全部樓層 |閱讀模式
在一段別人寫的數(shù)字轉(zhuǎn)漢字的代碼中看到這樣一段“經(jīng)調(diào)試發(fā)現(xiàn)液晶屏不認(rèn)這一句”,起初以為是這段程序作者自己的液晶硬件上的一些問題導(dǎo)致,沒想在自己的液晶上也出現(xiàn)這樣問題。
此代碼作者將漢字“三”編碼拆兩半輸入問題解決。

  1.         
  2.           if(sel==6)  {lcm_w_word("六");}    //
  3.           if(sel==5)  {lcm_w_word("五");}    //
  4.           if(sel==4)  {lcm_w_word("四");}    //
  5. //        if(sel==3)  {lcm_w_word("三");}//<font color="red">經(jīng)調(diào)試發(fā)現(xiàn)液晶屏不認(rèn)這一句</font>,只好用下一句顯示 三        。需要打補(bǔ)丁才能正確顯示。
  6.         if(sel==3)  {lcm_w_test(1,0xc8);lcm_w_test(1,0xfd);} //此指令等于lcm_w_word("三"); 因?yàn)椤叭钡膬?nèi)碼失效。
  7.           if(sel==2)  {lcm_w_word("二");}    //
  8.          
復(fù)制代碼



有誰知道這是什么問題?

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2014-12-9 13:02 | 顯示全部樓層
解決方案在這里,12864 keil漢字補(bǔ)丁 :http://www.torrancerestoration.com/bbs/dpj-5399-1.html

評(píng)分

參與人數(shù) 1威望 +7 黑幣 +7 收起 理由
exv + 7 + 7 問題解決,原來是地址fd被過濾的緣故~

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:69946 發(fā)表于 2014-12-9 17:08 | 顯示全部樓層
我們用的破解版編譯軟件,難免存在不足,你從網(wǎng)上下一個(gè)補(bǔ)丁,打個(gè)補(bǔ)丁就行了。
回復(fù)

使用道具 舉報(bào)

ID:67796 發(fā)表于 2014-12-9 18:45 | 顯示全部樓層
謝謝各位。

按胡老師提供的補(bǔ)丁修正后已可正常顯示。

搜索了下,此問題與KEIL的正版與否無關(guān)(正版軟件的試用期內(nèi)使用也會(huì)有這個(gè)問題),是這么回事:

經(jīng)過詳細(xì)研究,西文字符在傳遞時(shí)應(yīng)該是ACSII值,一個(gè)字節(jié),數(shù)值小于128;而漢字傳遞的是其機(jī)內(nèi)碼,分高低2個(gè)字節(jié),2個(gè)字節(jié)都大于127,當(dāng)然并小于256。 字符串傳遞參數(shù)值一顯示,可不得了。其驚人之處有:
1."數(shù)","正","過"正確顯示時(shí)其傳參值為:0xca00,0xd500,0xb900;而其正確的機(jī)內(nèi)碼應(yīng)該是:0xcafd,0xd5fd,0xb9fd?磥砥涞臀蛔止(jié)被無情忽視。
2."數(shù)","正","過"單獨(dú)顯示正確,但是后面帶一個(gè)字符或漢字就顯示亂碼了。如"正:"傳參的值為:0xd53a,0x0000;"數(shù) "傳參的值為:0xca20,0x0000。而":"和" "的ASCII值恰好是0x3a,0x20,看來這幾個(gè)漢字是叛變到西文字符中去了,機(jī)內(nèi)碼只有一個(gè)高位字節(jié)了。
3.將傳參值直接賦給漢字顯示函數(shù),如"過"用"0xb9,0xfd"是顯示不了的,只能用"0xb9,0x00"。
4.比較發(fā)現(xiàn),顯示不正常的"數(shù)","正","過"三個(gè)字的低位字節(jié)都是0xfd,而一直顯示正確的"一二"等漢字機(jī)內(nèi)碼的低位字節(jié)都不是0xfd。 莫非keil跟0xfd有不共戴天之仇?


漢字的編碼種類繁多,沒有統(tǒng)一標(biāo)準(zhǔn),出現(xiàn)亂碼非常常見。

記得有這么些個(gè)漢字,寫入TXT文檔后再打開文字就變了。

回復(fù)

使用道具 舉報(bào)

ID:7485 發(fā)表于 2014-12-9 19:25 | 顯示全部樓層
本帖最后由 ahshmj 于 2014-12-9 19:26 編輯

漢字區(qū)位碼的每個(gè)“區(qū)”,都有一個(gè)0x**fd的字,由于在keil中,0xfd被過濾掉,所以不能正確編譯,也就不能正確顯示。解決的方法可以直接使用區(qū)位碼。或者如上幾位所說使用補(bǔ)丁。

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:70653 發(fā)表于 2014-12-17 22:12 | 顯示全部樓層
終于找到解決辦法了,謝謝謝謝
回復(fù)

使用道具 舉報(bào)

ID:70653 發(fā)表于 2014-12-18 20:58 | 顯示全部樓層
補(bǔ)丁程序運(yùn)行了,提示沒有改變。還是顯示不了“三”
回復(fù)

使用道具 舉報(bào)

ID:67992 發(fā)表于 2014-12-18 21:15 | 顯示全部樓層
我WIN7,32位,Keil4下了補(bǔ)丁正常使用,原來不正常。
回復(fù)

使用道具 舉報(bào)

ID:78901 發(fā)表于 2015-6-26 20:17 | 顯示全部樓層
升級(jí)keil

評(píng)分

參與人數(shù) 1黑幣 +35 收起 理由
admin + 35 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:83349 發(fā)表于 2015-6-27 13:00 | 顯示全部樓層
漢字補(bǔ)丁

評(píng)分

參與人數(shù) 1黑幣 +35 收起 理由
admin + 35 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:85547 發(fā)表于 2015-7-13 17:50 | 顯示全部樓層
漢字補(bǔ)丁吧

評(píng)分

參與人數(shù) 1黑幣 +35 收起 理由
admin + 35 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:195884 發(fā)表于 2017-7-30 22:58 | 顯示全部樓層
這個(gè)補(bǔ)丁很好用
回復(fù)

使用道具 舉報(bào)

ID:223214 發(fā)表于 2017-8-12 00:58 | 顯示全部樓層
看看數(shù)組的代碼。
回復(fù)

使用道具 舉報(bào)

ID:244281 發(fā)表于 2017-11-17 18:56 | 顯示全部樓層
剛剛也遇到了這個(gè)問題,漢字“數(shù)”不能正常顯示。
有這個(gè)補(bǔ)丁也沒解決

C51.exe Havn't  Change
回復(fù)

使用道具 舉報(bào)

ID:244281 發(fā)表于 2017-11-17 19:32 | 顯示全部樓層
tyyhmtyyhm 發(fā)表于 2017-11-17 18:56
剛剛也遇到了這個(gè)問題,漢字“數(shù)”不能正常顯示!!
有這個(gè)補(bǔ)丁也沒解決

請(qǐng)問怎么解決呢,用補(bǔ)丁解決不了。版本965
回復(fù)

使用道具 舉報(bào)

ID:250542 發(fā)表于 2017-11-17 20:28 來自手機(jī) | 顯示全部樓層
學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

ID:248123 發(fā)表于 2017-11-17 21:19 | 顯示全部樓層
需要補(bǔ)丁的
回復(fù)

使用道具 舉報(bào)

ID:399668 發(fā)表于 2019-4-6 16:18 | 顯示全部樓層
出現(xiàn)不能顯示的漢字,有可能是ASCII碼中以0xfd結(jié)尾了,被keil編譯時(shí)忽略。 自己手動(dòng)添加就好了。
例如:"正確"單獨(dú)顯示沒問題,一起顯示就亂碼。  我們?cè)谒笪沧约禾砑覾xfd
“正\xfd確\xfd” 則顯示正確了。  
回復(fù)

使用道具 舉報(bào)

ID:506141 發(fā)表于 2019-4-7 11:35 | 顯示全部樓層
打個(gè)補(bǔ)丁啊  我兄
回復(fù)

使用道具 舉報(bào)

ID:476644 發(fā)表于 2019-4-7 12:12 | 顯示全部樓層
要補(bǔ)丁的
回復(fù)

使用道具 舉報(bào)

ID:280228 發(fā)表于 2022-3-24 17:51 | 顯示全部樓層
不用打補(bǔ)丁的解決辦法
百度"關(guān)于12864液晶屏漢字顯示問題"即可得到答案
回復(fù)

使用道具 舉報(bào)

ID:1011864 發(fā)表于 2022-3-25 11:32 | 顯示全部樓層
字庫(kù)里面沒有你要顯示的字
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表