Подружить Arduino и OLED-дисплей Winstar 128x32

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

Есть такой графический дисплей Winstar WEG010032B
Аннотация к дисплею и даташит на контроллер WS0010.

Техподдержка на просьбу прислать демо-код для Arduino прислала пример на C++:

 

//=============================================================
//          WINSTAR Display Co.,Ltd
//    LCM        :WEG10016
//    Contraller :
//    Author     :Brian lin 2010/12/13
//    history     :
//==============================================================
#include  <reg51.h>
#include  <stdio.h>          // define I/O functions
#include  <INTRINS.H>        // KEIL FUNCTION


#define one   0x80 // DD RAM Address 第一行之起始位置0x00
// 所以設定DD RAM位址為0x80+0x00=0x80
#define two   0xc0 // DD RAM Address 第二行之起始位置0x40
// 所以設定DD RAM位址為0x80+0x40=0xc0
#define Data_BUS  P1
#define TOP   0
#define DOWN  1
#define LEFT    2
#define RIGHT 3
#define ALLCHIP 0x03
#define CHIP1 0x01
#define CHIP2 0x02

sbit    busy    = P1 ^ 7;
sbit    RS      = P2 ^ 4; //for new test board
sbit    RW      = P3 ^ 7;
sbit    Enable  = P3 ^ 4;
sbit    CS1  = P2 ^ 3; //for new test board
sbit    CS2  = P3 ^ 6;

char bdata  flag;
sbit busy_f  = flag ^ 0;

void CheckBusy(void);
void WriteIns(unsigned char);
void WriteData(unsigned char);
void WriteString(unsigned char, unsigned char *);
void Initial_ks0066();
void delay(unsigned char);

void WriteIns(unsigned char instruction)
{
  RS = 0;
  RW = 0;
  Data_BUS = instruction;
  Enable = 1;            //1us
  _nop_();   //1us
  Enable = 0;    //1us
}

void CheckBusy(void)
{
  Data_BUS = 0xff; //訊號由high變為low比較容易,所以全部設為high.
  RS = 0;
  RW = 1;
  do
  {
    Enable = 1;
    busy_f = busy;
    Enable = 0;
  } while (busy_f);
}
//=================================
void WriteCmd(unsigned char instruction)
{
  RS = 0;
  RW = 0;
  Data_BUS = instruction;
  Enable = 1;            //1us
  _nop_();   //1us
  Enable = 0;    //1us

  CheckBusy();
}
//=================================
//=================================
void WriteData(unsigned char data1)
{
  RS = 1;
  RW = 0;
  Data_BUS = data1;
  Enable = 1;
  _nop_();
  Enable = 0;

  CheckBusy();
}
//=================================
//=================================
/*void WriteString(unsigned char count,unsigned char * MSG)
  {
  unsigned char i;

  for(i = 0; i<count;i++)
    WriteData(MSG[i]);
  }
  //=================================
  void Clear(void)
  {
  unsigned char i;
  //First line address
  WriteCmd(one);//X
  WriteCmd(0x40);//Y
  for(i = 0; i<100;i++)
      WriteData(0x00);
  //Second line address
  WriteCmd(one);//X
  WriteCmd(0x41);//Y
  for(i = 0; i<100;i++)
      WriteData(0x00);
  }
  //=================================
  void Fullon(void)
  {
  unsigned char i;

  CS1=1; //disable chip1
  CS2=0; //enable chip2
  //First line address
  WriteCmd(one);//X
  WriteCmd(0x40);//Y
  for(i = 0; i<100;i++)
    WriteData(0xff);
  //Second line address
  WriteCmd(one);//X
  WriteCmd(0x41);//Y
  for(i = 0; i<100;i++)
    WriteData(0xff);
  }*/
//=================================
/*void ShowPic(void)
  {
  unsigned char i,j;

  CS1=1; //disable chip1
  CS2=0;//enable chip2*/

/*  //First line address
  WriteIns(one);//X
  WriteIns(0x40);//Y
  for(i = 0; i<100;i++)
    WriteData(pic[0][i]);

  //Second line address
  WriteIns(one);//X
  WriteIns(0x41);//Y
  for(i = 0; i<100;i++)
    WriteData(pic[1][i]);*/
/*
  for (j=0;j<18;j++)
  {
    //First line address
    WriteCmd(one);
    WriteCmd(0x40);//Y
    for(i = 0; i<16;i++)
      WriteData(pic[j][i]);

    //Second line address
    WriteCmd(one);
    WriteCmd(0x41);//Y
    for(i = 16; i<32;i++)
      WriteData(pic[j][i]);

    delay(1);
  }
  }*/

void Show_Light(unsigned char pic[][32], unsigned char size)
{
  unsigned char i;

  CS1 = 0; //enable chip1
  CS2 = 1; //disable chip2

  //first line
  WriteCmd(one);//X
  WriteCmd(0x40);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[0][i]);

  //second line
  WriteCmd(one);//X
  WriteCmd(0x41);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[1][i]);
}

void Show_Light2(unsigned char pic[][100], unsigned char size)
//void Show_Pic(unsigned char pic[][100],unsigned char size)

{
  unsigned char i;

  CS1 = 0; //enable chip1
  CS2 = 1; //disable chip2

  //first line
  WriteCmd(one);//X
  WriteCmd(0x40);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[0][i]);

  //second line
  WriteCmd(one);//X
  WriteCmd(0x41);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[1][i]);
}

void Show_Pic2(unsigned char pic[][100], unsigned char size)
{
  unsigned char i;

  CS1 = 0; //enable chip1
  CS2 = 1; //disable chip2

  //first line
  WriteCmd(one);//X
  WriteCmd(0x40);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[0][i]);

  //second line
  WriteCmd(one);//X
  WriteCmd(0x41);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[1][i]);

  delay(5);

  CS1 = 1; //disable chip1
  CS2 = 0; //enable chip2

  //first line
  WriteCmd(one);//X
  WriteCmd(0x40);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[2][i]);

  //second line
  WriteCmd(one);//X
  WriteCmd(0x41);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[3][i]);
}

void Show_Pic3(unsigned char pic[][32], unsigned char size, unsigned char order)
{
  unsigned char i, j, c = 0;

  CS1 = 1; //disable chip1
  CS2 = 0; //enable chip2

  if (order == 0)
  {
    for (j = 0; j < 3; j++)
    {
      //first line
      WriteCmd(one + 61); //X
      WriteCmd(0x40);//Y
      for (i = 0; i < size; i++)
        WriteData(pic[c + j][i]);

      //second line
      WriteCmd(one + 61); //X
      WriteCmd(0x41);//Y
      for (i = 0; i < size; i++)
        WriteData(pic[c + 1 + j][i]);
      delay(7);
      c++;
    }
  }
  else
  {
    c = 2;
    for (j = 3; j > 0; j--)
    {
      //first line
      WriteCmd(one + 56); //X
      WriteCmd(0x40);//Y
      for (i = 0; i < size; i++)
        WriteData(pic[j + c - 1][i]);

      //second line
      WriteCmd(one + 56); //X
      WriteCmd(0x41);//Y
      for (i = 0; i < size; i++)
        WriteData(pic[j + c][i]);
      delay(7);
      c--;
    }
  }
}

void Show_Pic4(unsigned char pic[][100], unsigned char size)
{
  unsigned char i, j;

  for (j = 0; j < 4; j++)
  {
    CS1 = 0; //enable chip1
    CS2 = 1; //disable chip2

    //first line
    WriteCmd(one);//X
    WriteCmd(0x40);//Y
    for (i = 0; i < size; i++)
      WriteData(pic[j * 4][i]);

    //second line
    WriteCmd(one);//X
    WriteCmd(0x41);//Y
    for (i = 0; i < size; i++)
      WriteData(pic[1 + j * 4][i]);

    CS1 = 1; //disable chip1
    CS2 = 0; //enable chip2

    //first line
    WriteCmd(one);//X
    WriteCmd(0x40);//Y
    for (i = 0; i < size; i++)
      WriteData(pic[2 + j * 4][i]);

    //second line
    WriteCmd(one);//X
    WriteCmd(0x41);//Y
    for (i = 0; i < size; i++)
      WriteData(pic[3 + j * 4][i]);
    delay(5);
  }
}
void Show_Trigger(unsigned char pic[][8] , unsigned char size, unsigned char dir)
{
  unsigned char i;

  CS1 = 1; //disable chip1
  CS2 = 0; //enable chip2

  //First line address
  if (dir == LEFT)
    WriteCmd(one);
  if (dir == RIGHT)
    WriteCmd(one + 92);
  WriteCmd(0x40);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[0][i]);

  //Second line address
  if (dir == LEFT)
    WriteCmd(one);
  if (dir == RIGHT)
    WriteCmd(one + 92);
  WriteIns(0x41);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[1][i]);
}

unsigned char Move_L(void)
{
  unsigned char i, j, m, value = 0;
  unsigned char nL = 84; //left

  CS1 = 1; //disable chip1
  CS2 = 0; //enable chip2

  for (m = 0; m < 5; m++)
  {
    for (j = 0; j < 18; j++)
    {
      //if ((nL-1)>=0)//nL-1=0表address為0x80
      if ((nL - 1) >= 8) //nL-1=8表address為0x88
      {
        //First line address
        WriteCmd(one + nL - 1);
        WriteCmd(0x40);//Y
        for (i = 0; i < 16; i++)
          WriteData(pic[j][i]);

        //Second line address
        WriteCmd(one + nL - 1);
        WriteCmd(0x41);//Y
        for (i = 16; i < 32; i++)
          WriteData(pic[j][i]);

        delay(1);
        nL--;
      }
    }
  }
  value = nL;
  return value;
}

unsigned char Move_R(void)
{
  unsigned char i, j, m, value = 0;
  unsigned char nR = 0; //right

  CS1 = 1; //disable chip1
  CS2 = 0; //enable chip2

  for (m = 0; m < 5; m++)
  {
    for (j = 0; j < 18; j++)
    {
      if (nR <= 75)
      {
        //First line address
        WriteCmd(one + nR);
        WriteCmd(0x40);//Y
        for (i = 0; i < 16; i++)
          WriteData(pic1[j][i]);

        //Second line address
        WriteCmd(one + nR);
        WriteCmd(0x41);//Y
        for (i = 16; i < 32; i++)
          WriteData(pic1[j][i]);
        delay(1);
        nR++;
      }
    }
  }
  value = nR;
  return value;
}

void Scroll(unsigned char val)
{
  unsigned char i, tmp1 = 0, tmp2 = 0;

  for (i = 0; i < 100; i++)
  {
    if (val == TOP)
      dat[i] = _iror_(dat[i], 1); //left circular shift one bit for int
    else if (val == DOWN)
      dat[i] = _irol_(dat[i], 1); //left circular shift one bit for int
  }
  //First line address
  WriteIns(one);//X
  WriteIns(0x40);//Y
  for (i = 0; i < 100; i++)
  {
    tmp1 = dat[i] >> 8;
    WriteData(tmp1);
  }
  //Second line address
  WriteIns(one);//X
  WriteIns(0x41);//Y
  for (i = 0; i < 100; i++)
  {
    tmp2 = dat[i];
    WriteData(tmp2);
  }
}

//=================================
void Initial_ks0066(void)
{
  //Enable=0;
  CS1 = 0; //enable chip1
  CS2 = 0; //enable chip2
  WriteIns(0x38);//function set
  WriteIns(0x38);//function set
  WriteIns(0x38);//function set
  WriteIns(0x38);//function set
  WriteCmd(0x08);//display off
  WriteCmd(0x06);//entry mode set
  /*WriteCmd(0x13,ALLCHIP);//Character mode
    WriteCmd(0x01,ALLCHIP);//clear display
    WriteCmd(0x02,ALLCHIP);*/
  WriteCmd(0x1f);//Graphic mode //80x16(seg=5x16=80,com=8x2=16)
  WriteCmd(0x01);//clear display
  WriteCmd(0x02);
  WriteCmd(0x0c);//display on


  delay(20);
}
//============================================
//==================================
void delay(unsigned char m)
{
  unsigned char i, j, k;
  for (j = 0; j < m; j++)
  {
    for (k = 0; k < 200; k++)
    {
      for (i = 0; i < 100; i++)
      {
      }
    }
  }
}

void main(void)
{
  unsigned char i, j, k = 0;

  /*Enable=0;
    CS1=0; //enable chip1
    CS2=1;//disable chip2*/
  Initial_ks0066();
  /*Enable=0;
    CS1=1; //disable chip1
    CS2=0;//enable chip2
    Initial_ks0066();*/

  /*Fullon();
    delay(30);*/
  while (1)
  {
    //show strings
    Show_Pic2(pic6, 100);
    delay(15);
    Show_Pic3(pic11, 32, 0);
    delay(30);
    CS1 = 0; //enable chip1
    CS2 = 0; //enable chip2
    WriteCmd(0x01);//clear display

    Show_Light(pic2, 32);
    k = Move_L();
    Show_Trigger(pic3, 8, LEFT);
    for (j = 0; j < 4; j++)
    {
      //First line address
      WriteCmd(one + k);
      WriteCmd(0x40);//Y
      for (i = 0; i < 16; i++)
        WriteData(pic[18 + j][i]);
      //Second line address
      WriteCmd(one + k);
      WriteCmd(0x41);//Y
      for (i = 16; i < 32; i++)
        WriteData(pic[18 + j][i]);
      delay(1);
    }
    Show_Light(pic2_1, 32);
    delay(30);
    CS1 = 0; //enable chip1
    CS2 = 0; //enable chip2
    WriteCmd(0x01);//clear display
    //delay(5);

    Show_Pic2(pic7, 100);
    delay(30);
    for (i = 0; i < 100; i++)
    {
      dat[i] = pic7[0][i];
      dat[i] = dat[i] << 8;
      dat[i] |= pic7[1][i];
    }
    CS1 = 0; //enable chip1
    CS2 = 1; //disable chip2
    for (i = 0; i < 16; i++)
    {
      Scroll(TOP);
      delay(2);
    }
    delay(10);
    for (i = 0; i < 100; i++)
    {
      dat[i] = pic7[2][i];
      dat[i] = dat[i] << 8;
      dat[i] |= pic7[3][i];
    }
    CS1 = 1; //disable chip1
    CS2 = 0; //enable chip2
    for (i = 0; i < 16; i++)
    {
      Scroll(TOP);
      delay(2);
    }
    delay(30);

    Show_Pic2(pic8, 100);
    delay(15);
    Show_Pic3(pic11, 32, 1);
    delay(30);

    k = Move_R();
    Show_Trigger(pic5, 8, RIGHT);
    for (j = 0; j < 4; j++)
    {
      //First line address
      WriteCmd(one + k);
      WriteCmd(0x40);//Y
      for (i = 0; i < 16; i++)
        WriteData(pic1[18 + j][i]);
      //Second line address
      WriteCmd(one + k);
      WriteCmd(0x41);//Y
      for (i = 16; i < 32; i++)
        WriteData(pic1[18 + j][i]);
      delay(1);
    }
    Show_Light2(pic4, 100);
    //Show_Pic(pic4,100);
    delay(30);
    CS1 = 0; //enable chip1
    CS2 = 0; //enable chip2
    WriteCmd(0x01);//clear display

    //Show_Pic2(pic9,100);
    Show_Pic4(pic9, 100);
    delay(30);
    Show_Pic2(pic10, 100);
    delay(30);
    for (i = 0; i < 100; i++)
    {
      dat[i] = pic10[0][i];
      dat[i] = dat[i] << 8;
      dat[i] |= pic10[1][i];
    }
    CS1 = 0; //enable chip1
    CS2 = 1; //disable chip2
    for (i = 0; i < 16; i++)
    {
      Scroll(DOWN);
      delay(2);
    }
    delay(10);
    for (i = 0; i < 100; i++)
    {
      dat[i] = pic10[2][i];
      dat[i] = dat[i] << 8;
      dat[i] |= pic10[3][i];
    }
    CS1 = 1; //disable chip1
    CS2 = 0; //enable chip2
    for (i = 0; i < 16; i++)
    {
      Scroll(DOWN);
      delay(2);
    }
    delay(40);
    CS1 = 0; //enable chip1
    CS2 = 0; //enable chip2
    WriteCmd(0x01);//clear display
  }
}



unsigned int idata dat[100] = {0};
unsigned char code pic[22][32] = { //little green people
  0x00, 0x00, 0x00, 0x04, 0x8E, 0xFE, 0xF4, 0xE0,
  0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x21, 0x20, 0x10, 0x08, 0x07,
  0x03, 0x04, 0x09, 0x10, 0x60, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x8E, 0xFE, 0xF4, 0xE0,
  0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x61, 0x61, 0x50, 0x38, 0x07,
  0x03, 0x04, 0x09, 0x58, 0x60, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x0E, 0xFE, 0xF4, 0xE0,
  0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x40, 0x41, 0x40, 0x38, 0x07,
  0x03, 0x04, 0x08, 0x48, 0x70, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x0E, 0xFE, 0xF4, 0xE0,
  0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x41, 0x58, 0x64, 0x03,
  0x03, 0x2C, 0x28, 0x19, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x0E, 0xFE, 0xF4, 0xE0,
  0xA0, 0x60, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x41, 0xF8, 0xE5, 0x07,
  0x07, 0x0D, 0x39, 0x39, 0x78, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x0E, 0x7E, 0xF4, 0xA0,
  0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xB8, 0xE5, 0x07,
  0x0E, 0x11, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x0E, 0x7E, 0xF4, 0xA0,
  0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x98, 0xA5, 0xE7, 0x0F,
  0x10, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x0E, 0x7E, 0xF4, 0xE0,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x5F,
  0x17, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x8E, 0xBE, 0xF4, 0xE0,
  0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x20, 0x28, 0x37, 0x0F,
  0x5F, 0x90, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x8E, 0xFE, 0xF4, 0xE0,
  0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x11, 0x10, 0x08, 0x04, 0x03,
  0x03, 0x04, 0x09, 0x10, 0x60, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x8E, 0xFE, 0xF4, 0xE0,
  0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x41, 0x40, 0x40, 0x38, 0x07,
  0x03, 0x04, 0x08, 0x48, 0x30, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x8E, 0xFE, 0xF4, 0xE0,
  0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x01, 0x40, 0x58, 0x64, 0x03,
  0x03, 0x2C, 0x29, 0x18, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x0E, 0x7E, 0xF4, 0xA0,
  0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xE5, 0x07,
  0x0E, 0x11, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x04, 0x7E, 0xFE, 0xF4,
  0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xB8, 0xE5, 0xE7,
  0x0F, 0x11, 0x70, 0x60, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x0E, 0x7E, 0xF4, 0xA0,
  0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xB8, 0xA5, 0xE7, 0x0F,
  0x10, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x0E, 0x7E, 0xF4, 0xE0,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x5F,
  0x17, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x8E, 0xBE, 0xF4, 0xE0,
  0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x20, 0x28, 0x37, 0x0F,
  0x5F, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x8E, 0xBE, 0xF4, 0xE0,
  0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x21, 0x20, 0x38, 0x3F, 0x0F,
  0x5F, 0x94, 0xE9, 0x90, 0x60, 0x00, 0x00, 0x00,
  //stop
  0x00, 0x00, 0x00, 0x44, 0x2E, 0xFE, 0xF4, 0xE0,
  0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x20, 0x20, 0x10, 0x08, 0x07,
  0x03, 0x04, 0x09, 0x10, 0x60, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x40, 0x44, 0x2E, 0xFE, 0xF4, 0xE0,
  0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x20, 0x20, 0x10, 0x08, 0x07,
  0x03, 0x04, 0x09, 0x10, 0x60, 0x00, 0x00, 0x00 ,

  0x10, 0x20, 0x40, 0x44, 0x2E, 0xFE, 0xF4, 0xE0,
  0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x20, 0x20, 0x10, 0x08, 0x07,
  0x03, 0x04, 0x09, 0x10, 0x60, 0x00, 0x00, 0x00,

  0x00, 0x80, 0x40, 0x44, 0x2E, 0xFE, 0xF4, 0xE0,
  0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x01, 0x00, 0x00, 0x20, 0x20, 0x10, 0x08, 0x07,
  0x03, 0x04, 0x09, 0x10, 0x60, 0x00, 0x00, 0x00
};

unsigned char code pic1[22][32] = { //reverse for little green people
  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
  0xE0, 0xF4, 0xFE, 0x8E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x60, 0x10, 0x09, 0x04, 0x03,
  0x07, 0x08, 0x10, 0x20, 0x21, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x20,
  0xE0, 0xF4, 0xFE, 0x8E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x60, 0x58, 0x09, 0x04, 0x03,
  0x07, 0x38, 0x50, 0x61, 0x61, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x20,
  0xE0, 0xF4, 0xFE, 0x0E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x70, 0x48, 0x08, 0x04, 0x03,
  0x07, 0x38, 0x40, 0x41, 0x40, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x20,
  0xE0, 0xF4, 0xFE, 0x0E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x19, 0x28, 0x2C, 0x03,
  0x03, 0x64, 0x58, 0x41, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x60, 0xA0,
  0xE0, 0xF4, 0xFE, 0x0E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x78, 0x39, 0x39, 0x0D, 0x07,
  0x07, 0xE5, 0xF8, 0x41, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40,
  0xA0, 0xF4, 0x7E, 0x0E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x11, 0x0E,
  0x07, 0xE5, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
  0xA0, 0xF4, 0x7E, 0x0E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10,
  0x0F, 0xE7, 0xA5, 0x98, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xE0, 0xF4, 0x7E, 0x0E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x17,
  0x5F, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0,
  0xE0, 0xF4, 0xBE, 0x8E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0x90, 0x5F,
  0x0F, 0x37, 0x28, 0x20, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
  0xE0, 0xF4, 0xFE, 0x8E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x60, 0x10, 0x09, 0x04, 0x03,
  0x03, 0x04, 0x08, 0x10, 0x11, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
  0xE0, 0xF4, 0xFE, 0x8E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x30, 0x48, 0x08, 0x04, 0x03,
  0x07, 0x38, 0x40, 0x40, 0x41, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
  0xE0, 0xF4, 0xFE, 0x8E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x18, 0x29, 0x2C, 0x03,
  0x03, 0x64, 0x58, 0x40, 0x01, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40,
  0xA0, 0xF4, 0x7E, 0x0E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x11, 0x0E,
  0x07, 0xE5, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0,
  0xF4, 0xFE, 0x7E, 0x04, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x60, 0x70, 0x11, 0x0F,
  0xE7, 0xE5, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
  0xA0, 0xF4, 0x7E, 0x0E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10,
  0x0F, 0xE7, 0xA5, 0xB8, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xE0, 0xF4, 0x7E, 0x0E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x17,
  0x5F, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0,
  0xE0, 0xF4, 0xBE, 0x8E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x98, 0x5F,
  0x0F, 0x37, 0x28, 0x20, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0,
  0xE0, 0xF4, 0xBE, 0x8E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x60, 0x90, 0xE9, 0x94, 0x5F,
  0x0F, 0x3F, 0x38, 0x20, 0x21, 0x00, 0x00, 0x00,
  //stop
  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
  0xE0, 0xF4, 0xFE, 0x2E, 0x44, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x60, 0x10, 0x09, 0x04, 0x03,
  0x07, 0x08, 0x10, 0x20, 0x20, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
  0xE0, 0xF4, 0xFE, 0x2E, 0x44, 0x40, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x60, 0x10, 0x09, 0x04, 0x03,
  0x07, 0x08, 0x10, 0x20, 0x20, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
  0xE0, 0xF4, 0xFE, 0x2E, 0x44, 0x40, 0x20, 0x10,
  0x00, 0x00, 0x00, 0x60, 0x10, 0x09, 0x04, 0x03,
  0x07, 0x08, 0x10, 0x20, 0x20, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
  0xE0, 0xF4, 0xFE, 0x2E, 0x44, 0x40, 0x80, 0x00,
  0x00, 0x00, 0x00, 0x60, 0x10, 0x09, 0x04, 0x03,
  0x07, 0x08, 0x10, 0x20, 0x20, 0x00, 0x00, 0x01
};

unsigned char code pic2[2][32] = { //light
  0x00, 0x00, 0x40, 0x40, 0x40, 0x42, 0x44, 0x48,
  0x10, 0xC0, 0xE0, 0xF0, 0x7F, 0x7D, 0x3D, 0x05,
  0x05, 0x3D, 0x7D, 0x7F, 0xF0, 0xE0, 0xC0, 0x10,
  0x48, 0x44, 0x42, 0x40, 0x40, 0x40, 0x00, 0x00,
  0x00, 0x00, 0x05, 0x05, 0x05, 0x85, 0x45, 0x25,
  0x10, 0x07, 0x0F, 0x1F, 0x3C, 0x3C, 0x3F, 0x3F,
  0x3C, 0x3F, 0x3F, 0x3C, 0x1F, 0x0F, 0x07, 0x10,
  0x25, 0x45, 0x85, 0x05, 0x05, 0x05, 0x00, 0x00
};

unsigned char code pic2_1[2][32] = { //light
  //light-1
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xC0, 0x20, 0x90, 0x4F, 0x45, 0x3D, 0x05,
  0x05, 0x3D, 0x45, 0x4F, 0x90, 0x20, 0xC0, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x07, 0x08, 0x13, 0x24, 0x24, 0x23, 0x27,
  0x24, 0x23, 0x27, 0x24, 0x13, 0x08, 0x07, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

unsigned char code pic3[2][8] = { //trigger
  0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xC0, 0xC0, 0xC0,
  0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x01, 0x01
};

unsigned char code pic4[2][100] = { //light2
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x84,
  0x88, 0x90, 0x21, 0x02, 0x04, 0xE0, 0x18, 0x04,
  0xC2, 0x22, 0x12, 0x12, 0x12, 0x12, 0x22, 0xC2,
  0x02, 0x12, 0xF2, 0x12, 0x02, 0x02, 0x02, 0x02,
  0x12, 0xF2, 0x12, 0x12, 0x92, 0x32, 0x02, 0x12,
  0xF2, 0x12, 0x12, 0x12, 0x12, 0x22, 0xC2, 0x04,
  0x18, 0xE0, 0x00, 0x04, 0x02, 0x21, 0x90, 0x88,
  0x84, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x01, 0x01, 0x21, 0x11, 0x09, 0x84, 0x40,
  0x20, 0x07, 0x18, 0x20, 0x47, 0x48, 0x50, 0x50,
  0x50, 0x50, 0x48, 0x47, 0x40, 0x50, 0x5F, 0x50,
  0x50, 0x50, 0x50, 0x48, 0x50, 0x5F, 0x51, 0x51,
  0x53, 0x50, 0x48, 0x50, 0x5F, 0x50, 0x50, 0x50,
  0x50, 0x48, 0x47, 0x20, 0x18, 0x07, 0x00, 0x20,
  0x40, 0x84, 0x09, 0x11, 0x21, 0x01, 0x01, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

unsigned char code pic5[2][8] = { //trigger2
  0xC0, 0xC0, 0xC0, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF,
  0x01, 0x01, 0x01, 0x01, 0xFF, 0xFF, 0xFF, 0xFF
};

//unsigned char code pic6[2][100]={ //think our earth
unsigned char code pic6[4][100] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18,
  0x08, 0x08, 0x08, 0xF8, 0x08, 0x08, 0x08, 0x18,
  0x00, 0x08, 0xF8, 0x88, 0x80, 0x80, 0x80, 0x88,
  0xF8, 0x08, 0x00, 0x00, 0x08, 0xF8, 0x08, 0x00,
  0x00, 0x08, 0xF8, 0x20, 0x40, 0x80, 0x00, 0x08,
  0xF8, 0x08, 0x00, 0x00, 0x08, 0xF8, 0x88, 0x80,
  0x40, 0x28, 0x18, 0x08, 0x08, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x10,
  0x08, 0x08, 0x08, 0x08, 0x08, 0x10, 0xE0, 0x00,
  0x00, 0x08, 0xF8, 0x08, 0x00, 0x00, 0x00, 0x08,
  0xF8, 0x08, 0x00, 0x00, 0x08, 0xF8, 0x88, 0x88,
  0x88, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x1F,
  0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x1F, 0x10,
  0x00, 0x00, 0x00, 0x10, 0x1F, 0x10, 0x00, 0x00,
  0x10, 0x1F, 0x10, 0x00, 0x00, 0x10, 0x1F, 0x10,
  0x00, 0x01, 0x02, 0x04, 0x1F, 0x00, 0x00, 0x00,
  0x10, 0x1F, 0x10, 0x01, 0x02, 0x14, 0x18, 0x10,
  0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x07, 0x08, 0x10, 0x10, 0x10, 0x10,
  0x10, 0x08, 0x07, 0x00, 0x00, 0x00, 0x07, 0x08,
  0x10, 0x10, 0x10, 0x08, 0x07, 0x00, 0x00, 0x00,
  0x10, 0x1F, 0x10, 0x00, 0x01, 0x06, 0x18, 0x10,
  0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
  0xF8, 0x88, 0x88, 0xC8, 0x08, 0x18, 0x00, 0x00,
  0x00, 0x00, 0x80, 0x60, 0x18, 0x60, 0x80, 0x00,
  0x00, 0x00, 0x00, 0x08, 0xF8, 0x88, 0x88, 0x88,
  0x88, 0x70, 0x00, 0x00, 0x18, 0x08, 0x08, 0x08,
  0xF8, 0x08, 0x08, 0x08, 0x18, 0x00, 0x08, 0xF8,
  0x88, 0x80, 0x80, 0x80, 0x88, 0xF8, 0x08, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x10, 0x1F, 0x10, 0x10, 0x11,
  0x10, 0x18, 0x04, 0x10, 0x10, 0x1C, 0x13, 0x02,
  0x02, 0x02, 0x13, 0x1C, 0x10, 0x10, 0x00, 0x10,
  0x1F, 0x10, 0x00, 0x01, 0x06, 0x18, 0x10, 0x10,
  0x00, 0x00, 0x00, 0x10, 0x1F, 0x10, 0x00, 0x00,
  0x00, 0x00, 0x10, 0x1F, 0x10, 0x00, 0x00, 0x00,
  0x10, 0x1F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

unsigned char code pic7[4][100] = { //saving energy,carbon reduction
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
  0x90, 0x10, 0x30, 0x00, 0x00, 0x00, 0xC0, 0x30,
  0xC0, 0x00, 0x00, 0x00, 0x10, 0x70, 0x90, 0x00,
  0x90, 0x70, 0x10, 0x10, 0xF0, 0x10, 0x00, 0x10,
  0xF0, 0x40, 0x80, 0x10, 0xF0, 0x10, 0x00, 0xC0,
  0x20, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00, 0x00,
  0x00, 0x10, 0xF0, 0x90, 0xD0, 0x10, 0x30, 0x00,
  0x10, 0xF0, 0x40, 0x80, 0x10, 0xF0, 0x10, 0x00,
  0x10, 0xF0, 0x90, 0xD0, 0x10, 0x30, 0x00, 0x10,
  0xF0, 0x90, 0x90, 0x90, 0x60, 0x00, 0xC0, 0x20,
  0x10, 0x10, 0x10, 0x30, 0x00, 0x10, 0x30, 0xD0,
  0x00, 0xD0, 0x30, 0x10, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x0C, 0x08, 0x09, 0x06, 0x00,
  0x08, 0x0E, 0x0B, 0x02, 0x0B, 0x0E, 0x08, 0x00,
  0x00, 0x00, 0x03, 0x0C, 0x03, 0x00, 0x00, 0x08,
  0x0F, 0x08, 0x00, 0x08, 0x0F, 0x08, 0x01, 0x02,
  0x0F, 0x00, 0x00, 0x03, 0x04, 0x08, 0x08, 0x09,
  0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x08,
  0x09, 0x08, 0x0C, 0x00, 0x08, 0x0F, 0x08, 0x01,
  0x02, 0x0F, 0x00, 0x00, 0x08, 0x0F, 0x08, 0x09,
  0x08, 0x0C, 0x00, 0x08, 0x0F, 0x08, 0x01, 0x06,
  0x08, 0x08, 0x03, 0x04, 0x08, 0x08, 0x09, 0x07,
  0x01, 0x00, 0x00, 0x08, 0x0F, 0x08, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xE0, 0x10, 0x10, 0x30, 0x00, 0x00, 0x00, 0xC0,
  0x30, 0xC0, 0x00, 0x00, 0x00, 0x10, 0xF0, 0x90,
  0x90, 0x60, 0x00, 0x00, 0x10, 0xF0, 0x90, 0x90,
  0x60, 0x00, 0xE0, 0x10, 0x10, 0x10, 0xE0, 0x00,
  0x10, 0xF0, 0x40, 0x80, 0x10, 0xF0, 0x10, 0x00,
  0x00, 0x00, 0x00, 0x10, 0xF0, 0x90, 0x90, 0x60,
  0x00, 0x00, 0x10, 0xF0, 0x90, 0xD0, 0x10, 0x30,
  0x00, 0x10, 0xF0, 0x10, 0x10, 0x20, 0xC0, 0x00,
  0x10, 0xF0, 0x10, 0x00, 0x10, 0xF0, 0x10, 0x00,
  0xE0, 0x10, 0x10, 0x30, 0x00, 0x30, 0x10, 0xF0,
  0x10, 0x30, 0x00, 0x10, 0xF0, 0x10, 0x00, 0xE0,
  0x10, 0x10, 0x10, 0xE0, 0x00, 0x10, 0xF0, 0x40,
  0x80, 0x10, 0xF0, 0x10, 0x03, 0x04, 0x04, 0x02,
  0x00, 0x04, 0x06, 0x01, 0x01, 0x01, 0x06, 0x04,
  0x00, 0x04, 0x07, 0x04, 0x01, 0x06, 0x04, 0x00,
  0x04, 0x07, 0x04, 0x04, 0x03, 0x00, 0x03, 0x04,
  0x04, 0x04, 0x03, 0x00, 0x04, 0x07, 0x04, 0x00,
  0x01, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04,
  0x07, 0x04, 0x01, 0x06, 0x04, 0x00, 0x04, 0x07,
  0x04, 0x05, 0x04, 0x06, 0x00, 0x04, 0x07, 0x04,
  0x04, 0x02, 0x01, 0x00, 0x00, 0x03, 0x04, 0x04,
  0x04, 0x03, 0x00, 0x00, 0x03, 0x04, 0x04, 0x02,
  0x00, 0x00, 0x04, 0x07, 0x04, 0x00, 0x00, 0x04,
  0x07, 0x04, 0x00, 0x03, 0x04, 0x04, 0x04, 0x03,
  0x00, 0x04, 0x07, 0x04, 0x00, 0x01, 0x07, 0x04
};

//unsigned char code pic8[2][100]={ //come with us
unsigned char code pic8[4][100] = { //come with us
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x10,
  0x08, 0x08, 0x08, 0x08, 0x10, 0x38, 0x00, 0x00,
  0xE0, 0x10, 0x08, 0x08, 0x08, 0x08, 0x08, 0x10,
  0xE0, 0x00, 0x00, 0x08, 0xF8, 0x18, 0xE0, 0x00,
  0x00, 0x00, 0xE0, 0x18, 0xF8, 0x08, 0x00, 0x00,
  0x08, 0xF8, 0x88, 0x88, 0xC8, 0x08, 0x18, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
  0x08, 0x78, 0x88, 0x00, 0x08, 0xC8, 0x78, 0x88,
  0x00, 0x08, 0xE8, 0x18, 0x08, 0x00, 0x08, 0xF8,
  0x08, 0x00, 0x18, 0x08, 0x08, 0x08, 0xF8, 0x08,
  0x08, 0x08, 0x18, 0x00, 0x08, 0xF8, 0x88, 0x80,
  0x80, 0x80, 0x88, 0xF8, 0x08, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x07, 0x08, 0x10, 0x10, 0x10, 0x10,
  0x08, 0x04, 0x00, 0x00, 0x07, 0x08, 0x10, 0x10,
  0x10, 0x10, 0x10, 0x08, 0x07, 0x00, 0x00, 0x10,
  0x1F, 0x10, 0x00, 0x07, 0x18, 0x07, 0x00, 0x10,
  0x1F, 0x10, 0x00, 0x00, 0x10, 0x1F, 0x10, 0x10,
  0x11, 0x10, 0x18, 0x04, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18,
  0x07, 0x00, 0x00, 0x07, 0x18, 0x07, 0x00, 0x00,
  0x00, 0x00, 0x10, 0x1F, 0x10, 0x00, 0x00, 0x00,
  0x00, 0x10, 0x1F, 0x10, 0x00, 0x00, 0x00, 0x00,
  0x10, 0x1F, 0x10, 0x00, 0x00, 0x00, 0x10, 0x1F,
  0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x08, 0xF8, 0x08, 0x00, 0x00, 0x00,
  0x08, 0xF8, 0x08, 0x00, 0x00, 0x70, 0x88, 0x88,
  0x08, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
  0x08, 0x10, 0x10, 0x10, 0x08, 0x07, 0x00, 0x00,
  0x00, 0x1C, 0x08, 0x10, 0x11, 0x11, 0x0E, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

//unsigned char code pic9[2][100]={ //OLED
//unsigned char code pic9[4][100]={ //OLED
unsigned char code pic9[16][100] = { //OLED
  //oled1
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
  0x70, 0x08, 0xF0, 0x18, 0x04, 0x02, 0x02, 0x02,
  0x02, 0x02, 0x04, 0x1C, 0xF0, 0x08, 0x70, 0xE0,
  0x00, 0x02, 0x06, 0xFE, 0x00, 0xFE, 0x06, 0x02,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
  0x02, 0xFE, 0x00, 0xFE, 0x82, 0x82, 0x82, 0x82,
  0x82, 0xE2, 0x0E, 0x00, 0x00, 0x02, 0x02, 0xFE,
  0x00, 0xFE, 0x02, 0x02, 0x02, 0x02, 0x06, 0x04,
  0x18, 0xF8, 0x08, 0x70, 0xC0, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x07, 0x0E, 0x10, 0x0F, 0x38,
  0x20, 0x40, 0x40, 0x40, 0x40, 0x40, 0x20, 0x18,
  0x0F, 0x10, 0x0E, 0x07, 0x00, 0x40, 0x40, 0x7F,
  0x00, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
  0x60, 0x30, 0x00, 0x40, 0x40, 0x7F, 0x00, 0x7F,
  0x40, 0x40, 0x40, 0x40, 0x40, 0x43, 0x60, 0x10,
  0x00, 0x40, 0x40, 0x7F, 0x00, 0x7F, 0x40, 0x40,
  0x40, 0x40, 0x40, 0x20, 0x38, 0x2F, 0x10, 0x0E,
  0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  //oled 2
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0,
  0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0xE0, 0xE0,
  0xE0, 0xE0, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
  0xE0, 0xE0, 0xE0, 0xE0, 0x60, 0x40, 0x40, 0xC0,
  0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
  0xF0, 0xF0, 0xF0, 0x30, 0x20, 0x60, 0x60, 0xE0,
  0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xE0, 0xF8, 0xFE, 0xFF, 0x7F, 0xDF,
  0x8F, 0x07, 0x07, 0x3F, 0x07, 0x07, 0x67, 0x3F,
  0x1F, 0xFE, 0xF8, 0xE0, 0x00, 0x00, 0x00, 0x00,
  0x8C, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xD2, 0xD2, 0xFF, 0xFF, 0x0F,
  0x10, 0x38, 0x3C, 0x00, 0x00, 0x07, 0x0E, 0x00,
  0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
  0x00, 0xF0, 0x00, 0x03, 0x27, 0x27, 0xFF, 0xFF,
  0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x7F,
  0xFF, 0xFF, 0xC8, 0x88, 0x41, 0x00, 0x00, 0x00,
  0x00, 0x40, 0x80, 0x11, 0xB1, 0xF1, 0x7F, 0x0F,
  0x00, 0x00, 0x00, 0x00, 0x01, 0xC1, 0xFF, 0xFF,
  0x7F, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x0E,
  0x00, 0x00, 0xE0, 0xC0, 0x00, 0x00, 0xE0, 0xFF,
  0xFF, 0xFF, 0x07, 0x07, 0x07, 0x0F, 0x0F, 0x0F,
  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF,
  0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x07, 0x00, 0x00,
  0xFB, 0xFB, 0x7F, 0x3F, 0x1F, 0x07, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07,
  0x06, 0x0C, 0x0E, 0x0F, 0x0C, 0x0C, 0x07, 0x07,
  0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x0F, 0x0F, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C,
  0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x06, 0x07, 0x03,
  0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x10, 0x10, 0x10,
  0x10, 0x10, 0x1C, 0x1E, 0x1E, 0x1E, 0x00, 0x00,
  0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x04,
  0x04, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  //oled 3
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
  0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xC0, 0xC0,
  0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40,
  0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xE0, 0xE0, 0x80, 0x80, 0x80, 0x80, 0x80,
  0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFC,
  0x0E, 0x03, 0x01, 0x0E, 0x11, 0x17, 0x0E, 0x00,
  0x00, 0x00, 0x01, 0x03, 0x0E, 0xFC, 0xF0, 0x00,
  0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F,
  0xFF, 0x00, 0x00, 0x00, 0x00, 0x83, 0x00, 0x00,
  0x00, 0x0C, 0x12, 0x15, 0x0D, 0x00, 0x0F, 0xFF,
  0xC0, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x06,
  0x0E, 0xFC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x03, 0x0F, 0x1C, 0x30, 0x60, 0x40,
  0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x30,
  0x1C, 0x0F, 0x03, 0x00, 0x00, 0x80, 0x80, 0xFF,
  0x80, 0x80, 0x00, 0x00, 0x30, 0x48, 0xB8, 0xF0,
  0x00, 0x00, 0x80, 0x80, 0xFF, 0x81, 0x81, 0x81,
  0x81, 0x80, 0xB8, 0xB4, 0x44, 0x38, 0x00, 0x00,
  0x00, 0x00, 0x80, 0x83, 0xFF, 0x80, 0x40, 0x40,
  0x40, 0x20, 0x30, 0x18, 0x0C, 0x07, 0x01, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
  0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  //oled 4
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0,
  0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE0,
  0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0,
  0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
  0xC0, 0xC0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80,
  0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
  0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
  0xC0, 0xF0, 0x78, 0x18, 0x0C, 0x04, 0xF4, 0xFC,
  0x0E, 0x03, 0x03, 0x01, 0x01, 0x01, 0x03, 0x03,
  0x0F, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00,
  0x80, 0xFC, 0xFF, 0x3F, 0x01, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x81,
  0x80, 0x80, 0xF8, 0xFF, 0xFF, 0x83, 0x80, 0x80,
  0x80, 0x80, 0x80, 0x40, 0x00, 0x00, 0x00, 0x18,
  0x0E, 0x06, 0x03, 0x83, 0xF9, 0xFD, 0x3D, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03,
  0x07, 0x1F, 0xFF, 0xFE, 0xF8, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x1F, 0x7F, 0xFF, 0xF0, 0xC0,
  0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
  0x80, 0xC0, 0x60, 0x38, 0x1E, 0x0F, 0x07, 0x00,
  0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0x87, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40,
  0x00, 0x00, 0x02, 0x01, 0xE1, 0xFF, 0xFF, 0x8F,
  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x81, 0x80,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF,
  0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x80, 0xC0, 0xE0, 0x70, 0x3C, 0x1F, 0x07,
  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03,
  0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
  0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
  0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x03, 0x07, 0x07, 0x06, 0x06, 0x06,
  0x06, 0x02, 0x02, 0x03, 0x01, 0x01, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

unsigned char code pic10[4][100] = { //save you 50% of power
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x60, 0x90, 0x10, 0x30, 0x00, 0x00,
  0x00, 0xC0, 0x30, 0xC0, 0x00, 0x00, 0x00, 0x10,
  0x70, 0x90, 0x00, 0x90, 0x70, 0x10, 0x00, 0x10,
  0xF0, 0x90, 0xD0, 0x10, 0x30, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
  0x30, 0xD0, 0x00, 0xD0, 0x30, 0x10, 0x00, 0xC0,
  0x20, 0x10, 0x10, 0x10, 0x20, 0xC0, 0x00, 0x10,
  0xF0, 0x10, 0x00, 0x10, 0xF0, 0x10, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x08,
  0x09, 0x06, 0x00, 0x08, 0x0E, 0x0B, 0x02, 0x0B,
  0x0E, 0x08, 0x00, 0x00, 0x00, 0x03, 0x0C, 0x03,
  0x00, 0x00, 0x00, 0x08, 0x0F, 0x08, 0x09, 0x08,
  0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x08,
  0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x08, 0x08,
  0x04, 0x03, 0x00, 0x00, 0x07, 0x08, 0x08, 0x08,
  0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x50, 0x90,
  0x10, 0x00, 0xE0, 0x10, 0x10, 0x10, 0xE0, 0x00,
  0x60, 0x90, 0x60, 0x00, 0x80, 0x40, 0x20, 0x10,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xC0, 0x20, 0x10, 0x10, 0x10, 0x20, 0xC0,
  0x00, 0x10, 0xF0, 0x90, 0xD0, 0x10, 0x30, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
  0xF0, 0x10, 0x10, 0x10, 0xE0, 0x00, 0xC0, 0x20,
  0x10, 0x10, 0x10, 0x20, 0xC0, 0x00, 0x10, 0x70,
  0x90, 0x00, 0x10, 0xF0, 0x10, 0x00, 0x90, 0x70,
  0x10, 0x00, 0x10, 0xF0, 0x90, 0xD0, 0x10, 0x30,
  0x00, 0x10, 0xF0, 0x90, 0x90, 0x90, 0x60, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x08, 0x08, 0x08, 0x08, 0x07, 0x00, 0x07, 0x08,
  0x08, 0x08, 0x07, 0x00, 0x00, 0x08, 0x04, 0x02,
  0x01, 0x00, 0x06, 0x09, 0x06, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08,
  0x08, 0x08, 0x04, 0x03, 0x00, 0x08, 0x0F, 0x08,
  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x08, 0x0F, 0x09, 0x01, 0x01,
  0x00, 0x00, 0x03, 0x04, 0x08, 0x08, 0x08, 0x04,
  0x03, 0x00, 0x00, 0x00, 0x03, 0x0C, 0x03, 0x00,
  0x03, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x08, 0x0F,
  0x08, 0x09, 0x08, 0x0C, 0x00, 0x08, 0x0F, 0x08,
  0x01, 0x06, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00
};

//unsigned char code pic11[2][32]={
unsigned char code pic11[6][32] = {
  //pic1
  0x00, 0xC0, 0x60, 0x70, 0xD8, 0x18, 0x08, 0x80,
  0xC0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x80, 0x60, 0x10, 0x08, 0x88, 0x84, 0x84,
  0x04, 0x04, 0x04, 0x88, 0x88, 0x10, 0x60, 0x80,
  0x00, 0xFF, 0x80, 0x80, 0xFF, 0x82, 0x83, 0xFE,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x07, 0x18, 0x20, 0x41, 0x48, 0x90, 0x90,
  0x91, 0x90, 0x91, 0x48, 0x40, 0x21, 0x18, 0x07,
  //pic2
  0x00, 0xC0, 0x60, 0x70, 0xD8, 0x18, 0x1C, 0x9C,
  0xDE, 0xDE, 0xEE, 0x64, 0x60, 0x00, 0x00, 0x00,
  0x00, 0xC0, 0x30, 0x08, 0x84, 0x04, 0x02, 0x02,
  0x82, 0x02, 0x82, 0x04, 0x04, 0x88, 0x30, 0xC0,
  0x00, 0xFF, 0x80, 0x80, 0xFF, 0x82, 0x83, 0xFE,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x07, 0x18, 0x20, 0x40, 0x51, 0x89, 0x85,
  0x84, 0x84, 0x84, 0x49, 0x51, 0x20, 0x18, 0x07,
  //pic3
  0x00, 0xC0, 0x60, 0x70, 0xD8, 0x18, 0x1C, 0x9C,
  0xDE, 0xDE, 0xFF, 0xEF, 0xEF, 0xF6, 0xF0, 0x60,
  0x00, 0xC0, 0x30, 0x38, 0xBC, 0x3C, 0x1A, 0x02,
  0x82, 0x02, 0x82, 0x04, 0x74, 0xF8, 0xF0, 0xC0,
  0x00, 0xFF, 0x80, 0x80, 0xFF, 0x82, 0x83, 0xFE,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x07, 0x1C, 0x3C, 0x78, 0x51, 0x89, 0x85,
  0x84, 0x84, 0xE4, 0x69, 0x71, 0x38, 0x19, 0x07
};

Разница невелика, преобразуем код для Arduino:

#define  one   0x80 // DD RAM Address 第一行之起始位置0x00
// 所以設定DD RAM位址為0x80+0x00=0x80
#define two   0xc0 // DD RAM Address 第二行之起始位置0x40
// 所以設定DD RAM位址為0x80+0x40=0xc0
#define Data_BUS  P1
#define TOP   0
#define DOWN  1
#define LEFT    2
#define RIGHT 3
#define ALLCHIP 0x03
#define CHIP1 0x01
#define CHIP2 0x02

sbit    busy    = P1 ^ 7;
sbit    RS      = P2 ^ 4; //for new test board
sbit    RW      = P3 ^ 7;
sbit    Enable  = P3 ^ 4;
sbit    CS1  = P2 ^ 3; //for new test board
sbit    CS2  = P3 ^ 6;

char bdata  flag;
sbit busy_f  = flag ^ 0;

void CheckBusy(void);
void WriteIns(unsigned char);
void WriteData(unsigned char);
void WriteString(unsigned char, unsigned char *);
void Initial_ks0066();
void delay(unsigned char);


void WriteIns(unsigned char instruction)
{
  RS = 0;
  RW = 0;
  Data_BUS = instruction;
  Enable = 1;            //1us
  _nop_();   //1us
  Enable = 0;    //1us
}

void CheckBusy(void)
{
  Data_BUS = 0xff; //訊號由high變為low比較容易,所以全部設為high.
  RS = 0;
  RW = 1;
  do
  {
    Enable = 1;
    busy_f = busy;
    Enable = 0;
  } while (busy_f);
}
//=================================
void WriteCmd(unsigned char instruction)
{
  RS = 0;
  RW = 0;
  Data_BUS = instruction;
  Enable = 1;            //1us
  _nop_();   //1us
  Enable = 0;    //1us

  CheckBusy();
}
//=================================
//=================================
void WriteData(unsigned char data1)
{
  RS = 1;
  RW = 0;
  Data_BUS = data1;
  Enable = 1;
  _nop_();
  Enable = 0;

  CheckBusy();
}
//=================================
//=================================
/*void WriteString(unsigned char count,unsigned char * MSG)
  {
  unsigned char i;

  for(i = 0; i<count;i++)
    WriteData(MSG[i]);
  }
  //=================================
  void Clear(void)
  {
  unsigned char i;
  //First line address
  WriteCmd(one);//X
  WriteCmd(0x40);//Y
  for(i = 0; i<100;i++)
      WriteData(0x00);
  //Second line address
  WriteCmd(one);//X
  WriteCmd(0x41);//Y
  for(i = 0; i<100;i++)
      WriteData(0x00);
  }
  //=================================
  void Fullon(void)
  {
  unsigned char i;

  CS1=1; //disable chip1
  CS2=0; //enable chip2
  //First line address
  WriteCmd(one);//X
  WriteCmd(0x40);//Y
  for(i = 0; i<100;i++)
    WriteData(0xff);
  //Second line address
  WriteCmd(one);//X
  WriteCmd(0x41);//Y
  for(i = 0; i<100;i++)
    WriteData(0xff);
  }*/
//=================================
/*void ShowPic(void)
  {
  unsigned char i,j;

  CS1=1; //disable chip1
  CS2=0;//enable chip2*/

/*  //First line address
  WriteIns(one);//X
  WriteIns(0x40);//Y
  for(i = 0; i<100;i++)
    WriteData(pic[0][i]);

  //Second line address
  WriteIns(one);//X
  WriteIns(0x41);//Y
  for(i = 0; i<100;i++)
    WriteData(pic[1][i]);*/
/*
  for (j=0;j<18;j++)
  {
    //First line address
    WriteCmd(one);
    WriteCmd(0x40);//Y
    for(i = 0; i<16;i++)
      WriteData(pic[j][i]);

    //Second line address
    WriteCmd(one);
    WriteCmd(0x41);//Y
    for(i = 16; i<32;i++)
      WriteData(pic[j][i]);

    delay(1);
  }
  }*/

void Show_Light(unsigned char pic[][32], unsigned char size)
{
  unsigned char i;

  CS1 = 0; //enable chip1
  CS2 = 1; //disable chip2

  //first line
  WriteCmd(one);//X
  WriteCmd(0x40);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[0][i]);

  //second line
  WriteCmd(one);//X
  WriteCmd(0x41);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[1][i]);
}

void Show_Light2(unsigned char pic[][100], unsigned char size)
//void Show_Pic(unsigned char pic[][100],unsigned char size)

{
  unsigned char i;

  CS1 = 0; //enable chip1
  CS2 = 1; //disable chip2

  //first line
  WriteCmd(one);//X
  WriteCmd(0x40);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[0][i]);

  //second line
  WriteCmd(one);//X
  WriteCmd(0x41);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[1][i]);
}

void Show_Pic2(unsigned char pic[][100], unsigned char size)
{
  unsigned char i;

  CS1 = 0; //enable chip1
  CS2 = 1; //disable chip2

  //first line
  WriteCmd(one);//X
  WriteCmd(0x40);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[0][i]);

  //second line
  WriteCmd(one);//X
  WriteCmd(0x41);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[1][i]);

  delay(5);

  CS1 = 1; //disable chip1
  CS2 = 0; //enable chip2

  //first line
  WriteCmd(one);//X
  WriteCmd(0x40);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[2][i]);

  //second line
  WriteCmd(one);//X
  WriteCmd(0x41);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[3][i]);
}

void Show_Pic3(unsigned char pic[][32], unsigned char size, unsigned char order)
{
  unsigned char i, j, c = 0;

  CS1 = 1; //disable chip1
  CS2 = 0; //enable chip2

  if (order == 0)
  {
    for (j = 0; j < 3; j++)
    {
      //first line
      WriteCmd(one + 61); //X
      WriteCmd(0x40);//Y
      for (i = 0; i < size; i++)
        WriteData(pic[c + j][i]);

      //second line
      WriteCmd(one + 61); //X
      WriteCmd(0x41);//Y
      for (i = 0; i < size; i++)
        WriteData(pic[c + 1 + j][i]);
      delay(7);
      c++;
    }
  }
  else
  {
    c = 2;
    for (j = 3; j > 0; j--)
    {
      //first line
      WriteCmd(one + 56); //X
      WriteCmd(0x40);//Y
      for (i = 0; i < size; i++)
        WriteData(pic[j + c - 1][i]);

      //second line
      WriteCmd(one + 56); //X
      WriteCmd(0x41);//Y
      for (i = 0; i < size; i++)
        WriteData(pic[j + c][i]);
      delay(7);
      c--;
    }
  }
}

void Show_Pic4(unsigned char pic[][100], unsigned char size)
{
  unsigned char i, j;

  for (j = 0; j < 4; j++)
  {
    CS1 = 0; //enable chip1
    CS2 = 1; //disable chip2

    //first line
    WriteCmd(one);//X
    WriteCmd(0x40);//Y
    for (i = 0; i < size; i++)
      WriteData(pic[j * 4][i]);

    //second line
    WriteCmd(one);//X
    WriteCmd(0x41);//Y
    for (i = 0; i < size; i++)
      WriteData(pic[1 + j * 4][i]);

    CS1 = 1; //disable chip1
    CS2 = 0; //enable chip2

    //first line
    WriteCmd(one);//X
    WriteCmd(0x40);//Y
    for (i = 0; i < size; i++)
      WriteData(pic[2 + j * 4][i]);

    //second line
    WriteCmd(one);//X
    WriteCmd(0x41);//Y
    for (i = 0; i < size; i++)
      WriteData(pic[3 + j * 4][i]);
    delay(5);
  }
}
void Show_Trigger(unsigned char pic[][8] , unsigned char size, unsigned char dir)
{
  unsigned char i;

  CS1 = 1; //disable chip1
  CS2 = 0; //enable chip2

  //First line address
  if (dir == LEFT)
    WriteCmd(one);
  if (dir == RIGHT)
    WriteCmd(one + 92);
  WriteCmd(0x40);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[0][i]);

  //Second line address
  if (dir == LEFT)
    WriteCmd(one);
  if (dir == RIGHT)
    WriteCmd(one + 92);
  WriteIns(0x41);//Y
  for (i = 0; i < size; i++)
    WriteData(pic[1][i]);
}

unsigned char Move_L(void)
{
  unsigned char i, j, m, value = 0;
  unsigned char nL = 84; //left

  CS1 = 1; //disable chip1
  CS2 = 0; //enable chip2

  for (m = 0; m < 5; m++)
  {
    for (j = 0; j < 18; j++)
    {
      //if ((nL-1)>=0)//nL-1=0表address為0x80
      if ((nL - 1) >= 8) //nL-1=8表address為0x88
      {
        //First line address
        WriteCmd(one + nL - 1);
        WriteCmd(0x40);//Y
        for (i = 0; i < 16; i++)
          WriteData(pic[j][i]);

        //Second line address
        WriteCmd(one + nL - 1);
        WriteCmd(0x41);//Y
        for (i = 16; i < 32; i++)
          WriteData(pic[j][i]);

        delay(1);
        nL--;
      }
    }
  }
  value = nL;
  return value;
}

unsigned char Move_R(void)
{
  unsigned char i, j, m, value = 0;
  unsigned char nR = 0; //right

  CS1 = 1; //disable chip1
  CS2 = 0; //enable chip2

  for (m = 0; m < 5; m++)
  {
    for (j = 0; j < 18; j++)
    {
      if (nR <= 75)
      {
        //First line address
        WriteCmd(one + nR);
        WriteCmd(0x40);//Y
        for (i = 0; i < 16; i++)
          WriteData(pic1[j][i]);

        //Second line address
        WriteCmd(one + nR);
        WriteCmd(0x41);//Y
        for (i = 16; i < 32; i++)
          WriteData(pic1[j][i]);
        delay(1);
        nR++;
      }
    }
  }
  value = nR;
  return value;
}

void Scroll(unsigned char val)
{
  unsigned char i, tmp1 = 0, tmp2 = 0;

  for (i = 0; i < 100; i++)
  {
    if (val == TOP)
      dat[i] = _iror_(dat[i], 1); //left circular shift one bit for int
    else if (val == DOWN)
      dat[i] = _irol_(dat[i], 1); //left circular shift one bit for int
  }
  //First line address
  WriteIns(one);//X
  WriteIns(0x40);//Y
  for (i = 0; i < 100; i++)
  {
    tmp1 = dat[i] >> 8;
    WriteData(tmp1);
  }
  //Second line address
  WriteIns(one);//X
  WriteIns(0x41);//Y
  for (i = 0; i < 100; i++)
  {
    tmp2 = dat[i];
    WriteData(tmp2);
  }
}

//=================================
void Initial_ks0066(void)
{
  //Enable=0;
  CS1 = 0; //enable chip1
  CS2 = 0; //enable chip2
  WriteIns(0x38);//function set
  WriteIns(0x38);//function set
  WriteIns(0x38);//function set
  WriteIns(0x38);//function set
  WriteCmd(0x08);//display off
  WriteCmd(0x06);//entry mode set
  /*WriteCmd(0x13,ALLCHIP);//Character mode
    WriteCmd(0x01,ALLCHIP);//clear display
    WriteCmd(0x02,ALLCHIP);*/
  WriteCmd(0x1f);//Graphic mode //80x16(seg=5x16=80,com=8x2=16)
  WriteCmd(0x01);//clear display
  WriteCmd(0x02);
  WriteCmd(0x0c);//display on


  delay(20);
}
//============================================
//==================================
void delay(unsigned char m)
{
  unsigned char i, j, k;
  for (j = 0; j < m; j++)
  {
    for (k = 0; k < 200; k++)
    {
      for (i = 0; i < 100; i++)
      {
      }
    }
  }
}



void setup() {

  unsigned char i, j, k = 0;

  /*Enable=0;
    CS1=0; //enable chip1
    CS2=1;//disable chip2*/
  Initial_ks0066();
  /*Enable=0;
    CS1=1; //disable chip1
    CS2=0;//enable chip2
    Initial_ks0066();*/

  /*Fullon();
    delay(30);*/
}

void loop() {

  //show strings
  Show_Pic2(pic6, 100);
  delay(15);
  Show_Pic3(pic11, 32, 0);
  delay(30);
  CS1 = 0; //enable chip1
  CS2 = 0; //enable chip2
  WriteCmd(0x01);//clear display

  Show_Light(pic2, 32);
  k = Move_L();
  Show_Trigger(pic3, 8, LEFT);
  for (j = 0; j < 4; j++)
  {
    //First line address
    WriteCmd(one + k);
    WriteCmd(0x40);//Y
    for (i = 0; i < 16; i++)
      WriteData(pic[18 + j][i]);
    //Second line address
    WriteCmd(one + k);
    WriteCmd(0x41);//Y
    for (i = 16; i < 32; i++)
      WriteData(pic[18 + j][i]);
    delay(1);
  }
  Show_Light(pic2_1, 32);
  delay(30);
  CS1 = 0; //enable chip1
  CS2 = 0; //enable chip2
  WriteCmd(0x01);//clear display
  //delay(5);

  Show_Pic2(pic7, 100);
  delay(30);
  for (i = 0; i < 100; i++)
  {
    dat[i] = pic7[0][i];
    dat[i] = dat[i] << 8;
    dat[i] |= pic7[1][i];
  }
  CS1 = 0; //enable chip1
  CS2 = 1; //disable chip2
  for (i = 0; i < 16; i++)
  {
    Scroll(TOP);
    delay(2);
  }
  delay(10);
  for (i = 0; i < 100; i++)
  {
    dat[i] = pic7[2][i];
    dat[i] = dat[i] << 8;
    dat[i] |= pic7[3][i];
  }
  CS1 = 1; //disable chip1
  CS2 = 0; //enable chip2
  for (i = 0; i < 16; i++)
  {
    Scroll(TOP);
    delay(2);
  }
  delay(30);

  Show_Pic2(pic8, 100);
  delay(15);
  Show_Pic3(pic11, 32, 1);
  delay(30);

  k = Move_R();
  Show_Trigger(pic5, 8, RIGHT);
  for (j = 0; j < 4; j++)
  {
    //First line address
    WriteCmd(one + k);
    WriteCmd(0x40);//Y
    for (i = 0; i < 16; i++)
      WriteData(pic1[18 + j][i]);
    //Second line address
    WriteCmd(one + k);
    WriteCmd(0x41);//Y
    for (i = 16; i < 32; i++)
      WriteData(pic1[18 + j][i]);
    delay(1);
  }
  Show_Light2(pic4, 100);
  //Show_Pic(pic4,100);
  delay(30);
  CS1 = 0; //enable chip1
  CS2 = 0; //enable chip2
  WriteCmd(0x01);//clear display

  //Show_Pic2(pic9,100);
  Show_Pic4(pic9, 100);
  delay(30);
  Show_Pic2(pic10, 100);
  delay(30);
  for (i = 0; i < 100; i++)
  {
    dat[i] = pic10[0][i];
    dat[i] = dat[i] << 8;
    dat[i] |= pic10[1][i];
  }
  CS1 = 0; //enable chip1
  CS2 = 1; //disable chip2
  for (i = 0; i < 16; i++)
  {
    Scroll(DOWN);
    delay(2);
  }
  delay(10);
  for (i = 0; i < 100; i++)
  {
    dat[i] = pic10[2][i];
    dat[i] = dat[i] << 8;
    dat[i] |= pic10[3][i];
  }
  CS1 = 1; //disable chip1
  CS2 = 0; //enable chip2
  for (i = 0; i < 16; i++)
  {
    Scroll(DOWN);
    delay(2);
  }
  delay(40);
  CS1 = 0; //enable chip1
  CS2 = 0; //enable chip2
  WriteCmd(0x01);//clear display
}
}


unsigned int idata dat[100] = {0};
unsigned char code pic[22][32] = { //little green people
  0x00, 0x00, 0x00, 0x04, 0x8E, 0xFE, 0xF4, 0xE0,
  0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x21, 0x20, 0x10, 0x08, 0x07,
  0x03, 0x04, 0x09, 0x10, 0x60, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x8E, 0xFE, 0xF4, 0xE0,
  0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x61, 0x61, 0x50, 0x38, 0x07,
  0x03, 0x04, 0x09, 0x58, 0x60, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x0E, 0xFE, 0xF4, 0xE0,
  0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x40, 0x41, 0x40, 0x38, 0x07,
  0x03, 0x04, 0x08, 0x48, 0x70, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x0E, 0xFE, 0xF4, 0xE0,
  0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x41, 0x58, 0x64, 0x03,
  0x03, 0x2C, 0x28, 0x19, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x0E, 0xFE, 0xF4, 0xE0,
  0xA0, 0x60, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x41, 0xF8, 0xE5, 0x07,
  0x07, 0x0D, 0x39, 0x39, 0x78, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x0E, 0x7E, 0xF4, 0xA0,
  0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xB8, 0xE5, 0x07,
  0x0E, 0x11, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x0E, 0x7E, 0xF4, 0xA0,
  0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x98, 0xA5, 0xE7, 0x0F,
  0x10, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x0E, 0x7E, 0xF4, 0xE0,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x5F,
  0x17, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x8E, 0xBE, 0xF4, 0xE0,
  0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x20, 0x28, 0x37, 0x0F,
  0x5F, 0x90, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x8E, 0xFE, 0xF4, 0xE0,
  0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x11, 0x10, 0x08, 0x04, 0x03,
  0x03, 0x04, 0x09, 0x10, 0x60, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x8E, 0xFE, 0xF4, 0xE0,
  0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x41, 0x40, 0x40, 0x38, 0x07,
  0x03, 0x04, 0x08, 0x48, 0x30, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x8E, 0xFE, 0xF4, 0xE0,
  0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x01, 0x40, 0x58, 0x64, 0x03,
  0x03, 0x2C, 0x29, 0x18, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x0E, 0x7E, 0xF4, 0xA0,
  0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xE5, 0x07,
  0x0E, 0x11, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x04, 0x7E, 0xFE, 0xF4,
  0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0xB8, 0xE5, 0xE7,
  0x0F, 0x11, 0x70, 0x60, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x0E, 0x7E, 0xF4, 0xA0,
  0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0xB8, 0xA5, 0xE7, 0x0F,
  0x10, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x0E, 0x7E, 0xF4, 0xE0,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x5F,
  0x17, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x8E, 0xBE, 0xF4, 0xE0,
  0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x20, 0x28, 0x37, 0x0F,
  0x5F, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x04, 0x8E, 0xBE, 0xF4, 0xE0,
  0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x21, 0x20, 0x38, 0x3F, 0x0F,
  0x5F, 0x94, 0xE9, 0x90, 0x60, 0x00, 0x00, 0x00,
  //stop
  0x00, 0x00, 0x00, 0x44, 0x2E, 0xFE, 0xF4, 0xE0,
  0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x20, 0x20, 0x10, 0x08, 0x07,
  0x03, 0x04, 0x09, 0x10, 0x60, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x40, 0x44, 0x2E, 0xFE, 0xF4, 0xE0,
  0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x20, 0x20, 0x10, 0x08, 0x07,
  0x03, 0x04, 0x09, 0x10, 0x60, 0x00, 0x00, 0x00 ,

  0x10, 0x20, 0x40, 0x44, 0x2E, 0xFE, 0xF4, 0xE0,
  0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x20, 0x20, 0x10, 0x08, 0x07,
  0x03, 0x04, 0x09, 0x10, 0x60, 0x00, 0x00, 0x00,

  0x00, 0x80, 0x40, 0x44, 0x2E, 0xFE, 0xF4, 0xE0,
  0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x01, 0x00, 0x00, 0x20, 0x20, 0x10, 0x08, 0x07,
  0x03, 0x04, 0x09, 0x10, 0x60, 0x00, 0x00, 0x00
};

unsigned char code pic1[22][32] = { //reverse for little green people
  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
  0xE0, 0xF4, 0xFE, 0x8E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x60, 0x10, 0x09, 0x04, 0x03,
  0x07, 0x08, 0x10, 0x20, 0x21, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x20,
  0xE0, 0xF4, 0xFE, 0x8E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x60, 0x58, 0x09, 0x04, 0x03,
  0x07, 0x38, 0x50, 0x61, 0x61, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x20,
  0xE0, 0xF4, 0xFE, 0x0E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x70, 0x48, 0x08, 0x04, 0x03,
  0x07, 0x38, 0x40, 0x41, 0x40, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x20,
  0xE0, 0xF4, 0xFE, 0x0E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x19, 0x28, 0x2C, 0x03,
  0x03, 0x64, 0x58, 0x41, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x60, 0xA0,
  0xE0, 0xF4, 0xFE, 0x0E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x78, 0x39, 0x39, 0x0D, 0x07,
  0x07, 0xE5, 0xF8, 0x41, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40,
  0xA0, 0xF4, 0x7E, 0x0E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x11, 0x0E,
  0x07, 0xE5, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
  0xA0, 0xF4, 0x7E, 0x0E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10,
  0x0F, 0xE7, 0xA5, 0x98, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xE0, 0xF4, 0x7E, 0x0E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x17,
  0x5F, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0,
  0xE0, 0xF4, 0xBE, 0x8E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0x90, 0x5F,
  0x0F, 0x37, 0x28, 0x20, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
  0xE0, 0xF4, 0xFE, 0x8E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x60, 0x10, 0x09, 0x04, 0x03,
  0x03, 0x04, 0x08, 0x10, 0x11, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
  0xE0, 0xF4, 0xFE, 0x8E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x30, 0x48, 0x08, 0x04, 0x03,
  0x07, 0x38, 0x40, 0x40, 0x41, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
  0xE0, 0xF4, 0xFE, 0x8E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x18, 0x29, 0x2C, 0x03,
  0x03, 0x64, 0x58, 0x40, 0x01, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40,
  0xA0, 0xF4, 0x7E, 0x0E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x11, 0x0E,
  0x07, 0xE5, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0,
  0xF4, 0xFE, 0x7E, 0x04, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x60, 0x70, 0x11, 0x0F,
  0xE7, 0xE5, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
  0xA0, 0xF4, 0x7E, 0x0E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10,
  0x0F, 0xE7, 0xA5, 0xB8, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xE0, 0xF4, 0x7E, 0x0E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x17,
  0x5F, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0,
  0xE0, 0xF4, 0xBE, 0x8E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x98, 0x5F,
  0x0F, 0x37, 0x28, 0x20, 0x00, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0,
  0xE0, 0xF4, 0xBE, 0x8E, 0x04, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x60, 0x90, 0xE9, 0x94, 0x5F,
  0x0F, 0x3F, 0x38, 0x20, 0x21, 0x00, 0x00, 0x00,
  //stop
  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
  0xE0, 0xF4, 0xFE, 0x2E, 0x44, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x60, 0x10, 0x09, 0x04, 0x03,
  0x07, 0x08, 0x10, 0x20, 0x20, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
  0xE0, 0xF4, 0xFE, 0x2E, 0x44, 0x40, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x60, 0x10, 0x09, 0x04, 0x03,
  0x07, 0x08, 0x10, 0x20, 0x20, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
  0xE0, 0xF4, 0xFE, 0x2E, 0x44, 0x40, 0x20, 0x10,
  0x00, 0x00, 0x00, 0x60, 0x10, 0x09, 0x04, 0x03,
  0x07, 0x08, 0x10, 0x20, 0x20, 0x00, 0x00, 0x00,

  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
  0xE0, 0xF4, 0xFE, 0x2E, 0x44, 0x40, 0x80, 0x00,
  0x00, 0x00, 0x00, 0x60, 0x10, 0x09, 0x04, 0x03,
  0x07, 0x08, 0x10, 0x20, 0x20, 0x00, 0x00, 0x01
};

unsigned char code pic2[2][32] = { //light
  0x00, 0x00, 0x40, 0x40, 0x40, 0x42, 0x44, 0x48,
  0x10, 0xC0, 0xE0, 0xF0, 0x7F, 0x7D, 0x3D, 0x05,
  0x05, 0x3D, 0x7D, 0x7F, 0xF0, 0xE0, 0xC0, 0x10,
  0x48, 0x44, 0x42, 0x40, 0x40, 0x40, 0x00, 0x00,
  0x00, 0x00, 0x05, 0x05, 0x05, 0x85, 0x45, 0x25,
  0x10, 0x07, 0x0F, 0x1F, 0x3C, 0x3C, 0x3F, 0x3F,
  0x3C, 0x3F, 0x3F, 0x3C, 0x1F, 0x0F, 0x07, 0x10,
  0x25, 0x45, 0x85, 0x05, 0x05, 0x05, 0x00, 0x00
};

unsigned char code pic2_1[2][32] = { //light
  //light-1
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xC0, 0x20, 0x90, 0x4F, 0x45, 0x3D, 0x05,
  0x05, 0x3D, 0x45, 0x4F, 0x90, 0x20, 0xC0, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x07, 0x08, 0x13, 0x24, 0x24, 0x23, 0x27,
  0x24, 0x23, 0x27, 0x24, 0x13, 0x08, 0x07, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

unsigned char code pic3[2][8] = { //trigger
  0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xC0, 0xC0, 0xC0,
  0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x01, 0x01
};

unsigned char code pic4[2][100] = { //light2
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x84,
  0x88, 0x90, 0x21, 0x02, 0x04, 0xE0, 0x18, 0x04,
  0xC2, 0x22, 0x12, 0x12, 0x12, 0x12, 0x22, 0xC2,
  0x02, 0x12, 0xF2, 0x12, 0x02, 0x02, 0x02, 0x02,
  0x12, 0xF2, 0x12, 0x12, 0x92, 0x32, 0x02, 0x12,
  0xF2, 0x12, 0x12, 0x12, 0x12, 0x22, 0xC2, 0x04,
  0x18, 0xE0, 0x00, 0x04, 0x02, 0x21, 0x90, 0x88,
  0x84, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x01, 0x01, 0x21, 0x11, 0x09, 0x84, 0x40,
  0x20, 0x07, 0x18, 0x20, 0x47, 0x48, 0x50, 0x50,
  0x50, 0x50, 0x48, 0x47, 0x40, 0x50, 0x5F, 0x50,
  0x50, 0x50, 0x50, 0x48, 0x50, 0x5F, 0x51, 0x51,
  0x53, 0x50, 0x48, 0x50, 0x5F, 0x50, 0x50, 0x50,
  0x50, 0x48, 0x47, 0x20, 0x18, 0x07, 0x00, 0x20,
  0x40, 0x84, 0x09, 0x11, 0x21, 0x01, 0x01, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

unsigned char code pic5[2][8] = { //trigger2
  0xC0, 0xC0, 0xC0, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF,
  0x01, 0x01, 0x01, 0x01, 0xFF, 0xFF, 0xFF, 0xFF
};

//unsigned char code pic6[2][100]={ //think our earth
unsigned char code pic6[4][100] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18,
  0x08, 0x08, 0x08, 0xF8, 0x08, 0x08, 0x08, 0x18,
  0x00, 0x08, 0xF8, 0x88, 0x80, 0x80, 0x80, 0x88,
  0xF8, 0x08, 0x00, 0x00, 0x08, 0xF8, 0x08, 0x00,
  0x00, 0x08, 0xF8, 0x20, 0x40, 0x80, 0x00, 0x08,
  0xF8, 0x08, 0x00, 0x00, 0x08, 0xF8, 0x88, 0x80,
  0x40, 0x28, 0x18, 0x08, 0x08, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x10,
  0x08, 0x08, 0x08, 0x08, 0x08, 0x10, 0xE0, 0x00,
  0x00, 0x08, 0xF8, 0x08, 0x00, 0x00, 0x00, 0x08,
  0xF8, 0x08, 0x00, 0x00, 0x08, 0xF8, 0x88, 0x88,
  0x88, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x1F,
  0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x1F, 0x10,
  0x00, 0x00, 0x00, 0x10, 0x1F, 0x10, 0x00, 0x00,
  0x10, 0x1F, 0x10, 0x00, 0x00, 0x10, 0x1F, 0x10,
  0x00, 0x01, 0x02, 0x04, 0x1F, 0x00, 0x00, 0x00,
  0x10, 0x1F, 0x10, 0x01, 0x02, 0x14, 0x18, 0x10,
  0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x07, 0x08, 0x10, 0x10, 0x10, 0x10,
  0x10, 0x08, 0x07, 0x00, 0x00, 0x00, 0x07, 0x08,
  0x10, 0x10, 0x10, 0x08, 0x07, 0x00, 0x00, 0x00,
  0x10, 0x1F, 0x10, 0x00, 0x01, 0x06, 0x18, 0x10,
  0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
  0xF8, 0x88, 0x88, 0xC8, 0x08, 0x18, 0x00, 0x00,
  0x00, 0x00, 0x80, 0x60, 0x18, 0x60, 0x80, 0x00,
  0x00, 0x00, 0x00, 0x08, 0xF8, 0x88, 0x88, 0x88,
  0x88, 0x70, 0x00, 0x00, 0x18, 0x08, 0x08, 0x08,
  0xF8, 0x08, 0x08, 0x08, 0x18, 0x00, 0x08, 0xF8,
  0x88, 0x80, 0x80, 0x80, 0x88, 0xF8, 0x08, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x10, 0x1F, 0x10, 0x10, 0x11,
  0x10, 0x18, 0x04, 0x10, 0x10, 0x1C, 0x13, 0x02,
  0x02, 0x02, 0x13, 0x1C, 0x10, 0x10, 0x00, 0x10,
  0x1F, 0x10, 0x00, 0x01, 0x06, 0x18, 0x10, 0x10,
  0x00, 0x00, 0x00, 0x10, 0x1F, 0x10, 0x00, 0x00,
  0x00, 0x00, 0x10, 0x1F, 0x10, 0x00, 0x00, 0x00,
  0x10, 0x1F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

unsigned char code pic7[4][100] = { //saving energy,carbon reduction
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
  0x90, 0x10, 0x30, 0x00, 0x00, 0x00, 0xC0, 0x30,
  0xC0, 0x00, 0x00, 0x00, 0x10, 0x70, 0x90, 0x00,
  0x90, 0x70, 0x10, 0x10, 0xF0, 0x10, 0x00, 0x10,
  0xF0, 0x40, 0x80, 0x10, 0xF0, 0x10, 0x00, 0xC0,
  0x20, 0x10, 0x10, 0x10, 0x30, 0x00, 0x00, 0x00,
  0x00, 0x10, 0xF0, 0x90, 0xD0, 0x10, 0x30, 0x00,
  0x10, 0xF0, 0x40, 0x80, 0x10, 0xF0, 0x10, 0x00,
  0x10, 0xF0, 0x90, 0xD0, 0x10, 0x30, 0x00, 0x10,
  0xF0, 0x90, 0x90, 0x90, 0x60, 0x00, 0xC0, 0x20,
  0x10, 0x10, 0x10, 0x30, 0x00, 0x10, 0x30, 0xD0,
  0x00, 0xD0, 0x30, 0x10, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x0C, 0x08, 0x09, 0x06, 0x00,
  0x08, 0x0E, 0x0B, 0x02, 0x0B, 0x0E, 0x08, 0x00,
  0x00, 0x00, 0x03, 0x0C, 0x03, 0x00, 0x00, 0x08,
  0x0F, 0x08, 0x00, 0x08, 0x0F, 0x08, 0x01, 0x02,
  0x0F, 0x00, 0x00, 0x03, 0x04, 0x08, 0x08, 0x09,
  0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x08,
  0x09, 0x08, 0x0C, 0x00, 0x08, 0x0F, 0x08, 0x01,
  0x02, 0x0F, 0x00, 0x00, 0x08, 0x0F, 0x08, 0x09,
  0x08, 0x0C, 0x00, 0x08, 0x0F, 0x08, 0x01, 0x06,
  0x08, 0x08, 0x03, 0x04, 0x08, 0x08, 0x09, 0x07,
  0x01, 0x00, 0x00, 0x08, 0x0F, 0x08, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xE0, 0x10, 0x10, 0x30, 0x00, 0x00, 0x00, 0xC0,
  0x30, 0xC0, 0x00, 0x00, 0x00, 0x10, 0xF0, 0x90,
  0x90, 0x60, 0x00, 0x00, 0x10, 0xF0, 0x90, 0x90,
  0x60, 0x00, 0xE0, 0x10, 0x10, 0x10, 0xE0, 0x00,
  0x10, 0xF0, 0x40, 0x80, 0x10, 0xF0, 0x10, 0x00,
  0x00, 0x00, 0x00, 0x10, 0xF0, 0x90, 0x90, 0x60,
  0x00, 0x00, 0x10, 0xF0, 0x90, 0xD0, 0x10, 0x30,
  0x00, 0x10, 0xF0, 0x10, 0x10, 0x20, 0xC0, 0x00,
  0x10, 0xF0, 0x10, 0x00, 0x10, 0xF0, 0x10, 0x00,
  0xE0, 0x10, 0x10, 0x30, 0x00, 0x30, 0x10, 0xF0,
  0x10, 0x30, 0x00, 0x10, 0xF0, 0x10, 0x00, 0xE0,
  0x10, 0x10, 0x10, 0xE0, 0x00, 0x10, 0xF0, 0x40,
  0x80, 0x10, 0xF0, 0x10, 0x03, 0x04, 0x04, 0x02,
  0x00, 0x04, 0x06, 0x01, 0x01, 0x01, 0x06, 0x04,
  0x00, 0x04, 0x07, 0x04, 0x01, 0x06, 0x04, 0x00,
  0x04, 0x07, 0x04, 0x04, 0x03, 0x00, 0x03, 0x04,
  0x04, 0x04, 0x03, 0x00, 0x04, 0x07, 0x04, 0x00,
  0x01, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04,
  0x07, 0x04, 0x01, 0x06, 0x04, 0x00, 0x04, 0x07,
  0x04, 0x05, 0x04, 0x06, 0x00, 0x04, 0x07, 0x04,
  0x04, 0x02, 0x01, 0x00, 0x00, 0x03, 0x04, 0x04,
  0x04, 0x03, 0x00, 0x00, 0x03, 0x04, 0x04, 0x02,
  0x00, 0x00, 0x04, 0x07, 0x04, 0x00, 0x00, 0x04,
  0x07, 0x04, 0x00, 0x03, 0x04, 0x04, 0x04, 0x03,
  0x00, 0x04, 0x07, 0x04, 0x00, 0x01, 0x07, 0x04
};

//unsigned char code pic8[2][100]={ //come with us
unsigned char code pic8[4][100] = { //come with us
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x10,
  0x08, 0x08, 0x08, 0x08, 0x10, 0x38, 0x00, 0x00,
  0xE0, 0x10, 0x08, 0x08, 0x08, 0x08, 0x08, 0x10,
  0xE0, 0x00, 0x00, 0x08, 0xF8, 0x18, 0xE0, 0x00,
  0x00, 0x00, 0xE0, 0x18, 0xF8, 0x08, 0x00, 0x00,
  0x08, 0xF8, 0x88, 0x88, 0xC8, 0x08, 0x18, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
  0x08, 0x78, 0x88, 0x00, 0x08, 0xC8, 0x78, 0x88,
  0x00, 0x08, 0xE8, 0x18, 0x08, 0x00, 0x08, 0xF8,
  0x08, 0x00, 0x18, 0x08, 0x08, 0x08, 0xF8, 0x08,
  0x08, 0x08, 0x18, 0x00, 0x08, 0xF8, 0x88, 0x80,
  0x80, 0x80, 0x88, 0xF8, 0x08, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x07, 0x08, 0x10, 0x10, 0x10, 0x10,
  0x08, 0x04, 0x00, 0x00, 0x07, 0x08, 0x10, 0x10,
  0x10, 0x10, 0x10, 0x08, 0x07, 0x00, 0x00, 0x10,
  0x1F, 0x10, 0x00, 0x07, 0x18, 0x07, 0x00, 0x10,
  0x1F, 0x10, 0x00, 0x00, 0x10, 0x1F, 0x10, 0x10,
  0x11, 0x10, 0x18, 0x04, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18,
  0x07, 0x00, 0x00, 0x07, 0x18, 0x07, 0x00, 0x00,
  0x00, 0x00, 0x10, 0x1F, 0x10, 0x00, 0x00, 0x00,
  0x00, 0x10, 0x1F, 0x10, 0x00, 0x00, 0x00, 0x00,
  0x10, 0x1F, 0x10, 0x00, 0x00, 0x00, 0x10, 0x1F,
  0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x08, 0xF8, 0x08, 0x00, 0x00, 0x00,
  0x08, 0xF8, 0x08, 0x00, 0x00, 0x70, 0x88, 0x88,
  0x08, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
  0x08, 0x10, 0x10, 0x10, 0x08, 0x07, 0x00, 0x00,
  0x00, 0x1C, 0x08, 0x10, 0x11, 0x11, 0x0E, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

//unsigned char code pic9[2][100]={ //OLED
//unsigned char code pic9[4][100]={ //OLED
unsigned char code pic9[16][100] = { //OLED
  //oled1
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
  0x70, 0x08, 0xF0, 0x18, 0x04, 0x02, 0x02, 0x02,
  0x02, 0x02, 0x04, 0x1C, 0xF0, 0x08, 0x70, 0xE0,
  0x00, 0x02, 0x06, 0xFE, 0x00, 0xFE, 0x06, 0x02,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
  0x02, 0xFE, 0x00, 0xFE, 0x82, 0x82, 0x82, 0x82,
  0x82, 0xE2, 0x0E, 0x00, 0x00, 0x02, 0x02, 0xFE,
  0x00, 0xFE, 0x02, 0x02, 0x02, 0x02, 0x06, 0x04,
  0x18, 0xF8, 0x08, 0x70, 0xC0, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x07, 0x0E, 0x10, 0x0F, 0x38,
  0x20, 0x40, 0x40, 0x40, 0x40, 0x40, 0x20, 0x18,
  0x0F, 0x10, 0x0E, 0x07, 0x00, 0x40, 0x40, 0x7F,
  0x00, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
  0x60, 0x30, 0x00, 0x40, 0x40, 0x7F, 0x00, 0x7F,
  0x40, 0x40, 0x40, 0x40, 0x40, 0x43, 0x60, 0x10,
  0x00, 0x40, 0x40, 0x7F, 0x00, 0x7F, 0x40, 0x40,
  0x40, 0x40, 0x40, 0x20, 0x38, 0x2F, 0x10, 0x0E,
  0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  //oled 2
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0,
  0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0xE0, 0xE0,
  0xE0, 0xE0, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
  0xE0, 0xE0, 0xE0, 0xE0, 0x60, 0x40, 0x40, 0xC0,
  0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
  0xF0, 0xF0, 0xF0, 0x30, 0x20, 0x60, 0x60, 0xE0,
  0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xE0, 0xF8, 0xFE, 0xFF, 0x7F, 0xDF,
  0x8F, 0x07, 0x07, 0x3F, 0x07, 0x07, 0x67, 0x3F,
  0x1F, 0xFE, 0xF8, 0xE0, 0x00, 0x00, 0x00, 0x00,
  0x8C, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xD2, 0xD2, 0xFF, 0xFF, 0x0F,
  0x10, 0x38, 0x3C, 0x00, 0x00, 0x07, 0x0E, 0x00,
  0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
  0x00, 0xF0, 0x00, 0x03, 0x27, 0x27, 0xFF, 0xFF,
  0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x7F,
  0xFF, 0xFF, 0xC8, 0x88, 0x41, 0x00, 0x00, 0x00,
  0x00, 0x40, 0x80, 0x11, 0xB1, 0xF1, 0x7F, 0x0F,
  0x00, 0x00, 0x00, 0x00, 0x01, 0xC1, 0xFF, 0xFF,
  0x7F, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x0E,
  0x00, 0x00, 0xE0, 0xC0, 0x00, 0x00, 0xE0, 0xFF,
  0xFF, 0xFF, 0x07, 0x07, 0x07, 0x0F, 0x0F, 0x0F,
  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF,
  0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x07, 0x00, 0x00,
  0xFB, 0xFB, 0x7F, 0x3F, 0x1F, 0x07, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07,
  0x06, 0x0C, 0x0E, 0x0F, 0x0C, 0x0C, 0x07, 0x07,
  0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x0F, 0x0F, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C,
  0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x06, 0x07, 0x03,
  0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x10, 0x10, 0x10,
  0x10, 0x10, 0x1C, 0x1E, 0x1E, 0x1E, 0x00, 0x00,
  0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x04,
  0x04, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  //oled 3
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
  0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xC0, 0xC0,
  0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40,
  0x40, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xE0, 0xE0, 0x80, 0x80, 0x80, 0x80, 0x80,
  0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFC,
  0x0E, 0x03, 0x01, 0x0E, 0x11, 0x17, 0x0E, 0x00,
  0x00, 0x00, 0x01, 0x03, 0x0E, 0xFC, 0xF0, 0x00,
  0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F,
  0xFF, 0x00, 0x00, 0x00, 0x00, 0x83, 0x00, 0x00,
  0x00, 0x0C, 0x12, 0x15, 0x0D, 0x00, 0x0F, 0xFF,
  0xC0, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x06,
  0x0E, 0xFC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x03, 0x0F, 0x1C, 0x30, 0x60, 0x40,
  0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x30,
  0x1C, 0x0F, 0x03, 0x00, 0x00, 0x80, 0x80, 0xFF,
  0x80, 0x80, 0x00, 0x00, 0x30, 0x48, 0xB8, 0xF0,
  0x00, 0x00, 0x80, 0x80, 0xFF, 0x81, 0x81, 0x81,
  0x81, 0x80, 0xB8, 0xB4, 0x44, 0x38, 0x00, 0x00,
  0x00, 0x00, 0x80, 0x83, 0xFF, 0x80, 0x40, 0x40,
  0x40, 0x20, 0x30, 0x18, 0x0C, 0x07, 0x01, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
  0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  //oled 4
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0,
  0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE0,
  0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0,
  0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
  0xC0, 0xC0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80,
  0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
  0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
  0xC0, 0xF0, 0x78, 0x18, 0x0C, 0x04, 0xF4, 0xFC,
  0x0E, 0x03, 0x03, 0x01, 0x01, 0x01, 0x03, 0x03,
  0x0F, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00,
  0x80, 0xFC, 0xFF, 0x3F, 0x01, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x81,
  0x80, 0x80, 0xF8, 0xFF, 0xFF, 0x83, 0x80, 0x80,
  0x80, 0x80, 0x80, 0x40, 0x00, 0x00, 0x00, 0x18,
  0x0E, 0x06, 0x03, 0x83, 0xF9, 0xFD, 0x3D, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03,
  0x07, 0x1F, 0xFF, 0xFE, 0xF8, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x1F, 0x7F, 0xFF, 0xF0, 0xC0,
  0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
  0x80, 0xC0, 0x60, 0x38, 0x1E, 0x0F, 0x07, 0x00,
  0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0x87, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40,
  0x00, 0x00, 0x02, 0x01, 0xE1, 0xFF, 0xFF, 0x8F,
  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x81, 0x80,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF,
  0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x80, 0xC0, 0xE0, 0x70, 0x3C, 0x1F, 0x07,
  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03,
  0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
  0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
  0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x03, 0x07, 0x07, 0x06, 0x06, 0x06,
  0x06, 0x02, 0x02, 0x03, 0x01, 0x01, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

unsigned char code pic10[4][100] = { //save you 50% of power
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x60, 0x90, 0x10, 0x30, 0x00, 0x00,
  0x00, 0xC0, 0x30, 0xC0, 0x00, 0x00, 0x00, 0x10,
  0x70, 0x90, 0x00, 0x90, 0x70, 0x10, 0x00, 0x10,
  0xF0, 0x90, 0xD0, 0x10, 0x30, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
  0x30, 0xD0, 0x00, 0xD0, 0x30, 0x10, 0x00, 0xC0,
  0x20, 0x10, 0x10, 0x10, 0x20, 0xC0, 0x00, 0x10,
  0xF0, 0x10, 0x00, 0x10, 0xF0, 0x10, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x08,
  0x09, 0x06, 0x00, 0x08, 0x0E, 0x0B, 0x02, 0x0B,
  0x0E, 0x08, 0x00, 0x00, 0x00, 0x03, 0x0C, 0x03,
  0x00, 0x00, 0x00, 0x08, 0x0F, 0x08, 0x09, 0x08,
  0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x08,
  0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x08, 0x08,
  0x04, 0x03, 0x00, 0x00, 0x07, 0x08, 0x08, 0x08,
  0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x50, 0x90,
  0x10, 0x00, 0xE0, 0x10, 0x10, 0x10, 0xE0, 0x00,
  0x60, 0x90, 0x60, 0x00, 0x80, 0x40, 0x20, 0x10,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xC0, 0x20, 0x10, 0x10, 0x10, 0x20, 0xC0,
  0x00, 0x10, 0xF0, 0x90, 0xD0, 0x10, 0x30, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
  0xF0, 0x10, 0x10, 0x10, 0xE0, 0x00, 0xC0, 0x20,
  0x10, 0x10, 0x10, 0x20, 0xC0, 0x00, 0x10, 0x70,
  0x90, 0x00, 0x10, 0xF0, 0x10, 0x00, 0x90, 0x70,
  0x10, 0x00, 0x10, 0xF0, 0x90, 0xD0, 0x10, 0x30,
  0x00, 0x10, 0xF0, 0x90, 0x90, 0x90, 0x60, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x08, 0x08, 0x08, 0x08, 0x07, 0x00, 0x07, 0x08,
  0x08, 0x08, 0x07, 0x00, 0x00, 0x08, 0x04, 0x02,
  0x01, 0x00, 0x06, 0x09, 0x06, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08,
  0x08, 0x08, 0x04, 0x03, 0x00, 0x08, 0x0F, 0x08,
  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x08, 0x0F, 0x09, 0x01, 0x01,
  0x00, 0x00, 0x03, 0x04, 0x08, 0x08, 0x08, 0x04,
  0x03, 0x00, 0x00, 0x00, 0x03, 0x0C, 0x03, 0x00,
  0x03, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x08, 0x0F,
  0x08, 0x09, 0x08, 0x0C, 0x00, 0x08, 0x0F, 0x08,
  0x01, 0x06, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00
};

//unsigned char code pic11[2][32]={
unsigned char code pic11[6][32] = {
  //pic1
  0x00, 0xC0, 0x60, 0x70, 0xD8, 0x18, 0x08, 0x80,
  0xC0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x80, 0x60, 0x10, 0x08, 0x88, 0x84, 0x84,
  0x04, 0x04, 0x04, 0x88, 0x88, 0x10, 0x60, 0x80,
  0x00, 0xFF, 0x80, 0x80, 0xFF, 0x82, 0x83, 0xFE,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x07, 0x18, 0x20, 0x41, 0x48, 0x90, 0x90,
  0x91, 0x90, 0x91, 0x48, 0x40, 0x21, 0x18, 0x07,
  //pic2
  0x00, 0xC0, 0x60, 0x70, 0xD8, 0x18, 0x1C, 0x9C,
  0xDE, 0xDE, 0xEE, 0x64, 0x60, 0x00, 0x00, 0x00,
  0x00, 0xC0, 0x30, 0x08, 0x84, 0x04, 0x02, 0x02,
  0x82, 0x02, 0x82, 0x04, 0x04, 0x88, 0x30, 0xC0,
  0x00, 0xFF, 0x80, 0x80, 0xFF, 0x82, 0x83, 0xFE,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x07, 0x18, 0x20, 0x40, 0x51, 0x89, 0x85,
  0x84, 0x84, 0x84, 0x49, 0x51, 0x20, 0x18, 0x07,
  //pic3
  0x00, 0xC0, 0x60, 0x70, 0xD8, 0x18, 0x1C, 0x9C,
  0xDE, 0xDE, 0xFF, 0xEF, 0xEF, 0xF6, 0xF0, 0x60,
  0x00, 0xC0, 0x30, 0x38, 0xBC, 0x3C, 0x1A, 0x02,
  0x82, 0x02, 0x82, 0x04, 0x74, 0xF8, 0xF0, 0xC0,
  0x00, 0xFF, 0x80, 0x80, 0xFF, 0x82, 0x83, 0xFE,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x07, 0x1C, 0x3C, 0x78, 0x51, 0x89, 0x85,
  0x84, 0x84, 0xE4, 0x69, 0x71, 0x38, 0x19, 0x07
};

Но не компилируется, т.к. в коде есть непонятные sbit busy_f  = flag ^ 0;

Гугл дал только эти ссылки из адекватных:
https://github.com/rimksky/WinstarOLED
http://we.easyelectronics.ru/lcd_gfx/rabota-s-indikatorami-weg005016-kontroller-ws0010.html
http://radiokot.ru/forum/viewtopic.php?f=20&t=85323
http://we.easyelectronics.ru/lcd_gfx/osobennosti-raboty-s-kontrollerom-ws0010-indikator-weh000802.html
https://gist.github.com/lardconcepts/4947360
http://avr.myluna.de/doku.php?id=en:lib-ws0010

Куда дальше двигаться?

 

 

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

насколько я понимаю, sbit и bdata  - это описание подключения пинов, а P1 - P3 - это порты ввода-вывода, и их надо переопределить через #define?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Судя по хедерам reg51.h (sbit) и INTRINS.H ( _nop_ ), это код для микроконтроллеров семейства 8051, который писали в среде KEIL. Описание sbit - http://www.keil.com/support/man/docs/c51/c51_le_sbit.htm

MacSim
Offline
Зарегистрирован: 28.11.2012

представьте их друг-другу для начала...

смотрите на каком он контролере, под них библиотек куча в нете

а,да фруут покапайте :-)

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

написано же, на контроллере WS0010, и библиотек к нему всего две, с обеими пока не удалось завести.