/* Matrix Sample codes Codes by: e-Gizmo Mechatronix Central http://www.e-gizmo.com */ #include "cmap.h" int d = 0; unsigned char char_pointer; char Display_Ram[134]; unsigned char mask; char LED_DATA[]= " Welcome to e-Gizmo Mechatronix Central!!! ~"; char count; unsigned char shift_counter; #define INTEN 2000 const char CLK = 5; const char DAT = 6; const char STR = 7; const char K0 = A0; const char K1 = A1; const char K2 = A2; const char K3 = A3; const char K4 = 8; const char K5 = 9; const char K6 = 10; const char K7 = 11; void setup() { pinMode(CLK, OUTPUT); pinMode(DAT, OUTPUT); pinMode(STR, OUTPUT); pinMode(K0, OUTPUT); pinMode(K1, OUTPUT); pinMode(K2, OUTPUT); pinMode(K3, OUTPUT); pinMode(K4, OUTPUT); pinMode(K5, OUTPUT); pinMode(K6, OUTPUT); pinMode(K7, OUTPUT); digitalWrite(K0,HIGH); digitalWrite(K1,HIGH); digitalWrite(K2,HIGH); digitalWrite(K3,HIGH); digitalWrite(K4,HIGH); digitalWrite(K5,HIGH); digitalWrite(K6,HIGH); digitalWrite(K7,HIGH); for(d=0;d<128;d++) { clock(); } strobe(); d = 0; } void loop(){ Display(); shift(); } void shift(void) { Display_Ram[0] = Display_Ram[1]; Display_Ram[1] = Display_Ram[2]; Display_Ram[2] = Display_Ram[3]; Display_Ram[3] = Display_Ram[4]; Display_Ram[4] = Display_Ram[5]; Display_Ram[5] = Display_Ram[6]; Display_Ram[6] = Display_Ram[7]; Display_Ram[7] = Display_Ram[8]; Display_Ram[8] = Display_Ram[9]; Display_Ram[9] = Display_Ram[10]; Display_Ram[10] = Display_Ram[11]; Display_Ram[11] = Display_Ram[12]; Display_Ram[12] = Display_Ram[13]; Display_Ram[13] = Display_Ram[14]; Display_Ram[14] = Display_Ram[15]; Display_Ram[15] = Display_Ram[16]; Display_Ram[16] = Display_Ram[17]; Display_Ram[17] = Display_Ram[18]; Display_Ram[18] = Display_Ram[19]; Display_Ram[19] = Display_Ram[20]; Display_Ram[20] = Display_Ram[21]; Display_Ram[21] = Display_Ram[22]; Display_Ram[22] = Display_Ram[23]; Display_Ram[23] = Display_Ram[24]; Display_Ram[24] = Display_Ram[25]; Display_Ram[25] = Display_Ram[26]; Display_Ram[26] = Display_Ram[27]; Display_Ram[27] = Display_Ram[28]; Display_Ram[28] = Display_Ram[29]; Display_Ram[29] = Display_Ram[30]; Display_Ram[30] = Display_Ram[31]; Display_Ram[31] = Display_Ram[32]; Display_Ram[32] = Display_Ram[33]; Display_Ram[33] = Display_Ram[34]; Display_Ram[34] = Display_Ram[35]; Display_Ram[35] = Display_Ram[36]; Display_Ram[36] = Display_Ram[37]; // Display_Ram[37] = Display_Ram[38]; Display_Ram[38] = Display_Ram[39]; Display_Ram[39] = Display_Ram[40]; Display_Ram[40] = Display_Ram[41]; Display_Ram[41] = Display_Ram[42]; Display_Ram[42] = Display_Ram[43]; Display_Ram[43] = Display_Ram[44]; Display_Ram[44] = Display_Ram[45]; Display_Ram[45] = Display_Ram[46]; Display_Ram[46] = Display_Ram[47]; Display_Ram[47] = Display_Ram[48]; Display_Ram[48] = Display_Ram[49]; Display_Ram[49] = Display_Ram[50]; Display_Ram[50] = Display_Ram[51]; Display_Ram[51] = Display_Ram[52]; Display_Ram[52] = Display_Ram[53]; Display_Ram[53] = Display_Ram[54]; Display_Ram[54] = Display_Ram[55]; Display_Ram[55] = Display_Ram[56]; Display_Ram[56] = Display_Ram[57]; Display_Ram[57] = Display_Ram[58]; Display_Ram[58] = Display_Ram[59]; Display_Ram[59] = Display_Ram[60]; Display_Ram[60] = Display_Ram[61]; Display_Ram[61] = Display_Ram[62]; Display_Ram[62] = Display_Ram[63]; Display_Ram[63] = Display_Ram[64]; Display_Ram[64] = Display_Ram[65]; Display_Ram[65] = Display_Ram[66]; Display_Ram[66] = Display_Ram[67]; Display_Ram[67] = Display_Ram[68]; Display_Ram[68] = Display_Ram[69]; Display_Ram[69] = Display_Ram[70]; Display_Ram[70] = Display_Ram[71]; Display_Ram[71] = Display_Ram[72]; Display_Ram[72] = Display_Ram[73]; Display_Ram[73] = Display_Ram[74]; Display_Ram[74] = Display_Ram[75]; Display_Ram[75] = Display_Ram[76]; Display_Ram[76] = Display_Ram[77]; Display_Ram[77] = Display_Ram[78]; Display_Ram[78] = Display_Ram[79]; Display_Ram[79] = Display_Ram[80]; Display_Ram[80] = Display_Ram[81]; Display_Ram[81] = Display_Ram[82]; Display_Ram[82] = Display_Ram[83]; Display_Ram[83] = Display_Ram[84]; Display_Ram[84] = Display_Ram[85]; Display_Ram[85] = Display_Ram[86]; Display_Ram[86] = Display_Ram[87]; Display_Ram[87] = Display_Ram[88]; Display_Ram[88] = Display_Ram[89]; Display_Ram[89] = Display_Ram[90]; Display_Ram[90] = Display_Ram[91]; Display_Ram[91] = Display_Ram[92]; Display_Ram[92] = Display_Ram[93]; Display_Ram[93] = Display_Ram[94]; Display_Ram[94] = Display_Ram[95]; Display_Ram[95] = Display_Ram[96]; Display_Ram[96] = Display_Ram[97]; Display_Ram[97] = Display_Ram[98]; Display_Ram[98] = Display_Ram[99]; Display_Ram[99] = Display_Ram[100]; Display_Ram[100] = Display_Ram[101]; Display_Ram[101] = Display_Ram[102]; Display_Ram[102] = Display_Ram[103]; Display_Ram[103] = Display_Ram[104]; Display_Ram[104] = Display_Ram[105]; Display_Ram[105] = Display_Ram[106]; Display_Ram[106] = Display_Ram[107]; Display_Ram[107] = Display_Ram[108]; Display_Ram[108] = Display_Ram[109]; Display_Ram[109] = Display_Ram[110]; Display_Ram[110] = Display_Ram[111]; Display_Ram[111] = Display_Ram[112]; Display_Ram[112] = Display_Ram[113]; Display_Ram[113] = Display_Ram[114]; Display_Ram[114] = Display_Ram[115]; Display_Ram[115] = Display_Ram[116]; Display_Ram[116] = Display_Ram[117]; Display_Ram[117] = Display_Ram[118]; Display_Ram[118] = Display_Ram[119]; Display_Ram[119] = Display_Ram[120]; Display_Ram[120] = Display_Ram[121]; Display_Ram[121] = Display_Ram[122]; Display_Ram[122] = Display_Ram[123]; Display_Ram[123] = Display_Ram[124]; Display_Ram[124] = Display_Ram[125]; Display_Ram[125] = Display_Ram[126]; Display_Ram[126] = Display_Ram[127]; Display_Ram[127] = Display_Ram[128]; Display_Ram[128] = Display_Ram[129]; Display_Ram[129] = Display_Ram[130]; Display_Ram[130] = Display_Ram[131]; Display_Ram[131] = Display_Ram[132]; Display_Ram[132] = Display_Ram[133]; shift_counter++; if(shift_counter == 6){ shift_counter = 0; load(); } } void Display(void) { mask = 0x01; scan(); digitalWrite(K7,LOW); for(d=0;d(-1);count--){ if ((Display_Ram[count] & mask) == mask) digitalWrite(DAT,LOW); else digitalWrite(DAT,HIGH); clock(); } strobe(); } void clock(void){ digitalWrite(CLK,HIGH); // clock hi digitalWrite(CLK,LOW); // clock low } void strobe(void){ digitalWrite(STR,HIGH); // strobe hi digitalWrite(STR,LOW); // strobe low }