#define LCD_CMD 0 
#define PIN_SCE   7
#define PIN_RESET 6
#define PIN_DC    5
#define PIN_SDIN  4
#define PIN_SCLK  3

#define LCD_C     LOW #define LCD_D     HIGH

#define LCD_X     84 #define LCD_Y     48

char aniba01[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xE0, 0x10, 0x10, 0x10, 0xE0,                   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, 0x00, 0x00,                   0x00, 0x00, 0x00, 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,                   0x7E, 0x8B, 0xA8, 0x88, 0x70, 0x88, 0xA8,                   0x8B, 0x7E, 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,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 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, 0xB8, 0xFF,                   0x83, 0x04, 0x0A, 0x12, 0x12, 0x12, 0x0A,                   0x04, 0x83, 0xFF, 0xB8, 0xE0, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x1C, 0x22, 0x22, 0x36, 0x1F, 0x00,                   0x07, 0x9C, 0xF0, 0x60, 0x40, 0x60, 0xF0,                   0x9C, 0x07, 0x00, 0x1F, 0x36, 0x22, 0x22,                   0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x70, 0x50, 0x48,                   0x48, 0x4B, 0x2E, 0x38, 0x00, 0x38, 0x2E,                   0x4B, 0x48, 0x48, 0x50, 0x70, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x12,                   0x12, 0x12, 0x12, 0xFC, 0x00, 0xFE, 0x12,                   0x12, 0x72, 0xCC, 0x00, 0xFE, 0x82, 0x82,                   0x82, 0x7C, 0x00, 0x7E, 0x80, 0x80, 0x80,                   0x7E, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFE,                   0x04, 0x18, 0x60, 0x80, 0xFE, 0x00, 0x7C,                   0x82, 0x82, 0x82, 0x7C, 0x00, 0x80, 0x00,                   0x7C, 0x82, 0x82, 0x82, 0x00, 0x7C, 0x82,                   0x82, 0x82, 0x7C, 0x00, 0xFE, 0x02, 0x0C,                   0x10, 0x0C, 0x02, 0xFE, 0x00, 0x80, 0x00,                   0xFE, 0x92, 0x92, 0x82, 0x00, 0x8C, 0x92,                   0x92, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00 };


char aniba02[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0xC0, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 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,                   0xFC, 0x17, 0x51, 0x10, 0xE0, 0x13, 0x5E,                   0x10, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 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, 0x90, 0xFF,                   0x86, 0x09, 0x15, 0x25, 0x24, 0x25, 0x15,                   0xFF, 0x20, 0x60, 0x40, 0xC0, 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, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0x08,                   0x0D, 0xBF, 0xE0, 0xC0, 0x80, 0xC0, 0xC0,                   0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07,                   0x0D, 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, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x70, 0x50, 0x48, 0x48,                   0x48, 0x2F, 0x3C, 0x00, 0x00, 0x00, 0x38,                   0x2C, 0x4F, 0x48, 0x48, 0x50, 0x70, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x12,                   0x12, 0x12, 0x12, 0xFC, 0x00, 0xFE, 0x12,                   0x12, 0x72, 0xCC, 0x00, 0xFE, 0x82, 0x82,                   0x82, 0x7C, 0x00, 0x7E, 0x80, 0x80, 0x80,                   0x7E, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFE,                   0x04, 0x18, 0x60, 0x80, 0xFE, 0x00, 0x7C,                   0x82, 0x82, 0x82, 0x7C, 0x00, 0x80, 0x00,                   0x7C, 0x82, 0x82, 0x82, 0x00, 0x7C, 0x82,                   0x82, 0x82, 0x7C, 0x00, 0xFE, 0x02, 0x0C,                   0x10, 0x0C, 0x02, 0xFE, 0x00, 0x80, 0x00,                   0xFE, 0x92, 0x92, 0x82, 0x00, 0x8C, 0x92,                   0x92, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00 };


char aniba03[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0xC0, 0x20, 0x20, 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, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 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, 0x10, 0x5E, 0x13, 0xE0, 0x10, 0x51,                   0x17, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 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,                   0x80, 0x80, 0x80, 0x80, 0xC0, 0x40, 0x60,                   0x20, 0xFF, 0x15, 0x25, 0x24, 0x25, 0x15,                   0x09, 0x86, 0xFF, 0x90, 0xE0, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 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,                   0x08, 0x0D, 0x07, 0x00, 0x00, 0x00, 0x00,                   0x80, 0xFF, 0xC0, 0xC0, 0x80, 0xC0, 0xE0,                   0xBF, 0x0D, 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, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x70, 0x50, 0x48, 0x48,                   0x4F, 0x2C, 0x38, 0x00, 0x00, 0x00, 0x3C,                   0x2F, 0x48, 0x48, 0x48, 0x50, 0x70, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                   0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x12,                   0x12, 0x12, 0x12, 0xFC, 0x00, 0xFE, 0x12,                   0x12, 0x72, 0xCC, 0x00, 0xFE, 0x82, 0x82,                   0x82, 0x7C, 0x00, 0x7E, 0x80, 0x80, 0x80,                   0x7E, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFE,                   0x04, 0x18, 0x60, 0x80, 0xFE, 0x00, 0x7C,                   0x82, 0x82, 0x82, 0x7C, 0x00, 0x80, 0x00,                   0x7C, 0x82, 0x82, 0x82, 0x00, 0x7C, 0x82,                   0x82, 0x82, 0x7C, 0x00, 0xFE, 0x02, 0x0C,                   0x10, 0x0C, 0x02, 0xFE, 0x00, 0x80, 0x00,                   0xFE, 0x92, 0x92, 0x82, 0x00, 0x8C, 0x92,                   0x92, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00 };

void gotoXY(int x, int y) {   LcdWrite( 0, 0x80 | x);  // Column.   LcdWrite( 0, 0x40 | y);  // Row. ? }

void LcdBmp(char my_array[]) {   for (int index = 0; index < 504; index++)   {     LcdWrite(LCD_D, my_array[index]);   } }

void LcdClear(void) {   for (int index = 0; index < LCD_X * LCD_Y / 8; index++)   {     LcdWrite(LCD_D, 0x00);   } }

void LcdInitialise(void) {   pinMode(PIN_SCE, OUTPUT);   pinMode(PIN_RESET, OUTPUT);   pinMode(PIN_DC, OUTPUT);   pinMode(PIN_SDIN, OUTPUT);   pinMode(PIN_SCLK, OUTPUT);   digitalWrite(PIN_RESET, LOW);   digitalWrite(PIN_RESET, HIGH);   LcdWrite(LCD_C, 0x20);   LcdWrite(LCD_C, 0x0C);   LcdWrite( LCD_CMD, 0x21 ); // LCD Extended Commands.   LcdWrite( LCD_CMD, 0xBf ); // Set LCD Vop (Contrast). //B1   LcdWrite( LCD_CMD, 0x04 ); // Set Temp coefficent. //0x04   LcdWrite( LCD_CMD, 0x14 ); // LCD bias mode 1:48. //0x13   LcdWrite( LCD_CMD, 0x0C ); // LCD in normal mode. 0x0d for inverse }

void LcdWrite(byte dc, byte data) {   digitalWrite(PIN_DC, dc);   digitalWrite(PIN_SCE, LOW);   shiftOut(PIN_SDIN, PIN_SCLK, MSBFIRST, data);   digitalWrite(PIN_SCE, HIGH); }

void setup(void) {   LcdInitialise();   LcdClear(); }

void loop(void) {   LcdBmp(aniba01);   delay(250);   LcdBmp(aniba02);   delay(250);   LcdBmp(aniba01);   delay(250);   LcdBmp(aniba02);   delay(250);   LcdBmp(aniba01);   delay(250);   LcdBmp(aniba03);   delay(250);   LcdBmp(aniba01);   delay(250);   LcdBmp(aniba03);   delay(250); }