#include "cmap.h" int d; char *char_pointer; char Display_Ram[102]; unsigned char mask; char LED_DATA[100]= "Welcome to e-Gizmo Mechatronix Central?\n"; char spaces[25] = " ~"; char count; unsigned char shift_counter; #define INTEN 6000 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<96;d++) { clock(); } strobe(); d = 0; char_pointer = LED_DATA; } void loop(){ Display(); } void shift(void) { byte C1, C2; for(C2=1; C2<102; C2++) { C1 = C2 - 1; Display_Ram[C1] = Display_Ram[C2]; } 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); digitalWrite(CLK,LOW); } void strobe(void){ digitalWrite(STR,HIGH); digitalWrite(STR,LOW); } void Clear_Display_Ram(void) { unsigned char rcount; for(rcount = 0; rcount < 37; rcount++) Display_Ram[rcount] = 0xff; } void Clear_Display(void) { byte count; for(count = 0; count < 102; count++) { Display_Ram[count] = 0; } for(count=0; count<96; count++) { clock(); } strobe(); }