找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1301|回复: 11
打印 上一主题 下一主题
收起左侧

单片机+LCD12864突然出现乱码,字库会不会坏?

  [复制链接]
跳转到指定楼层
楼主
ID:706567 发表于 2022-4-16 19:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手里的LCD12864(带字库)用的好好的,突然出现乱码!  于是写了个测试程序,发现显示的汉字不对啊!程序写的是“无”,显示出来的是个 “线”  字这是个什么情况?

单片机源程序如下:
#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写数据
        {
                   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空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:149451 发表于 2022-4-17 06:51 | 只看该作者
感觉是字库地址编码器某位或几位坏了,导致显示所需汉字地址偏移,不能正确选定汉字。
回复

使用道具 举报

板凳
ID:121859 发表于 2022-4-17 08:55 | 只看该作者
如果12864没问题,可能是数据线D0~D7可能有虚焊情况;所以可以从这两个方面去查一下,换一个液晶,或者焊接上再处理一下。
回复

使用道具 举报

地板
ID:230742 发表于 2022-4-17 16:39 | 只看该作者
字库一般不好坏吧。查一下线路吧。只有几十个汉字会乱码,需要在程序里处理一下。其他的都还好。
回复

使用道具 举报

5#
ID:978558 发表于 2022-4-17 19:23 | 只看该作者
可能是显示的位置有重合的地方
回复

使用道具 举报

6#
ID:1018405 发表于 2022-4-17 20:57 来自手机 | 只看该作者
应该不会坏,重新检查下程序看看有没有问题
回复

使用道具 举报

7#
ID:1010818 发表于 2022-4-18 00:42 | 只看该作者
个人感觉这种情况应该先看一看是不是电路或者焊接的问题
回复

使用道具 举报

8#
ID:1013784 发表于 2022-4-18 09:20 | 只看该作者
看一下线有没有接对,还有工作电压有没有选对
回复

使用道具 举报

9#
ID:123289 发表于 2022-4-18 17:23 | 只看该作者
赞同沙发的意见。
回复

使用道具 举报

10#
ID:706567 发表于 2022-4-22 10:29 | 只看该作者
哎!!!!!!!!!!!
试了几次发现问题了,是干扰屏幕离芯片高频近了,加了个屏蔽好了,折腾死人!!!
回复

使用道具 举报

11#
ID:494908 发表于 2022-4-25 02:21 | 只看该作者
无限飞翔 发表于 2022-4-22 10:29
哎!!!!!!!!!!!
试了几次发现问题了,是干扰屏幕离芯片高频近了,加了个屏蔽好了,折腾死人!! ...

我也遇到了这种情况,请问怎么加屏蔽啊?
回复

使用道具 举报

12#
ID:1023474 发表于 2022-5-3 16:00 | 只看该作者
无限飞翔 发表于 2022-4-22 10:29
哎!!!!!!!!!!!
试了几次发现问题了,是干扰屏幕离芯片高频近了,加了个屏蔽好了,折腾死人!! ...

我也遇到了同样的问题,请问能将解决问题的方法讲的具体一点吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表