找回密码
 立即注册

QQ登录

只需一步,快速开始

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

为什么12864显示会出现乱码。

[复制链接]
跳转到指定楼层
楼主
ID:67167 发表于 2014-10-10 10:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit rst=P1^0;
sbit cs2=P1^1;
sbit cs1=P1^2;
sbit e=P1^3;
sbit rw=P1^4;
sbit rs=P1^5;
uchar code a[4][32]={/*--  文字:  谢  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x40,0x42,0xCC,0x00,0x00,0xFC,0x56,0x55,0xFC,0x80,0x10,0x10,0xFF,0x10,0x10,0x00,
0x00,0x00,0x3F,0x10,0x2A,0x13,0x4A,0x86,0x7F,0x00,0x43,0x80,0x7F,0x00,0x00,0x00,

/*--  文字:  谢  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x40,0x42,0xCC,0x00,0x00,0xFC,0x56,0x55,0xFC,0x80,0x10,0x10,0xFF,0x10,0x10,0x00,
0x00,0x00,0x3F,0x10,0x2A,0x13,0x4A,0x86,0x7F,0x00,0x43,0x80,0x7F,0x00,0x00,0x00,

/*--  文字:  ,  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x58,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*--  文字:  亲  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x40,0x40,0x44,0x44,0x54,0x64,0x45,0xC6,0x44,0x64,0x54,0x44,0x44,0x40,0x40,0x00,
0x00,0x42,0x22,0x12,0x0A,0x42,0x82,0x7F,0x02,0x02,0x0A,0x12,0x22,0x42,0x00,0x00

};
void delayms(uint q)
{
uint q1;
while(q--)
for(q1=0;q1<100;q1--);
}
void delayus(uint q2)
{
while(q2--);
}
void zhiling();
void shuju();
void chushi();
void qingping();
void DSA();
void xianshi();
void main()
{
chushi();
xianshi();
qingping();
while(1);
}
void zhiling(uint zx)
{
rs=0;
rw=0;
P0=zx;
e=1;
delayms(1);
e=0;
}
void shuju(uint xz)
{
rs=1;
rw=0;
P0=xz;
e=1;
delayms(1);
e=0;
}
void chushi()
{
rst=0;
delayms(1);
rst=1;
cs2=1;
cs1=1;
zhiling(0x3e);
zhiling(0x3f);
}
void qingping()
{
uchar n,m;
cs1=1;
cs2=1;
zhiling(0x3e);
zhiling(0x3f);
for(n=0;n<8;n++)
{
zhiling(0xb8+n);
zhiling(0xc0);
zhiling(0x40);
for(m=0;m<64;m++)
{
shuju(0x00);
}
}
}
void DSA(uchar ye,uchar lie,uchar ge,uchar ping)
{
uchar n1,m1;
if(ping==0)
{
cs1=1;
cs2=0;
}
if(ping==1)
{
cs1=0;
cs2=1;
}
for(n1=0;n1<2;n1++)
{
zhiling(0xb8+n1+ye);
zhiling(0x40+lie);
for(m1=1;m1<16;m1++)
{
shuju(a[ge][m1+n1+16]);
}
}
}
void xianshi()
{
DSA(0,32,0,0);
DSA(0,48,1,0);
DSA(0,0,2,1);
DSA(0,16,3,1);
}

怎样才能 避免 乱码呢。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:7485 发表于 2014-10-10 21:04 | 只看该作者
本帖最后由 ahshmj 于 2014-10-10 21:08 编辑

你用的是哪一种“12864”。如果是带汉字库的,不是这种写法。如果显示屏上有cs1、cs2脚,可以这样写。但是乱码的原因没有实验,不清楚。
回复

使用道具 举报

板凳
ID:67167 发表于 2014-10-12 11:02 | 只看该作者
没字库的
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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