OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 14966|回复: 5

LCD显示ASCII字符集const unsigned char asc2_3216()

[复制链接]

18

主题

158

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
400
金钱
400
注册时间
2011-11-23
在线时间
0 小时
发表于 2011-12-7 18:03:55 | 显示全部楼层 |阅读模式
显示ASCII字符集const unsigned char asc2_3216()的时候,我用了1206和1608字符集,现在想用3216的,我想知道在Pctolcd里面是怎么设置的,我看了书上介绍的1206设置,根本得不到那95个字符集,这是我的:
{0x00,0x00,0x00,0x00,0x00,0x6C,0x00,0x6C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*":",0*/
而书上的
{0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x18,0x18,0x00,0x00},/*"!",1*/
我现在不太清楚,这个ASCII字符是怎么设置的~,希望哪位大侠帮帮忙,或者原子大哥,谢谢了~
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2011-12-7 18:08:27 | 显示全部楼层
回复【楼主位】shuilian007:
---------------------------------
1,95个字符不是靠设置,而是要你自己手动输入的,字符哪里来,请百度。
2,32*16的点整肯定比16*8的大了,16*8的点整每个字符需要16个字节,而32*16,则每个字节需要64个字节。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

18

主题

158

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
400
金钱
400
注册时间
2011-11-23
在线时间
0 小时
 楼主| 发表于 2011-12-7 18:18:20 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
首先很感激:
1.95个字符是我知道是手动输入的,我这里输入的是“!”
2.我上面的用的第一个是长*宽=8*16(对应的汉字是16*16),点阵是32,就生成了下面的“!”
{0x00,0x00,0x00,0x00,0x00,0x6C,0x00,0x6C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*":",0*/
而你的程序里面是
{0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x18,0x18,0x00,0x00},/*"!",0*/
我现在疑惑的是,我为什么不能取得你这样点阵,对于“!”

回复 支持 反对

使用道具 举报

18

主题

158

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
400
金钱
400
注册时间
2011-11-23
在线时间
0 小时
 楼主| 发表于 2011-12-7 18:21:45 | 显示全部楼层
我现在想取得const unsigned char asc2_3216()这个函数,首先我要对你这个1608有一个了解,希望原子大哥能够看看,谢谢了~
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2011-12-7 19:19:54 | 显示全部楼层
回复【3楼】shuilian007:
---------------------------------
2,你输入的是":"吧?
先了解我的,应该不难吧?我都图文并茂的说了....
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

18

主题

158

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
400
金钱
400
注册时间
2011-11-23
在线时间
0 小时
 楼主| 发表于 2012-8-1 09:59:51 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
void Test_Show_CH_Font32(u16 x,u16 y,u8 index,u16 color)
{        
u8 temp,t,t1;
u16 y0=y;    
    for(t=0;t<128;t++)//每个32*32的汉字点阵 有128个字节
    {   
if(t<32)temp=tfont32[index*4][t];           //前24个字节
else if(t<64)temp=tfont32[index*4+1][t-32]; //中24个字节
else if(t<96)temp=tfont32[index*4+2][t-64];                  
        else temp=tfont32[index*4+3][t-96];         //后24个字节
    for(t1=0;t1<8;t1++)
{
if(temp&0x80)LCD_Draw_Point(x,y,color);//画实心点
else LCD_Draw_Point(x,y,BACK_COLOR);   //画空白点(使用背景色)
temp<<=1;
y++;
if((y-y0)==32)
{
y=y0;
x++;
break;
}
}    
    }          
}
//测试2个汉字显示函数
void TEST_FONT(void)
{
u8 t;
u8 x;
x=50;
for(t=0;t<4;t++)//6个汉字
{
Test_Show_CH_Font32(x,90,t,RED);
x+=32;
}
}
这是3216的函数,已经测试过
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 03:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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