標(biāo)題: 單片機(jī)+LCD12864突然出現(xiàn)亂碼,字庫會不會壞? [打印本頁]

作者: 無限飛翔    時間: 2022-4-16 19:38
標(biāo)題: 單片機(jī)+LCD12864突然出現(xiàn)亂碼,字庫會不會壞?
手里的LCD12864(帶字庫)用的好好的,突然出現(xiàn)亂碼!  于是寫了個測試程序,發(fā)現(xiàn)顯示的漢字不對!程序?qū)懙氖恰盁o”,顯示出來的是個 “線”  字這是個什么情況?

單片機(jī)源程序如下:
#include<STC89c58RC.h>
#define uchar unsigned char
#define uint  unsigned int

sbit rs=P1^2; //片選信號
sbit rw=P1^1; //液晶讀寫
sbit en=P1^0; //液晶使能

        uchar code table_10[]= "無"; //
//        uchar code table_10[]= {  0xCE, 0xDE     };
void delay(uint z)
        {
                uint x,y;
                for(x=z;x>0;x--)
                        for(y=110;y>0;y--);
        }         
void delay_us(uint z)
        {
                uint x,y;
                for(x=z;x>0;x--)
                        for(y=20;y>0;y--);
        }  
void write_comm(uchar comm)//LED寫指令
        {
                   delay_us(10);
                rs=0;
                rw=0;
                en=1;
                delay_us(10);
                P0=comm;
                delay_us(10);
                en=0;
        }
void write_dat(uchar dat)//LED寫數(shù)據(jù)
        {
                   delay_us(10);
                rs=1;
                rw=0;
                en=1;
                delay_us(10);
                P0=dat;
                delay_us(10);
                en=0;
        }

void init_LED()//LED初始化
        {
                rs=0;
                rw=0;
                en=1;
                write_comm(0x30);
                delay_us(10);
                write_comm(0x0c);
                delay_us(10);
                write_comm(0x01);
        }
void main() //顯示菜單
        {
                uchar i;

                                init_LED();//LED初始化



                        //        write_comm(0x80);
                                for(i=0;i<2;i++)
                                        {
                                           write_dat(table_10[ i]);        [ i]
                                        }
        delay(100);        
        }                        


作者: w1179benp    時間: 2022-4-17 06:51
感覺是字庫地址編碼器某位或幾位壞了,導(dǎo)致顯示所需漢字地址偏移,不能正確選定漢字。
作者: zhxiufan    時間: 2022-4-17 08:55
如果12864沒問題,可能是數(shù)據(jù)線D0~D7可能有虛焊情況;所以可以從這兩個方面去查一下,換一個液晶,或者焊接上再處理一下。
作者: 啤酒瓶子老大    時間: 2022-4-17 16:39
字庫一般不好壞吧。查一下線路吧。只有幾十個漢字會亂碼,需要在程序里處理一下。其他的都還好。
作者: 超級小黑    時間: 2022-4-17 19:23
可能是顯示的位置有重合的地方
作者: 小蔣要努力    時間: 2022-4-17 20:57
應(yīng)該不會壞,重新檢查下程序看看有沒有問題
作者: 阿吧阿吧    時間: 2022-4-18 00:42
個人感覺這種情況應(yīng)該先看一看是不是電路或者焊接的問題
作者: laowang123222    時間: 2022-4-18 09:20
看一下線有沒有接對,還有工作電壓有沒有選對
作者: yzwzfyz    時間: 2022-4-18 17:23
贊同沙發(fā)的意見。
作者: 無限飛翔    時間: 2022-4-22 10:29
哎!。。。。。。。。!
試了幾次發(fā)現(xiàn)問題了,是干擾屏幕離芯片高頻近了,加了個屏蔽好了,折騰死人。!
作者: 米霽113    時間: 2022-4-25 02:21
無限飛翔 發(fā)表于 2022-4-22 10:29
哎!。。。。。。。。!
試了幾次發(fā)現(xiàn)問題了,是干擾屏幕離芯片高頻近了,加了個屏蔽好了,折騰死人。 ...

我也遇到了這種情況,請問怎么加屏蔽。

作者: Heddea—    時間: 2022-5-3 16:00
無限飛翔 發(fā)表于 2022-4-22 10:29
哎。。。。。。。。。!
試了幾次發(fā)現(xiàn)問題了,是干擾屏幕離芯片高頻近了,加了個屏蔽好了,折騰死人。 ...

我也遇到了同樣的問題,請問能將解決問題的方法講的具體一點(diǎn)嗎?




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1