第三十二课--Microduino 16*16点阵汉字右移/zh

来自Microduino Wikipedia
Pkj讨论 | 贡献2014年3月22日 (六) 16:11的版本 语法
跳转至: 导航搜索

概述

该实验实现16*16点阵如何动态向右移动图像,以汉字为例。

材料清单

其他硬件设备

  • USB 数据线
  • LM-2256 系列16 *16 点阵

文档

LM-2256 Series 16 *16 matrix displays:文件:.led 16 16.zip

特色

  • 小巧,大小为40.46*40.46*5mm;
  • 采用2mm圆形LED灯;
  • LED点阵屏黑色背景,美观大方。

原理

  • 每8列为一个移动部分,移动16步。
  • 在0~8步移动时候,右边部分向右移动的同时还要或上左边移动的数据,这样才能完整。
  • 在8~16步移动的时候,直接将左边图形代码放到右边再移动向右移动就好了。

调试

  • 准备
  • 步骤一:下载测试程序,解压并打开;
  • 步骤二:编译通过选择好板卡直接下载即可
  • 步骤三:更换汉字或图片
    • 更换字体

详细参考http://www.microduino.cc/wiki/index.php?title=%E7%AC%AC%E4%BA%8C%E8%AF%BE--Microduino_OLED%E4%BD%BF%E7%94%A8/zh 注意:需要将取模方式更改为:行列式、阳码、逆向。

    • 更换动态显示时间

在loop()语句中,第二个for()语句是用来控制每个动画的执行时间,值越大则时间越长;

语法

  • ”<<”:左移位运算符,从低位移动到高位。

例如: a=0x03;// binary:00000011 b=a<<3// binary:00011000 则b=0x18;

  • ”<<=”左移位运算符,将移位的值赋值给自己

例如: a<<=0x03; 则a==0x18;

  • ”>>”:右移位运算符,从高位位移动到低位。

例如: a=0x30;// binary:00110000 b=a>>3// binary:00000110 则b=0x06;

  • ”|”:按位或,只要有一个数据为1结果则为1,否则为0。
0 0 1 1操作数1    
0 1 0 1操作数2  
--------------
0 1 1 1 结果
  • ”&”:按位与,满足两个数据同时为1结果才为1,否则为0。

0 0 1 1操作数1 0 1 0 1操作数2

--------------
0 0 0 1 结果

结果

通过测试,汉字以半秒左右的时间向右移动一步,玩家可根据自己的喜好修改显示图像及时间。

注意问题

  • 左移和右移运算符的区别;
  • 更换字体时使用取模软件正确设置取模格式。

视频