找回密码
 立即注册

QQ登录

只需一步,快速开始

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

LCD12864汉字乱码

[复制链接]
跳转到指定楼层
楼主
ID:277539 发表于 2018-1-28 10:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg52.h>
#include <intrins.h
typedef unsigned char u8;
typedef unsigned int u16;
sbit RS=P0^7;
sbit RW=P0^6;
sbit EN=P0^5;
sbit PSB=P0^4;
sbit RST=P0^3

void delay_ms(u16 t)
{
        u16 y;
        for(;t>0;t--)
                for(y=125;y>0;y--);
}
void delay_us(u8 t)
{
        while(--t);
}
bit read_busy()
{
        bit D7;
        RS=0;
        RW=1;
        EN=0;
        _nop_()
        EN=1;
        _nop_();
        D7=(bit)(P2&0x80);
        _nop_();
        EN=0;
        return D7;
}
void write_cmd(u8 cmd
{
        while(read_busy());
        RS=0;
        RW=0;
        EN=0;
        _nop_();
        EN=1;
        P2=cmd;
        delay_us(40);
        EN=0;
        _nop_();
}

void write_data(u8 dat
{
        while(read_busy());
        RS=1;
        RW=0;
        EN=0;
        _nop_();
        EN=1;
        P2=dat;
        delay_us(40);
        EN=0;
        _nop_();
}

void init()
{
        PSB=1;
        RST=1;
        delay_ms(50);
        write_cmd(0x30);
        delay_us(100);
        write_cmd(0x30);
        delay_us(40);
        write_cmd(0x0c);
        delay_us(100);
        write_cmd(0x01);
        delay_ms(15);
        write_cmd(0x06);
}

void position(u8 m,u8 n)
{
        u8 i,j;
        switch(m)
        {
                case 1:i=0x80;break;
                case 2:i=0x90;break;
                case 3:i=0x88;break;
                case 4:i=0x98;break;
        }
        j=i+n;
        write_cmd(j);
}

void show_poem()
{
        u8 i,j;
        u8 *str[2]={"一二三四五","四五六去"};
        for(i=0;i<4;i++)
        {
                position(i+1,0);
                for(j=0;*(str[i]+j)!='\0';j++)
                        write_data(*(str[i]+j));
        }
}

void main()
{
        init();
        show_poem();
        while(1);
}


程序有什么问题吗?怎么写入·汉字会乱码,写入英文正常显示

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:147459 发表于 2018-1-28 10:31 | 只看该作者
看下你的屏有没有汉字库?
回复

使用道具 举报

板凳
ID:277539 发表于 2018-1-28 18:38 | 只看该作者
xinxiaoci 发表于 2018-1-28 10:31
看下你的屏有没有汉字库?

应该有吧,我用厂家的可以显示中文无乱码
回复

使用道具 举报

地板
ID:7485 发表于 2018-1-28 20:50 | 只看该作者
你是实验吧?把“三”这个字去掉看看是否正常?

区位码汉字库中凡是含有“0FDH”的字(包括“三”)都会这样,每一个“区”里面都有一个这样的字。

这是keil的一个bug。

可以看看:  http://www.51hei.com/bbs/dpj-5399-1.html
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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