Arduino:光立方的开发与实现

Arduino光立方开发环境与基础函数
本文介绍了Arduino光立方的开发,编译环境为win10和arduino1.8.10,硬件涉及光立方组件等。还说明了开发基础,包括数字I/O、时间函数、串口函数等标准库基本函数,最后给出了光立方源码,其原理类似STM32流水灯。

编译环境:win10,arduino1.8.10
硬件支持:光立方组件,移位锁存器(20扩展)74HC595,arduino组件(主板)
打开arduino,点击工具栏选择开发板型号,本博文使用UNO R3,选择Arduino/Genuino Uno
在这里插入图片描述
开发基础(标准库基本函数):(只列出部分需要用到的)
1.数字I/O 14个接口

void PinMode(unsigned char pin,unsigned char mode)

pin:要配置的引脚 mode:设置模式-INPUT/OUTPUT

void digitalWrite(unsigned char pin,unsigned char value)

pin:要配置的引脚 value:HIGH/LOW

int digitalRead(unsigned char pin)

pin:获取电压值的引脚 返回值:获取引脚电压情况HIGH/LOW

2.时间函数

void delay(unsigned long ms)

一个延时函数 ms表示延时时长,单位ms

3.串口函数

void begin(unsigned long baud)

设置串口通信波特率

int available(void)

判断串口是否收到数据

4.模拟I/O 6个接口

void analogReference(type)

配置模拟引脚的参考电压
type:DEFAULT 默认值,参考电压为5V
INTERNAL 低电压模式
EXTERNAL 扩展模式

void analogWrite(unsigned char pin ,int value)

读取引脚的模拟量电压值

void analogRead(unsigned char pin)

通过PWM方式在引脚上输出一个模拟量
pin: A0~A5 value: 0~255

5.高级I/O

下面放光立方源码:(和STM32流水灯原理一样,用数组表示亮灯序列。4 * 4 * 4的光立方模块,效果还行)

#include <arduino.h>
const unsigned char imageTab[] PROGMEM = 
{
  B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0000, B0000, B1000, B0000, B0000, B0000, 10 , 
  B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0000, B0000, B0100, B0000, B0000, B0000, 10 , 
  B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0000, B0000, B0010, B0000, B0000, B0000, 10 , 
  B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0000, B0000, 10 , 
  B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0000, 10 , 
  B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0000, B0000, 10 , 
  B0000, B0000, B0010, B0000, B0000, B1000, B0010, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10 , 
  B0000, B0000, B0110, B0000, B0000, B0100, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10 , 
  B0000, B0100, B0100, B0000, B0000, B0100, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10 , 
  B0000, B0100, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B0000, B0000, B0010, 10 , 
  B0000, B0000, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B0100, B0000, B0010, 10 , 
  B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B0110, B0000, B0010, 10 , 
  B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0110, B0010, B0010, 10 , 
  B0000, B0000, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0000, B0010, B0010, B0010, 10 , 
  B0000, B0000, B1000, B0000, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0010, B0000, B0000, B0010, B0010, 10 , 
  B0000, B0000, B1000, B0010, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0010, 10 , 
  B0000, B0000, B1000, B0110, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0000, 10 , 
  B0000, B0000, B1000, B1110, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10 , 
  B0000, B1000, B1000, B1110, B0000, B0000, B0100, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10 , 
  B0000, B1000, B1000, B1100, B0000, B1000, B0100, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10 , 
  B0000, B1000, B1000, B1000, B0000, B1100, B0100, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10 , 
  B0000, B1000, B1000, B0000, B0000, B1100, B0100, B0100, B0000, B0000, B0000, B0000, B0001, B0000, B0000, B0000, 10 , 
  B0000, B1000, B0000, B0000, B0000, B1100, B0100, B0100, B0000, B0000, B0000, B0100, B0001, B0000, B0000, B0000, 10 , 
  B0000, B0000, B0000, B0000, B0000, B1100, B0100, B0100, B0000, B0000, B0000, B0100, B0001, B0000, B0000, B0100, 10 , 
  B0000, B0000, B0000, B0000, B0000, B0100, B0100, B0100, B0000, B0000, B0000, B0100, B0001, B0000, B0000, B0110, 10 , 
  B0000, B0000, B0000, B0000, B0000, B0000, B0100, B0100, B0000, B0000, B0000, B0100, B0001, B0000, B0000, B0111, 10 , 
  B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B0100, B0001, B0000, B0001, B0111, 10 , 
  B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0100, B0001, B0001, B0001, B0111, 10 , 
  B0000, B0000, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B0000, B0000, B0000, B0011, B0001, B0001, B0011, 10 , 
  B0000, B0000, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B0000, B0000, B0000, B0111, B0001, B0001, B0001, 10 , 
  B0000, B0000, B0000, B0000, B0000, B0100, B0000, B0000, B0100, B0000, B0000, B0000, B0111, B0001, B0001, B0000, 10 , 
  B0000, B0000, B0000, B0000, B0100, B0100, B0000, B0000, B0100, B0000, B0000, B0000, B0111, B0001, B0000, B0000, 10 , 
  B0000, B0000, B0000, B1000, B0100, B0100, B0100, B0000, B0100, B0000, B0000, B0000, B0111, B0000, B0000, B0000, 10 , 
  B0000, B0000, B0000, B1000, B0100, B0100, B0100, B0100, B0100, B0000, B0000, B0000, B0110, B0000, B0000, B0000, 10 , 
  B0000, B0000, B0000, B1100, B0100, B0100, B0100, B0100, B0100, B0000, B0000, B0000, B0100, B0000, B0000, B0000, 10 , 
  B0000, B0000, B0000, B1100, B0100, B0100, B0100, B1100, B0000, B0000, B0000, B0000, B0000, B0001, B0000, B0000, 10 , 
  B0000, B0000, B0000, B1100, B0000, B0100, B0100, B1100, B0000, B0000, B0000, B1000, B0000, B0001, B0000, B0000, 10 , 
  B0000, B0000, B0000, B1100, B0000, B0000, B0100, B1100, B0000, B0000, B0000, B1000, B0000, B0001, B0000, B1000, 10 , 
  B0000, B0000, B0000, B1100, B0000, B0000, B0000, B1100, B0000, B0000, B0000, B1000, B0000, B0001, B1000, B1000, 10 , 
  B0000, B0000, B0000, B1100, B0000, B0000, B0000, B1000, B0000, B0000, B0000, B1000, B0000, B1001, B1000, B1000, 10 , 
  B0000, B0000, B0000, B1000, B0000, B0000, B0000, B1000, B0000, B0000, B0000, B1000, B0000, B1101, B1000, B1000, 10 , 
  B0000, B0000, B0001, B0000, B0000, B0000, B0000, B1000, B0000, B0000, B0000, B1000, B0000, B1111, B1000, B1000, 10 , 
  B0000, B0000, B0001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1000, B0000, B1111, B1001, B1000, 10 , 
  B0000, B0000, B0001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0001, B0000, B0000, B1111, B1001, B1000, 10 , 
  B0100, B0000, B0001, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0001, B0000, B0000, B1111, B1001, B0000, 10 , 
  B0100, B0000, B0011, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0001, B0000, B0000, B1111, B0001, B0000, 10 , 
  B0100, B0000, B0111, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B1111, B0000, 10 , 
  B0100, B0100, B0111, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0111, B0000, 10 , 
  B0100, B0100, B0111, B0000, B0100, B0000, B0001, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B1001, B0000, 10 , 
  B0100, B0100, B0111, B0000, B0100, B0000, B0001, B0000, B0100, B0000, B0001, B0000, B0000, B0000, B1000, B0000, 10 , 
  B0100, B0100, B0111, B0000, B0100, B0000, B0001, B0000, B0100, B0000, B0000, B0000, B0100, B0000, B1000, B0000, 10 , 
  B0100, B0100, B0111, B0000, B0100, B0000, B0001, B0000, B0100, B0000, B0000, B0000, B1100, B0000, B1000, B0000, 10 , 
  B0100, B0100, B0110, B0000, B0100, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B1100, B1000, B1000, B0000, 10 , 
  B0100, B0100, B0100, B0001, B0100, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B1100, B1000, B1000, B1000, 10 , 
  B0100, B0100, B0000, B0001, B0100, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B1100, B1000, B1000, B1100, 10 , 
  B0100, B0000, B0000, B0001, B0100, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B1100, B1000, B1000, B1110, 10 , 
  B0000, B0000, B0000, B0001, B0100, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B1100, B1000, B1000, B1111, 10 , 
  B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0000, B0100, B0000, B0000, B0001, B1100, B1000, B1000, B1111, 10 , 
  B0000, B0000, B0100, B0001, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0001, B1100, B1000, B1000, B1111, 10 , 
  B0000, B0000, B0100, B0011, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0001, B1000, B1000, B1000, B1111, 10 , 
  B0000, B0000, B0100, B0111, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0001, B0000, B1000, B1000, B1111, 10 , 
  B0000, B0100, B0100, B0111, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0001, B0001, B0000, B1000, B1111, 10 , 
  B0100, B0100, B0100, B0111, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0001, B0001, B0000, B0000, B1111, 10 , 
  B0100, B0100, B0100, B0111, B0100, B0000, B0000, B0001, B0000, B0000, B0000, B0001, B0001, B0000, B0000, B0111, 10 , 
  B0100, B0100, B0100, B0111, B0100, B0000, B0000, B0001, B0100, B0000, B0000, B0001, B0001, B0000, B0000, B0011, 10 , 
  B0100, B0100, B0100, B0111, B0100, B0000, B0000, B0001, B0100, B0000, B0000, B0001, B0101, B0000, B0000, B0001, 10 , 
  B0100, B0100, B0100, B0111, B0100, B0000, B0000, B0001, B0100, B0000, B0000, B0001, B0111, B0000, B0000, B0000, 10 , 
  B0100, B0100, B0100, B0111, B0100, B0000, B0000, B0001, B0100, B0000, B0010, B0000, B0111, B0001, B0000, B0000, 10 , 
  B0100, B0100, B0100, B0111, B0100, B0000, B0000, B0000, B0100, B0000, B0010, B0000, B0111, B0001, B0001, B0000, 10 , 
  B0100, B0100, B0100, B0110, B0100, B0000, B0000, B0000, B0100, B0000, B0011, B0000, B0111, B0001, B0001, B0000, 10 , 
  B0100, B0100, B0100, B0100, B0100, B0000, B0000, B0000, B0100, B0000, B0111, B0000, B0111, B0001, B0001, B0001, 10 , 
  B0100, B0100, B0100, B0000, B0100, B0000, B0000, B0000, B0100, B0000, B0111, B0100, B0111, B0001, B0001, B0001, 10 , 
  B0100, B0100, B0000, B0000, B0100, B0000, B0000, B0000, B0100, B0000, B0111, B0100, B0111, B0001, B0001, B0101, 10 , 
  B0100, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B0100, B0000, B0111, B0100, B0111, B0001, B0001, B0111, 10 , 
  B0000, B0100, B0000, B0000, B0100, B0000, B0000, B0000, B0100, B0000, B0111, B0101, B0111, B0001, B0001, B0111, 10 , 
  B0000, B0100, B0000, B0000, B0000, B0000, B0000, B0001, B0100, B0000, B0111, B0101, B0111, B0001, B0001, B0111, 10 , 
  B0000, B0100, B0000, B0001, B0000, B0000, B0000, B0001, B0000, B0000, B0111, B0101, B0111, B0001, B0001, B0111, 10 , 
  B0000, B0100, B0000, B0011, B0000, B0000, B0000, B0001, B0000, B0000, B0111, B0101, B0011, B0001, B0001, B0111, 10 , 
  B0000, B0100, B0000, B0111, B0000, B0000, B0000, B0001, B0000, B0000, B0111, B0101, B0001, B0001, B0001, B0111, 10 , 
  B0000, B0100, B0100, B0111, B0000, B0000, B0000, B0001, B0000, B0000, B0111, B0101, B0000, B0001, B0001, B0111, 10 , 
  B0100, B0100, B0100, B0111, B0000, B0000, B0000, B0001, B0000, B0000, B0111, B0101, B0001, B0000, B0001, B0111, 10 , 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
;

unsigned int HC595_Temp = 0;
unsigned int HC595_SCLK=8;  //SH_CP of 74HC595 
unsigned int HC595_LCLK=9;  //ST_CP of 74HC595 
unsigned int HC595_Data=3;  //DS of 74HC595 
unsigned int HC595_EN = 2;  
unsigned int LED_Pin16= 4;
unsigned int LED_Pin17= 5;
unsigned int LED_Pin18= 6;
unsigned int LED_Pin19= 7;
unsigned int LEDPin[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
unsigned int PlanePin[4] = {4, 5, 6, 7};


//该部分代码可以不用关心,它已经帮我们实现了功能
void LightCube_Init()  //光立方引脚初始化
{
    pinMode( HC595_LCLK, OUTPUT );
    pinMode( HC595_SCLK, OUTPUT );
    pinMode( HC595_Data, OUTPUT );
    pinMode( HC595_EN, OUTPUT );
    
    pinMode( LED_Pin16, OUTPUT );
    pinMode( LED_Pin17, OUTPUT );
    pinMode( LED_Pin18, OUTPUT );
    pinMode( LED_Pin19, OUTPUT );
    
    digitalWrite(LED_Pin16,LOW);
    digitalWrite(LED_Pin17,LOW);
    digitalWrite(LED_Pin18,LOW);
    digitalWrite(LED_Pin19,LOW);
}

void HC595_WriteData(void)  //74HC595写数据
{ 
//   digitalWrite(HC595_LCLK, LOW);    
//   digitalWrite(HC595_EN, HIGH); 
   shiftOut(HC595_Data, HC595_SCLK, LSBFIRST, HC595_Temp);  
   shiftOut(HC595_Data, HC595_SCLK, LSBFIRST, (HC595_Temp >> 8));
   digitalWrite(HC595_LCLK, LOW);    
   digitalWrite(HC595_LCLK, HIGH);
   digitalWrite(HC595_EN, LOW);  
 }

void LightCube_SelfCheckMode(void)  //自检模式
{
    unsigned char i = 0;
    unsigned char j = 0;
    //自检模式
    for(i = 0; i < 4; i++)
    {
        digitalWrite( PlanePin[i], HIGH);
    }
    for(i = 0; i < 4; i++)
    {
        digitalWrite( PlanePin[i], LOW);
        for(j = 0; j < 16; j++)
        {
            HC595_Temp = (1 << j);
            HC595_WriteData();
            delay(200);
        }
        digitalWrite( PlanePin[i], HIGH);
    }
    
    for(i = 0; i < 4; i++)
    {
        digitalWrite( PlanePin[i], LOW);
    }
    for(j = 0; j < 16; j++)
    {
        HC595_Temp = (1 << j);
        HC595_WriteData();
        delay(200);
    }
    
    for(i = 0; i < 2; i++)
    {
        HC595_Temp = 0xFFFF;
        HC595_WriteData();
        delay(500);
        HC595_Temp = 0x0000;
        HC595_WriteData();
        delay(500);
    }
}

 //value  LED位置      charge  LED状态
 void LEDStatus_GetData( int value,int charge)
 {
     if(value >= 16) return;
     if(charge != LOW && charge != HIGH) return;
     if(charge == LOW) 
     {
           switch (value)
           {
               case 0:  HC595_Temp &=~_BV(15); break;
               case 1:  HC595_Temp &=~_BV(14); break;
               case 2:  HC595_Temp &=~_BV(13); break;
               case 3:  HC595_Temp &=~_BV(12); break;
               case 4:  HC595_Temp &=~_BV(11); break;
               case 5:  HC595_Temp &=~_BV(10); break;
               case 6:  HC595_Temp &=~_BV(9); break;
               case 7:  HC595_Temp &=~_BV(8); break;
               case 8:  HC595_Temp &=~_BV(7); break;
               case 9:  HC595_Temp &=~_BV(6); break;
               case 10: HC595_Temp &=~_BV(5); break;
               case 11: HC595_Temp &=~_BV(4); break;
               case 12: HC595_Temp &=~_BV(3); break;
               case 13: HC595_Temp &=~_BV(2); break;
               case 14: HC595_Temp &=~_BV(1); break;
               case 15: HC595_Temp &=~_BV(0); break; 
               default:
               break;  
           }
      }
      else
      {
           switch (value)
           {
               case 0:  HC595_Temp |=_BV(15); break;
               case 1:  HC595_Temp |=_BV(14); break;
               case 2:  HC595_Temp |=_BV(13); break;
               case 3:  HC595_Temp |=_BV(12); break;
               case 4:  HC595_Temp |=_BV(11); break;
               case 5:  HC595_Temp |=_BV(10); break;
               case 6:  HC595_Temp |=_BV(9); break;
               case 7:  HC595_Temp |=_BV(8); break;
               case 8:  HC595_Temp |=_BV(7); break;
               case 9:  HC595_Temp |=_BV(6); break;
               case 10: HC595_Temp |=_BV(5); break;
               case 11: HC595_Temp |=_BV(4); break;
               case 12: HC595_Temp |=_BV(3); break;
               case 13: HC595_Temp |=_BV(2); break;
               case 14: HC595_Temp |=_BV(1); break;
               case 15: HC595_Temp |=_BV(0); break;  
               default:
               break;    
           }   
      }
 }


#define ICStation_delay_MAX 10000  // 特效时间设置

#define CUBESIZE 4
#define PLANESIZE CUBESIZE*CUBESIZE
#define PLANETIME 2222 
#define TIMECONST 20
unsigned int ICStation_delay =ICStation_delay_MAX;
unsigned int PatternIdx =0;
unsigned int PatternMax = sizeof(imageTab);

void LightCube_FreeMode(void) //自由模式
{ 
    int i = 0, j = 0;
    byte PatternBuf[16]; 
    int PatternIdx;
    byte DisplayTime; 
    unsigned long EndTime;
    int plane; 
    int patbufidx; 
    unsigned char ShiftTemp = 0;
    PatternIdx = 0;
    do 
    {
        memcpy_P( PatternBuf, imageTab+PatternIdx, 16 );  //拷贝第一帧数据
        PatternIdx += PLANESIZE;  //索引偏移16
        DisplayTime = pgm_read_byte_near( imageTab + PatternIdx++ );  //读取延时时间
        EndTime = millis() + ((unsigned long) DisplayTime) * TIMECONST;
        while ( millis() < EndTime )   //对一帧数据进行处理
        {
            patbufidx = 0; 
            for (plane=0; plane < 4; plane++) 
            {
                for (i = 0; i < 4; i++)  //四层共阴极全部给1
                {
                    digitalWrite( PlanePin[i], HIGH );
                }
           
                for(j = 0; j < 16; j++)
                {
                    LEDStatus_GetData(LEDPin[j], LOW);
                }
                HC595_WriteData();
                
                for(j = 0; j < 4; j++)
                {
                    for(i = 0; i < 4; i++)
                    {
                         if((PatternBuf[patbufidx] >> i) & B0001)
                         {
                             LEDStatus_GetData(LEDPin[4 * (j % 4) + i], HIGH);
                         }
                    }
                    patbufidx++;
                }
                HC595_WriteData();
                digitalWrite( PlanePin[plane], LOW );
                delayMicroseconds( PLANETIME );
            } 
        }
    } while (DisplayTime > 0);  
}

int AnalogVal = 0;
int AnalogMapVal = 0;
int ShiftVal = 0;
void setup() {
  // put your setup code here, to run once:
  pinMode(0, OUTPUT);
  digitalWrite(0, HIGH);
  Serial.begin(9600);
  analogReference(DEFAULT);  //选择默认5V作为参考电压
  LightCube_Init();
}

void loop() {
    LightCube_FreeMode();
}
很好用光立方程序#include"3d8.h" #include<reg52.h> #include<intrins.h> #define CHAR_NUM 34 uchar code table[CHAR_NUM][8] = {{0xA1,0x3E,0x01,0x81,0x85,0xBD,0xC1,0x01}, //1 辽 {0x04,0x44,0x44,0x7C,0x44,0x44,0x04,0x00}, //2 工 {0x22,0x24,0x28,0xF0,0x28,0x24,0x22,0x02}, //3 大 {0x00,0xFE,0x92,0x92,0x92,0x82,0x82,0x00}, //4 E {0x00,0x00,0x63,0x85,0x89,0x91,0x63,0x00}, //5 2 {0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x00}, //6 - {0x00,0x0C,0x34,0x44,0xFF,0x04,0x04,0x00}, //7 4 {0x00,0x7E,0x81,0x81,0x81,0x81,0x7E,0x00}, //8 0 {0x00,0x81,0x91,0x91,0x91,0x91,0x7E,0x00}, //9 3 {0x11,0x52,0x54,0x78,0x54,0x52,0x11,0x01}, //10 天 {0x11,0x52,0x54,0x78,0x54,0x52,0x11,0x01}, //11 天 {0x11,0x52,0x7C,0x50,0x7F,0x50,0x10,0x00}, //12 开 {0x38,0x7C,0x3E,0x3F,0x3E,0x7C,0x38,0x00}, //13 心 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, //14 {0x00,0x7E,0x81,0x81,0x81,0x89,0x4E,0x08}, //15 G {0x00,0x7E,0x81,0x81,0x81,0x81,0x7E,0x00}, //16 O {0x00,0x7E,0x81,0x81,0x81,0x81,0x7E,0x00}, //17 O {0x00,0xFF,0x81,0x81,0x81,0x42,0x3C,0x00}, //18 D {0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x00}, //19 - {0x00,0xFF,0x01,0x01,0x01,0x01,0x01,0x00}, //20 L {0x00,0xFE,0x01,0x01,0x01,0x01,0xFE,0x00}, //21 U {0x00,0x7E,0x81,0x81,0x81,0x42,0x00,0x00}, //22 C {0x00,0xFF,0x10,0x28,0x44,0x82,0x00,0x00}, //23 K {0x00,0x00,0x70,0xFD,0x70,0x00,0x00,0x00}, //24 ! {0x00,0xFF,0x01,0x01,0x01,0x01,0x01,0x00}, //25 L {0x00,0xFF,0x91,0x91,0x91,0x91,0x81,0x00}, //26 E {0x00,0xFF,0x81,0x81,0x81,0x42,0x3C,0x00}, //27 D {0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x00}, //28 - {0x00,0x62,0x91,0x89,0x89,0x46,0x00,0x00}, //29 S {0x00,0x7E,0x81,0x81,0x81,0x42,0x00,0x00}, //30 C {0x00,0x7F,0x88,0x88,0x8C,0x72,0x01,0x00}, //31 R {0x00,0xFF,0x91,0x91,0x91,0x91,0x81,0x00}, //32 E {0x00,0xFF,0x91,0x91,0x91,0x91,0x81,0x00}, //33 E {0x00,0xFF,0x40,0x30,0x0C,0x02,0xFF,0x00}};//34 N uchar code num_table[10][8] = { {0x00,0x7E,0x81,0x81,0x81,0x81,0x7E,0x00}, ///0 {0x00,0x01,0x41,0xFF,0xFF,0x01,0x01,0x00}, ///1 {0x00,0x00,0x63,0x85,0x89,0x91,0x63,0x00}, ///2 {0x00,0x81,0x91,0x91,0x91,0x91,0x7E,0x00}, ///3 {0x00,0x0C,0x34,0x44,0xFF,0x04,0x04,0x00}, ///4 {0x00,0xE2,0x91,0x91,0x91,0x91,0x8E,0x00}, ///5 {0x00,0x7E,0x91,0x91,0x91,0x91,0x4E,0x00}, ///6 {0x00,0xC0,0x80,0x8F,0x90,0xA0,0xC0,0x00}, ///7 {0x00,0x6E,0x91,0x91,0x91,0x91,0x6E,0x00}, ///8 {0x00,0x72,0x89,0x89,0x89,0x89,0x7E,0x00} ///9 }; uchar code love_table[4][8]= { {0x00,0xFF,0x01,0x01,0x01,0x01,0x01,0x00},//L {0x38,0x44,0x42,0x21,0x42,0x44,0x38,0x00},//O {0x00,0x7C,0x02,0x01,0x01,0x02,0x7C,0x00},//V {0x00,0xFF,0x91,0x91,0x91,0x91,0x81,0x00},//E }; uchar code heart_table[2][8]= { {0x38,0x7C,0x3E,0x3F,0x3E,0x7C,0x38,0x00}, {0x00,0x18,0x3C,0x1E,0x3C,0x18,0x00,0x00},//心形码
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不秃头的程序猿Gabriel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值