Hello,
I am using Arduino to program my EEPROM for the Output of my 8-bit breadboard computer. This was the code which I was running ::
#define SHIFT_DATA 2
#define SHIFT_CLK 3
#define SHIFT_LATCH 4
#define EEPROM_D0 5
#define EEPROM_D7 12
void setAddress(int address, bool outputEnable)
{
shiftOut(SHIFT_DATA, SHIFT_CLK, MSBFIRST, (address >>
| (outputEnable ? 0x00 : 0x80));
shiftOut(SHIFT_DATA, SHIFT_CLK, MSBFIRST, address);
digitalWrite(SHIFT_LATCH, LOW);
digitalWrite(SHIFT_LATCH, HIGH);
digitalWrite(SHIFT_LATCH, LOW);
}
byte readEEPROM(int address){
setAddress(address, /*OutputEmable*/ true);
byte data = 0;
for(int pin = EEPROM_D7; pin >= EEPROM_D0; pin -= 1){
data = (data << 1) + digitalRead(pin);
}
return data;
}
void setup() {
// put your setup code here, to run once:
pinMode(SHIFT_DATA,OUTPUT);
pinMode(SHIFT_CLK,OUTPUT);
pinMode(SHIFT_LATCH,OUTPUT);
Serial.begin(57600);
for (int base = 0; base <=255; base += 16){
byte data[16];
for(int offset = 0; offset <=15; offset +=1){
data[offset] = readEEPROM(base + offset);
}
char buf[80];
sprintf(buf, "%03x: %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x",
base, data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7], data[8], data[9], data[10],
data[11], data[12], data[13], data[14], data[15]);
Serial.println(buf);
}
}
void loop() {
// put your main code here, to run repeatedly:
}
Now, I ideally this must give me what is there in the contents of the EEPROM in the Serial Monitor. But, when I look at it - I get crazy kind of Fonts...
For Example : (This was in My EEPROM btw)
????)a?O"??!5???CC?BB!B?BCD??B??!F??!B??&?C??Fic?!
???HCBC???B!??!
?BÆ@??K??B!B?F!!!¡DB???B!N?!?E
B)#F?"??B?=!??C?"?