#include "DotMatrix.h"
void setup() {
// put your setup code here, to run once:
DM_init();
volatile unsigned int count = 0;
//for led to turn on port_c = 1 & port_b/port_d = 0
//*PORT_C controls led in column
//*PORT_D & *PORT_B controls led in row
while (1) {
volatile char posi = 6;
for (posi; posi >= 0; posi--) {//left to right
for (count; count < 4; count++) {// delay
dispA(posi);
}
count = 0;
// delay(100);
// for (count; count <15535; count++);// delay purpose
}
}
// for (char i = 0; i < 8; i++) {
// delay(500);
// *PORT_C = *PORT_C << 1;
// }
// BottomRow();
}
void dispA(char posi) {
switch (posi) {
case 0:
*PORT_C = 0x02;
*PORT_D = 0x7F; *PORT_B = 0x03;
delay(50);
*PORT_C = 0x05;
*PORT_D = 0xBF; *PORT_B = 0x03;
delay(50);
break;
case 1:
*PORT_C = 0x04;
*PORT_D = 0x7F; *PORT_B = 0x03;
delay(50);
*PORT_C = 0x0A;
*PORT_D = 0xBF; *PORT_B = 0x03;
delay(50);
break;
case 2:
*PORT_C = 0x08;
*PORT_D = 0x7F; *PORT_B = 0x03;
delay(50);
*PORT_C = 0x14;
*PORT_D = 0xBF; *PORT_B = 0x03;
delay(50);
break;
case 3:
*PORT_C = 0x10;
*PORT_D = 0x7F; *PORT_B = 0x03;
delay(50);
*PORT_C = 0x28;
*PORT_D = 0xBF; *PORT_B = 0x03;
delay(50);
break;
case 4:
*PORT_C = 0x20;
*PORT_D = 0x7F; *PORT_B = 0x03;
delay(50);
*PORT_C = 0x50;
*PORT_D = 0xBF; *PORT_B = 0x03;
delay(50);
break;
case 5:
*PORT_C = 0x40;
*PORT_D = 0x7F; *PORT_B = 0x03;
delay(50);
*PORT_C = 0xA0;
*PORT_D = 0xBF; *PORT_B = 0x03;
delay(50);
break;
case 6:
*PORT_C = 0x80;
*PORT_D = 0x7F; *PORT_B = 0x03;
delay(50);
*PORT_C = 0x40;
*PORT_D = 0xBF; *PORT_B = 0x03;
delay(50);
break;
}
}
void loop() {
// put your main code here, to run repeatedly:
}