Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Arduino.h>
- //IO
- #define LEDARRAY_D 2
- #define LEDARRAY_C 3
- #define LEDARRAY_B 4
- #define LEDARRAY_A 5
- #define LEDARRAY_G 6
- #define LEDARRAY_DI 7
- #define LEDARRAY_CLK 8
- #define LEDARRAY_LAT 9
- unsigned char Display_Buffer[2];
- unsigned char Word1[1][32] =
- {
- 0xFF,0xF6,0xF0,0xF3,0x87,0xC0,0xDE,0x90,0x16,0xD0,0xDE,0x80,0xF7,0xF0,0xF2,0xFE,
- 0x7F,0x6F,0x0F,0xEF,0xE1,0x09,0x7B,0x09,0x68,0x0B,0x7B,0x01,0xE7,0x0F,0x6F,0x7F,/*"C:\Users\照臨\Downloads\校徽\gear\bmp\1.bmp",0*/
- };
- unsigned char Word2[1][32] =
- {
- 0xFE,0xF6,0xE0,0xF3,0x87,0x80,0xDE,0x90,0x16,0xD0,0xDE,0x80,0xC7,0xF0,0xF2,0xFF,
- 0xFF,0x4F,0x0F,0xEB,0xE1,0x0B,0x7B,0x08,0x69,0x0B,0x79,0x01,0xE7,0x07,0x2F,0x7F,/*"C:\Users\照臨\Downloads\校徽\gear\bmp\2.bmp",0*/
- };
- unsigned char Word3[1][32] =
- {
- 0xFE,0xFC,0xE0,0xE3,0xC7,0x90,0xDE,0xD0,0x16,0x90,0xDE,0xC0,0xC7,0xF0,0xF1,0xFF,
- 0xFF,0xCF,0x0F,0xE3,0xE3,0x0B,0x79,0x08,0x69,0x0B,0x79,0x01,0xE7,0x07,0x3F,0x7F,/*"C:\Users\照臨\Downloads\校徽\gear\bmp\3.bmp",0*/
- };
- unsigned char Word4[1][32] =
- {
- 0xFF,0xFC,0xE0,0xE3,0xE7,0x90,0x9E,0xD0,0x16,0x10,0xDE,0xC0,0xC7,0xF8,0xF9,0xFF,
- 0xFF,0xDF,0x1F,0xE3,0xE3,0x0B,0x78,0x08,0x6B,0x09,0x79,0x01,0xE7,0x07,0x3F,0xBF,/*"C:\Users\照臨\Downloads\校徽\gear\bmp\4.bmp",0*/
- };
- unsigned char Word5[1][32] =
- {
- 0xFD,0xFC,0xE0,0xE3,0xE7,0x80,0x9E,0xD0,0x96,0x10,0xDE,0xE0,0xC7,0xF8,0xF9,0xFF,
- 0xFF,0x9F,0x1F,0xE3,0xE3,0x0B,0x78,0x09,0x6B,0x09,0x79,0x07,0xE7,0x07,0x3F,0xBF,/*"C:\Users\照臨\Downloads\校徽\gear\bmp\5.bmp",0*/
- };
- unsigned char Word6[1][32] =
- {
- 0xFD,0xF9,0xE8,0xC3,0xE7,0x80,0x1E,0xD0,0xD6,0x10,0x9E,0xE0,0xC7,0xF8,0xF8,0xFF,
- 0xBF,0x9F,0x17,0xE3,0xE7,0x09,0x78,0x09,0x69,0x08,0x79,0x07,0xE3,0x13,0x9F,0xBF,/*"C:\Users\照臨\Downloads\校徽\gear\bmp\6.bmp",0*/
- };
- unsigned char Word7[1][32] =
- {
- 0xFF,0xF9,0xF8,0xC7,0xC7,0xC0,0x1E,0x90,0xD6,0x90,0x9E,0xE0,0xE7,0xF0,0xFC,0xFF,
- 0xBF,0x3F,0x17,0xE7,0xE7,0x09,0x79,0x0B,0x69,0x08,0x7B,0x03,0xE3,0x1F,0x9F,0xFF,/*"C:\Users\照臨\Downloads\校徽\gear\bmp\7.bmp",0*/
- };
- unsigned char Word8[1][32] =
- {
- 0xFF,0xF9,0xF8,0xC7,0xC7,0xC0,0x9E,0x10,0xD6,0x90,0x9E,0xC0,0xE7,0xF0,0xFC,0xFE,
- 0xFF,0x3F,0x07,0xC7,0xE7,0x09,0x79,0x0B,0x68,0x08,0x7B,0x03,0xE3,0x1F,0x9F,0xFF,/*"C:\Users\照臨\Downloads\校徽\gear\bmp\8.bmp",0*/
- };
- unsigned char Word9[1][32] =
- {
- 0xFF,0xFB,0xF8,0xC3,0xC7,0xC0,0x9E,0x10,0xD6,0xD0,0x9E,0x80,0xE7,0xF0,0xF4,0xFE,
- 0x7F,0x3F,0x07,0xC7,0xE1,0x09,0x7B,0x0B,0x68,0x09,0x7B,0x03,0xE3,0x0F,0x4F,0xFF,/*"C:\Users\照臨\Downloads\校徽\gear\bmp\9.bmp",0*/
- };
- unsigned char Word10[1][32] =
- {
- 0xFF,0xF2,0xF0,0xD3,0xC7,0xC0,0xDE,0x10,0x96,0xD0,0x9E,0x80,0xF7,0xF0,0xF6,0xFE,
- 0x7F,0x6F,0x07,0xC7,0xE1,0x09,0x7B,0x09,0x68,0x09,0x7B,0x01,0xE3,0x0F,0x4F,0xFF,/*"C:\Users\照臨\Downloads\校徽\gear\bmp\10.bmp",0*/
- };
- const unsigned char Init_Display[1][32] =
- {
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- };
- void setup()
- {
- pinMode(LEDARRAY_D, OUTPUT);
- pinMode(LEDARRAY_C, OUTPUT);
- pinMode(LEDARRAY_B, OUTPUT);
- pinMode(LEDARRAY_A, OUTPUT);
- pinMode(LEDARRAY_G, OUTPUT);
- pinMode(LEDARRAY_DI, OUTPUT);
- pinMode(LEDARRAY_CLK, OUTPUT);
- pinMode(LEDARRAY_LAT, OUTPUT);
- Display(Init_Display);
- Serial.begin(9600);
- }
- void loop()
- {
- int spd = 18; //delay時間
- for (int i=1;i<=spd;i++)
- {
- Display(Word1);
- Serial.println('1');
- }
- for (int i=1;i<=spd;i++)
- {
- Display(Word2);
- Serial.println('2');
- }
- for (int i=1;i<=spd;i++)
- {
- Display(Word3);
- Serial.println('3');
- }
- for (int i=1;i<=spd;i++)
- {
- Display(Word4);
- Serial.println('4');
- }
- for (int i=1;i<=spd;i++)
- {
- Display(Word5);
- Serial.println('5');
- }
- for (int i=1;i<=spd;i++)
- {
- Display(Word6);
- Serial.println('6');
- }
- for (int i=1;i<=spd;i++)
- {
- Display(Word7);
- Serial.println('7');
- }
- for (int i=1;i<=spd;i++)
- {
- Display(Word8);
- Serial.println('8');
- }
- for (int i=1;i<=spd;i++)
- {
- Display(Word9);
- Serial.println('9');
- }
- for (int i=1;i<=spd;i++)
- {
- Display(Word10);
- Serial.println('0');
- }
- }
- void Display(const unsigned char dat[][32])
- {
- unsigned char i;
- for( i = 0 ; i < 16 ; i++ )
- {
- digitalWrite(LEDARRAY_G, HIGH);
- Display_Buffer[0] = dat[0][i];
- Display_Buffer[1] = dat[0][i+16];
- Send(Display_Buffer[1]);
- Send(Display_Buffer[0]);
- digitalWrite(LEDARRAY_LAT, HIGH);
- delayMicroseconds(1);
- digitalWrite(LEDARRAY_LAT, LOW);
- delayMicroseconds(1);
- Scan_Line(i);
- digitalWrite(LEDARRAY_G, LOW);
- delayMicroseconds(100);;
- }
- }
- void Scan_Line( unsigned char m)
- {
- switch(m)
- {
- case 0:
- digitalWrite(LEDARRAY_D, LOW);digitalWrite(LEDARRAY_C, LOW);digitalWrite(LEDARRAY_B, LOW);digitalWrite(LEDARRAY_A, LOW);
- break;
- case 1:
- digitalWrite(LEDARRAY_D, LOW);digitalWrite(LEDARRAY_C, LOW);digitalWrite(LEDARRAY_B, LOW);digitalWrite(LEDARRAY_A, HIGH);
- break;
- case 2:
- digitalWrite(LEDARRAY_D, LOW);digitalWrite(LEDARRAY_C, LOW);digitalWrite(LEDARRAY_B, HIGH);digitalWrite(LEDARRAY_A, LOW);
- break;
- case 3:
- digitalWrite(LEDARRAY_D, LOW);digitalWrite(LEDARRAY_C, LOW);digitalWrite(LEDARRAY_B, HIGH);digitalWrite(LEDARRAY_A, HIGH);
- break;
- case 4:
- digitalWrite(LEDARRAY_D, LOW);digitalWrite(LEDARRAY_C, HIGH);digitalWrite(LEDARRAY_B, LOW);digitalWrite(LEDARRAY_A, LOW);
- break;
- case 5:
- digitalWrite(LEDARRAY_D, LOW);digitalWrite(LEDARRAY_C, HIGH);digitalWrite(LEDARRAY_B, LOW);digitalWrite(LEDARRAY_A, HIGH);
- break;
- case 6:
- digitalWrite(LEDARRAY_D, LOW);digitalWrite(LEDARRAY_C, HIGH);digitalWrite(LEDARRAY_B, HIGH);digitalWrite(LEDARRAY_A, LOW);
- break;
- case 7:
- digitalWrite(LEDARRAY_D, LOW);digitalWrite(LEDARRAY_C, HIGH);digitalWrite(LEDARRAY_B, HIGH);digitalWrite(LEDARRAY_A, HIGH);
- break;
- case 8:
- digitalWrite(LEDARRAY_D, HIGH);digitalWrite(LEDARRAY_C, LOW);digitalWrite(LEDARRAY_B, LOW);digitalWrite(LEDARRAY_A, LOW);
- break;
- case 9:
- digitalWrite(LEDARRAY_D, HIGH);digitalWrite(LEDARRAY_C, LOW);digitalWrite(LEDARRAY_B, LOW);digitalWrite(LEDARRAY_A, HIGH);
- break;
- case 10:
- digitalWrite(LEDARRAY_D, HIGH);digitalWrite(LEDARRAY_C, LOW);digitalWrite(LEDARRAY_B, HIGH);digitalWrite(LEDARRAY_A, LOW);
- break;
- case 11:
- digitalWrite(LEDARRAY_D, HIGH);digitalWrite(LEDARRAY_C, LOW);digitalWrite(LEDARRAY_B, HIGH);digitalWrite(LEDARRAY_A, HIGH);
- break;
- case 12:
- digitalWrite(LEDARRAY_D, HIGH);digitalWrite(LEDARRAY_C, HIGH);digitalWrite(LEDARRAY_B, LOW);digitalWrite(LEDARRAY_A, LOW);
- break;
- case 13:
- digitalWrite(LEDARRAY_D, HIGH);digitalWrite(LEDARRAY_C, HIGH);digitalWrite(LEDARRAY_B, LOW);digitalWrite(LEDARRAY_A, HIGH);
- break;
- case 14:
- digitalWrite(LEDARRAY_D, HIGH);digitalWrite(LEDARRAY_C, HIGH);digitalWrite(LEDARRAY_B, HIGH);digitalWrite(LEDARRAY_A, LOW);
- break;
- case 15:
- digitalWrite(LEDARRAY_D, HIGH);digitalWrite(LEDARRAY_C, HIGH);digitalWrite(LEDARRAY_B, HIGH);digitalWrite(LEDARRAY_A, HIGH);
- break;
- default : break;
- }
- }
- void Send( unsigned char dat)
- {
- unsigned char i;
- digitalWrite(LEDARRAY_CLK, LOW);
- delayMicroseconds(1);;
- digitalWrite(LEDARRAY_LAT, LOW);
- delayMicroseconds(1);;
- for( i = 0 ; i < 8 ; i++ )
- {
- if( dat&0x01 )
- {
- digitalWrite(LEDARRAY_DI, HIGH);
- }
- else
- {
- digitalWrite(LEDARRAY_DI, LOW);
- }
- delayMicroseconds(1);
- digitalWrite(LEDARRAY_CLK, HIGH);
- delayMicroseconds(1);
- digitalWrite(LEDARRAY_CLK, LOW);
- delayMicroseconds(1);
- dat >>= 1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement