找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 13778|回复: 27

在NXT上实现汉字显示

[复制链接]
发表于 2014-6-12 23:26:53 | 显示全部楼层 |阅读模式
本帖最后由 捞屎人 于 2014-6-13 00:11 编辑

NXT上只能显示英文,但是显示汉字也不是不可以,即利用LCD电子屏显示原理可实现点阵汉字显示,代码如下:#define N 6
#define M 24

char wo16S[M][32]={
{0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x02,0x80,0x02,0x80,0x04,0x40,0x04,0x40,0x08,0x20,0x08,0x20,0x10,0x10,0x20,0x08,0x40,0x04,0x80,0x02/*"人",0*/},
{0x02,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x7F,0xF8,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x80,0x01,0x00,0x02,0x00,0x04,0x00,0x18,0x00,0x24,0x00,0x43,0xFE,0x00,0x00/*"之",1*/},
{0x20,0x00,0x10,0x00,0x01,0xFC,0xFC,0x44,0x08,0x44,0x10,0x44,0x10,0x44,0x34,0x44,0x58,0x44,0x94,0x44,0x14,0x44,0x10,0x84,0x10,0x84,0x11,0x04,0x12,0x28,0x14,0x10/*"初",2*/},
{0x10,0x20,0x10,0x20,0x11,0x20,0x11,0x20,0x19,0xFC,0x55,0x20,0x52,0x20,0x50,0x20,0x90,0x20,0x11,0xFC,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x13,0xFE,0x10,0x00/*"性",3*/},
{0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x7F,0xFC,0x03,0x80,0x05,0x40,0x05,0x40,0x09,0x20,0x11,0x10,0x21,0x08,0x4F,0xE4,0x81,0x02,0x01,0x00,0x01,0x00,0x01,0x00/*"本",4*/},
{0x08,0x20,0x04,0x40,0x7F,0xFC,0x01,0x00,0x3F,0xF8,0x01,0x00,0xFF,0xFE,0x11,0x10,0x09,0x20,0xFF,0xFE,0x00,0x00,0x3F,0xF8,0x20,0x08,0x20,0x08,0x3F,0xF8,0x20,0x08/*"善",5*/},
{0x10,0x20,0x10,0x20,0x11,0x20,0x11,0x20,0x19,0xFC,0x55,0x20,0x52,0x20,0x50,0x20,0x90,0x20,0x11,0xFC,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x13,0xFE,0x10,0x00/*"性",6*/},
{0x08,0x00,0x08,0xFC,0x08,0x84,0x08,0x84,0xFE,0x84,0x08,0xFC,0x18,0x84,0x1C,0x84,0x2A,0x84,0x2A,0xFC,0x48,0x84,0x88,0x84,0x08,0x84,0x08,0x84,0x08,0xFC,0x08,0x84/*"相",7*/},
{0x00,0x08,0x20,0x1C,0x11,0xE0,0x11,0x00,0x01,0x00,0x01,0xFE,0xF1,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0x12,0x10,0x12,0x10,0x14,0x10,0x28,0x00,0x47,0xFE,0x00,0x00/*"近",8*/},
{0x00,0x00,0x7F,0xF8,0x00,0x08,0x00,0x08,0x08,0x08,0x04,0x08,0x02,0x08,0x02,0x08,0x00,0x68,0x01,0x88,0x0E,0x08,0x70,0x08,0x20,0x08,0x00,0x08,0x00,0x50,0x00,0x20/*"习",9*/},
{0x08,0x00,0x08,0xFC,0x08,0x84,0x08,0x84,0xFE,0x84,0x08,0xFC,0x18,0x84,0x1C,0x84,0x2A,0x84,0x2A,0xFC,0x48,0x84,0x88,0x84,0x08,0x84,0x08,0x84,0x08,0xFC,0x08,0x84/*"相",10*/},
{0x00,0x00,0x23,0xF8,0x10,0x00,0x10,0x00,0x00,0x00,0x07,0xFC,0xF1,0x20,0x11,0x20,0x11,0x20,0x11,0x20,0x11,0x24,0x12,0x24,0x12,0x24,0x14,0x1C,0x28,0x00,0x47,0xFE/*"远",11*/},
{0x04,0x40,0x04,0x40,0xFF,0xFE,0x04,0x40,0x10,0x00,0x1F,0xF8,0x20,0x08,0x40,0x08,0x9F,0x88,0x10,0x88,0x10,0x88,0x1F,0x88,0x10,0x88,0x00,0x08,0x00,0x50,0x00,0x20/*"苟",12*/},
{0x00,0x00,0x7F,0xFC,0x00,0x80,0x00,0x80,0x01,0x00,0x01,0x00,0x03,0x40,0x05,0x20,0x09,0x10,0x11,0x08,0x21,0x04,0x41,0x04,0x81,0x00,0x01,0x00,0x01,0x00,0x01,0x00/*"不",13*/},
{0x08,0x20,0x08,0x20,0x7E,0xA0,0x09,0x3E,0x0A,0x44,0xFF,0x44,0x08,0x44,0x7E,0xA4,0x24,0x28,0x48,0x28,0x8F,0x10,0x78,0x10,0x08,0x28,0x08,0x48,0x28,0x84,0x11,0x02/*"教",14*/},
{0x10,0x20,0x10,0x20,0x11,0x20,0x11,0x20,0x19,0xFC,0x55,0x20,0x52,0x20,0x50,0x20,0x90,0x20,0x11,0xFC,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x13,0xFE,0x10,0x00/*"性",15*/},
{0x00,0x00,0x3F,0xF0,0x04,0x10,0x04,0x20,0x04,0x20,0x04,0x40,0x04,0x7C,0x04,0x04,0x08,0x04,0x08,0x04,0x08,0x04,0x10,0x04,0x10,0x04,0x20,0x04,0x40,0x28,0x80,0x10/*"乃",16*/},
{0x00,0x10,0x20,0x78,0x13,0xC0,0x10,0x40,0x00,0x40,0x00,0x40,0xF7,0xFE,0x10,0x40,0x10,0x40,0x10,0x40,0x10,0x40,0x10,0x40,0x10,0x40,0x28,0x00,0x47,0xFE,0x00,0x00/*"迁",17*/},
{0x08,0x20,0x08,0x20,0x7E,0xA0,0x09,0x3E,0x0A,0x44,0xFF,0x44,0x08,0x44,0x7E,0xA4,0x24,0x28,0x48,0x28,0x8F,0x10,0x78,0x10,0x08,0x28,0x08,0x48,0x28,0x84,0x11,0x02/*"教",18*/},
{0x02,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x7F,0xF8,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x80,0x01,0x00,0x02,0x00,0x04,0x00,0x18,0x00,0x24,0x00,0x43,0xFE,0x00,0x00/*"之",19*/},
{0x02,0x08,0x21,0x10,0x10,0x00,0x17,0xFC,0x00,0x80,0x03,0xF8,0xF2,0x08,0x13,0xF8,0x12,0x08,0x13,0xF8,0x12,0x08,0x13,0xF8,0x12,0x08,0x28,0x00,0x47,0xFE,0x00,0x00/*"道",20*/},
{0x01,0x00,0x1F,0xF0,0x11,0x10,0x11,0x10,0x1F,0xF0,0x01,0x00,0xFF,0xFE,0x00,0x00,0x1F,0xF0,0x10,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0x02,0x60,0x0C,0x18,0x70,0x04/*"贵",21*/},
{0x00,0x10,0x04,0x10,0x22,0x10,0x21,0x10,0x21,0x10,0x20,0x10,0x20,0x10,0x20,0x20,0x20,0x20,0x20,0x20,0x24,0x40,0x28,0x50,0x30,0x88,0x21,0x04,0x02,0x02,0x04,0x02/*"以",22*/},
{0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x02,0x00,0x02,0x00,0xFF,0xFE,0x04,0x00,0x08,0x00,0x0F,0xF0,0x00,0x10,0x00,0x20,0x06,0x40,0x01,0x80,0x00,0x40,0x00,0x20/*"专",23*/}
};

void Ch(int X,int Y,int n)
{
        for (int i = 0; i < 16; i++)
{
   for (int j = 0; j < 2; j++)
   {
      char ch = wo16S[n][i * 2 + j];
      for (int k = 0; k < 8; k++)
      {
         int x = j * 8+k+16*X;  //X坐标
         int y = 63-i-16*Y;          //Y坐标
        
游客,如果您要查看本帖隐藏内容请回复

         {
           nxtSetPixel(x, y);  //画点操作函数
         }
      }
   }
}
}

task main()
{
for (int i = 0; i < M; i++)
     {
       Ch(i%N,i/N,i);
       wait1Msec(500);
     }
wait10Msec(10000);
}

此次编程利用汉字字模工具生成16*16点阵字模(还未验证fopen是否可用于ROBOTC,所以把字模放在程序里了),然后采用ROBOTC3.61编程完成。入ROBOTC半年了,多数情况是在PC的纯C环境编译成功再移植到ROBOTC,但经常发现数组数据溢出报警,经过这次汉字显示问题发现是因为ROBOTC对指针作为子函数参数不能像在纯C中那么随意自由(具体为什么求高手解答了),所以编程中应尽量避免指针做参数,用全局数组变量绕开指针或数组做参数。

看看效果图:

汉字.gif

file:///c:/users/lirentao/appdata/roaming/360se6/USERDA~1/Temp/DKTHQZ~1.GIF


如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2014-6-13 01:28:16 | 显示全部楼层
以前就做过了,我想问的是,你用的虚拟nxt吗?
http://bbs.cmnxt.com/forum.php?m ... 5&fromuid=31238
(出处: 中文乐高)
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2014-6-13 07:41:49 | 显示全部楼层
谢谢,学习了!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2014-6-13 08:16:42 来自手机 | 显示全部楼层
boylong 发表于 2014-6-13 01:28
以前就做过了,我想问的是,你用的虚拟nxt吗?
http://bbs.cmnxt.com/forum.php?mod=viewthread&tid=11445 ...

robotc做的,没有虚拟nxt,rovotc自带一个nxt视窗,这个完全可以做动画字,毫无压力
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2014-6-13 11:35:51 | 显示全部楼层
强大
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2014-6-13 17:37:40 | 显示全部楼层
高手
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2014-6-13 17:55:27 | 显示全部楼层
领会了。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2014-6-14 11:26:20 | 显示全部楼层
源代码,通过写像素点来显示,可以造字库了。哈哈。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2014-6-14 14:00:35 | 显示全部楼层
厉害啊!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2014-6-14 21:35:30 | 显示全部楼层
这个应该要写蛮久的,不过你的毅力很坚强
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2014-6-21 18:17:22 | 显示全部楼层
顶楼主啦..希望楼主多发精品好帖啦.....
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2014-8-8 16:45:03 | 显示全部楼层
学习一下
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2014-9-12 00:23:30 | 显示全部楼层
学习下
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2014-10-7 09:34:20 | 显示全部楼层
高手啊,几个月了,书我还没有看,程序你就编好了,现在我还看不懂那,以后来学。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2014-10-26 14:46:39 | 显示全部楼层
呵呵呵,看看
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-3-29 07:31 , Processed in 0.112375 second(s), 26 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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