找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2405|回復: 11
打印 上一主題 下一主題
收起左側

單片機+LCD12864突然出現(xiàn)亂碼,字庫會不會壞?

  [復制鏈接]
跳轉到指定樓層
樓主
ID:706567 發(fā)表于 2022-4-16 19:38 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
手里的LCD12864(帶字庫)用的好好的,突然出現(xiàn)亂碼!  于是寫了個測試程序,發(fā)現(xiàn)顯示的漢字不對!程序寫的是“無”,顯示出來的是個 “線”  字這是個什么情況?

單片機源程序如下:
#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ù)據
        {
                   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);        
        }                        

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:149451 發(fā)表于 2022-4-17 06:51 | 只看該作者
感覺是字庫地址編碼器某位或幾位壞了,導致顯示所需漢字地址偏移,不能正確選定漢字。
回復

使用道具 舉報

板凳
ID:121859 發(fā)表于 2022-4-17 08:55 | 只看該作者
如果12864沒問題,可能是數(shù)據線D0~D7可能有虛焊情況;所以可以從這兩個方面去查一下,換一個液晶,或者焊接上再處理一下。
回復

使用道具 舉報

地板
ID:230742 發(fā)表于 2022-4-17 16:39 | 只看該作者
字庫一般不好壞吧。查一下線路吧。只有幾十個漢字會亂碼,需要在程序里處理一下。其他的都還好。
回復

使用道具 舉報

5#
ID:978558 發(fā)表于 2022-4-17 19:23 | 只看該作者
可能是顯示的位置有重合的地方
回復

使用道具 舉報

6#
ID:1018405 發(fā)表于 2022-4-17 20:57 來自觸屏版 | 只看該作者
應該不會壞,重新檢查下程序看看有沒有問題
回復

使用道具 舉報

7#
ID:1010818 發(fā)表于 2022-4-18 00:42 | 只看該作者
個人感覺這種情況應該先看一看是不是電路或者焊接的問題
回復

使用道具 舉報

8#
ID:1013784 發(fā)表于 2022-4-18 09:20 | 只看該作者
看一下線有沒有接對,還有工作電壓有沒有選對
回復

使用道具 舉報

9#
ID:123289 發(fā)表于 2022-4-18 17:23 | 只看該作者
贊同沙發(fā)的意見。
回復

使用道具 舉報

10#
ID:706567 發(fā)表于 2022-4-22 10:29 | 只看該作者
哎。。。。。。。。。!
試了幾次發(fā)現(xiàn)問題了,是干擾屏幕離芯片高頻近了,加了個屏蔽好了,折騰死人!。
回復

使用道具 舉報

11#
ID:494908 發(fā)表于 2022-4-25 02:21 | 只看該作者
無限飛翔 發(fā)表于 2022-4-22 10:29
哎。。。。。。。。。。
試了幾次發(fā)現(xiàn)問題了,是干擾屏幕離芯片高頻近了,加了個屏蔽好了,折騰死人。 ...

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

使用道具 舉報

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

我也遇到了同樣的問題,請問能將解決問題的方法講的具體一點嗎?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表