Hardware components | ||||||
| × | 4 | ||||
| × | 1 | ||||
| × | 4 | ||||
![]() |
| × | 1 | |||
![]() |
| × | 130 | |||
![]() |
| × | 1 |
The data and data-storage is of great importance for almost any kind of research project, even for tools. While nosediving in the deep sea of the physical computing and having a lack of memory for a project, whilst not willing to use any kind of flash-cards or anything similar via SPI, I realized that, one could make a great use of the old UV-EPROMs from AMD. Those are very good especially for fast-pace microprocessor read/write's. Having typically access times of ~c.a. 45ns. They maintain the speed via parallel interface which requires a ton of a GPIO but the Ard. Due with its MPU has enough GPIO and perfectly fits for this. The amount of addresses to be used is at our convinience (16) and can be easily manipulated. Then comes 8 bit data-bus into play, which is used for data-transmission obviously, nothing fancy. The nice thing here is the possiblity to hook-up many of those (256 Kbyte) EPROMs together (having them to share the data-bus and address-bus GPIO) and create a so called memory-card!, like we have in our desktops, laptops, in a form of RAM, raughly speaking. For µController projects much memory is not needed. The most of the memory is being used for the actual code. In case of measurements, place to store the measured data for later extraction. I made the design in a way that it can be easily removed and replugged. It is very convinient to use in outdoor/field or areas which have rough conditions too, in comparsion to flash-cards which can easily break. The form-factor is out of comparison, but I have no issues carrying couple of grams in my pocket ^^).
Memory-Card schematic for general overview

AMD_UV-EPROM_Write_Mode.ino.ino
C# /* AMD UV-EPROM Programming on Arduino, Arduino-MEGA-2560 SDK Platform.
--------------------------------------------------------------------
AMD UV-EPROM Programming Program V1.01. suitable only for programming.
----------------------------------------------------------------------
AMD UV-EPROM 8 bit - data bus is used and 8 - address lines used 17 from 17 available.
--------------------------------------------------------------------------------------
Program can be used to run through the EPROM's addresses and writes down the data,
also print it in serial monitor. Program represents the basic concepts of UV-EPROM functionality
combined with the MCU.
------------------------------------------------------------------------------------------------
----------------------------------------------------------------- */
const int DQ_0_1=6;
const int DQ_1_1=7; //RX comm prot. DO NOT USE ! are needed for serial communication
const int DQ_2_1=8; //TX comm prot. DO NOT USE ! are needed for serial communication
const int DQ_3_1=9;
const int DQ_4_1=10; //Data-Bus 1
const int DQ_5_1=11;
const int DQ_6_1=12;
const int DQ_7_1=13;
const int DQ_0_2=22;
const int DQ_1_2=23;
const int DQ_2_2=24;
const int DQ_3_2=25; //Data-Bus 2
const int DQ_4_2=2;
const int DQ_5_2=3;
const int DQ_6_2=4;
const int DQ_7_2=5;
// EPROM data-bus connection initialisation
int X0_1, X1_1, X2_1, X3_1, X4_1, X5_1, X6_1, X7_1; //Data-Bus X EPROM 1
int X0_2, X1_2, X2_2, X3_2, X4_2, X5_2, X6_2, X7_2; //Data-Bus X EPROM 2
int X0_3, X1_3, X2_3, X3_3, X4_3, X5_3, X6_3, X7_3; //Data-Bus X EPROM 3
int X0_4, X1_4, X2_4, X3_4, X4_4, X5_4, X6_4, X7_4; //Data-Bus X EPROM 4
// variables to catch the EPROM data for Serial transmission RX-TX
int t_time=1000;
const int adr_A0=36;
const int adr_A1=37;
const int adr_A2=38;
const int adr_A3=39;
const int adr_A4=40;
const int adr_A5=41;
const int adr_A6=42;
const int adr_A7=43;
const int adr_A8=44;
const int adr_A9=45; // ADDRESS-BUS
const int adr_A10=46;
const int adr_A11=47;
const int adr_A12=48;
const int adr_A13=49;
const int adr_A14=50;
const int adr_A15=51;
const int adr_A16=52;
// EPROM Control-Lins connection initialisation
const int Chip_enable_X1=34;
const int Output_enable_X1=32;
const int PGM_Program_X1=30;
const int Chip_enable_X2=26;
const int Output_enable_X2=27;
const int PGM_Program_X2=28;
const int Chip_enable_E_X3=31;
const int Output_enable_G_X3=29;
const int Chip_enable_E_X4=35;
const int Output_enable_G_X4=33;
// MCU digital interface port initialisation
void setup()
{
for(int a_data_bus_GPIO=13; a_data_bus_GPIO<=2; a_data_bus_GPIO--)
{
pinMode(a_data_bus_GPIO, INPUT_PULLUP);
}
for(int b_data_bus_GPIO=22; b_data_bus_GPIO<=25; b_data_bus_GPIO++)
{
pinMode(b_data_bus_GPIO, INPUT_PULLUP);
}
for(int address_bus_GPIO=26; address_bus_GPIO<=52; address_bus_GPIO++)
{
pinMode(address_bus_GPIO, OUTPUT);
}
/*for(int a_control_GPIO=18; control_GPIO<20; control_GPIO++)
{
pinMode(control_GPIO, OUTPUT);
}
*/
Serial.begin(9600);
// EPROM Control setup for Reading mode
digitalWrite(PGM_Program_X1, LOW); // X1 UV-EPROM AMD
digitalWrite(Chip_enable_X1, LOW);
digitalWrite(Output_enable_X1, HIGH);
digitalWrite(PGM_Program_X2, HIGH); // X2 UV-EPROM AMD
digitalWrite(Chip_enable_X2, HIGH);
digitalWrite(Output_enable_X2, HIGH);
digitalWrite(Chip_enable_E_X3, HIGH);
digitalWrite(Output_enable_G_X3, HIGH);
digitalWrite(Chip_enable_E_X4, HIGH);
digitalWrite(Output_enable_G_X4, HIGH);
// Setting up EPROM for reading mode
Serial.println("\t Reading from UV-EPROM.....- ACTIVE");
Serial.print("\t\t\t\t Streaming values.....");
Serial.println("");
digitalWrite(DQ_0_1, HIGH);
digitalWrite(DQ_1_1, LOW);
digitalWrite(DQ_2_1, LOW);
digitalWrite(DQ_3_1, LOW);
digitalWrite(DQ_4_1, LOW); //data_bus
digitalWrite(DQ_5_1, LOW);
digitalWrite(DQ_6_1, LOW);
digitalWrite(DQ_7_1, LOW);
Serial.print("\t");
digitalWrite(adr_A0, HIGH);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/*
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));*/
delay(t_time);
Serial.println("");
digitalWrite(DQ_0_1, HIGH);
digitalWrite(DQ_1_1, HIGH);
digitalWrite(DQ_2_1, LOW);
digitalWrite(DQ_3_1, LOW);
digitalWrite(DQ_4_1, LOW); //data_bus
digitalWrite(DQ_5_1, LOW);
digitalWrite(DQ_6_1, LOW);
digitalWrite(DQ_7_1, LOW);
Serial.print("\t");
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, HIGH);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/*
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));*/
delay(t_time);
Serial.println("");
digitalWrite(DQ_0_1, HIGH);
digitalWrite(DQ_1_1, HIGH);
digitalWrite(DQ_2_1, HIGH);
digitalWrite(DQ_3_1, LOW);
digitalWrite(DQ_4_1, LOW); //data_bus
digitalWrite(DQ_5_1, LOW);
digitalWrite(DQ_6_1, LOW);
digitalWrite(DQ_7_1, LOW);
Serial.print("\t");
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, HIGH);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/*
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));*/
delay(t_time);
Serial.println("");
digitalWrite(DQ_0_1, HIGH);
digitalWrite(DQ_1_1, HIGH);
digitalWrite(DQ_2_1, HIGH);
digitalWrite(DQ_3_1, HIGH);
digitalWrite(DQ_4_1, LOW); //data_bus
digitalWrite(DQ_5_1, LOW);
digitalWrite(DQ_6_1, LOW);
digitalWrite(DQ_7_1, LOW);
Serial.print("\t");
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, HIGH);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/*
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2)); */
delay(t_time);
Serial.println("");
digitalWrite(DQ_0_1, HIGH);
digitalWrite(DQ_1_1, HIGH);
digitalWrite(DQ_2_1, HIGH);
digitalWrite(DQ_3_1, HIGH);
digitalWrite(DQ_4_1, HIGH); //data_bus
digitalWrite(DQ_5_1, LOW);
digitalWrite(DQ_6_1, LOW);
digitalWrite(DQ_7_1, LOW);
Serial.print("\t");
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, HIGH); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2)); */
delay(t_time);
Serial.println("");
digitalWrite(DQ_0_1, HIGH);
digitalWrite(DQ_1_1, HIGH);
digitalWrite(DQ_2_1, HIGH);
digitalWrite(DQ_3_1, HIGH);
digitalWrite(DQ_4_1, HIGH); //data_bus
digitalWrite(DQ_5_1, HIGH);
digitalWrite(DQ_6_1, LOW);
digitalWrite(DQ_7_1, LOW);
Serial.print("\t");
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, HIGH);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/*
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2)); */
delay(t_time);
Serial.println("");
digitalWrite(DQ_0_1, HIGH);
digitalWrite(DQ_1_1, HIGH);
digitalWrite(DQ_2_1, HIGH);
digitalWrite(DQ_3_1, HIGH);
digitalWrite(DQ_4_1, HIGH); //data_bus
digitalWrite(DQ_5_1, HIGH);
digitalWrite(DQ_6_1, HIGH);
digitalWrite(DQ_7_1, LOW);
Serial.print("\t");
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, HIGH);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2)); */
delay(t_time);
Serial.println("");
digitalWrite(DQ_0_1, HIGH);
digitalWrite(DQ_1_1, HIGH);
digitalWrite(DQ_2_1, HIGH);
digitalWrite(DQ_3_1, HIGH);
digitalWrite(DQ_4_1, HIGH); //data_bus
digitalWrite(DQ_5_1, HIGH);
digitalWrite(DQ_6_1, HIGH);
digitalWrite(DQ_7_1, HIGH);
Serial.print("\t");
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, HIGH);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/*
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2)); */
delay(t_time);
Serial.println("");
digitalWrite(DQ_0_1, LOW);
digitalWrite(DQ_1_1, LOW);
digitalWrite(DQ_2_1, LOW);
digitalWrite(DQ_3_1, LOW);
digitalWrite(DQ_4_1, LOW); //data_bus
digitalWrite(DQ_5_1, LOW);
digitalWrite(DQ_6_1, LOW);
digitalWrite(DQ_7_1, HIGH);
Serial.print("\t");
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, HIGH);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2)); */
Serial.println("");
digitalWrite(DQ_0_1, LOW);
digitalWrite(DQ_1_1, LOW);
digitalWrite(DQ_2_1, LOW);
digitalWrite(DQ_3_1, LOW);
digitalWrite(DQ_4_1, LOW); //data_bus
digitalWrite(DQ_5_1, LOW);
digitalWrite(DQ_6_1, HIGH);
digitalWrite(DQ_7_1, HIGH);
Serial.print("\t");
digitalWrite(adr_A0, HIGH);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, HIGH);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2)); */
delay(t_time);
Serial.println("");
digitalWrite(DQ_0_1, LOW);
digitalWrite(DQ_1_1, LOW);
digitalWrite(DQ_2_1, LOW);
digitalWrite(DQ_3_1, LOW);
digitalWrite(DQ_4_1, LOW); //data_bus
digitalWrite(DQ_5_1, HIGH);
digitalWrite(DQ_6_1, HIGH);
digitalWrite(DQ_7_1, HIGH);
Serial.print("\t");
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, HIGH);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2)); */
delay(t_time);
Serial.println("");
digitalWrite(DQ_0_1, LOW);
digitalWrite(DQ_1_1, LOW);
digitalWrite(DQ_2_1, LOW);
digitalWrite(DQ_3_1, LOW);
digitalWrite(DQ_4_1, HIGH); //data_bus
digitalWrite(DQ_5_1, HIGH);
digitalWrite(DQ_6_1, HIGH);
digitalWrite(DQ_7_1, HIGH);
Serial.print("\t");
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, HIGH);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2)); */
delay(t_time);
Serial.println("");
digitalWrite(DQ_0_1, LOW);
digitalWrite(DQ_1_1, LOW);
digitalWrite(DQ_2_1, LOW);
digitalWrite(DQ_3_1, HIGH);
digitalWrite(DQ_4_1, HIGH); //data_bus
digitalWrite(DQ_5_1, HIGH);
digitalWrite(DQ_6_1, HIGH);
digitalWrite(DQ_7_1, HIGH);
Serial.print("\t");
digitalWrite(adr_A0, HIGH);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, HIGH);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2)); */
delay(t_time);
Serial.println("");
digitalWrite(DQ_0_1, LOW);
digitalWrite(DQ_1_1, LOW);
digitalWrite(DQ_2_1, HIGH);
digitalWrite(DQ_3_1, HIGH);
digitalWrite(DQ_4_1, HIGH); //data_bus
digitalWrite(DQ_5_1, HIGH);
digitalWrite(DQ_6_1, HIGH);
digitalWrite(DQ_7_1, HIGH);
Serial.print("\t");
digitalWrite(adr_A0, HIGH);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, HIGH);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2)); */
Serial.println("");
digitalWrite(DQ_0_1, LOW);
digitalWrite(DQ_1_1, HIGH);
digitalWrite(DQ_2_1, HIGH);
digitalWrite(DQ_3_1, HIGH);
digitalWrite(DQ_4_1, HIGH); //data_bus
digitalWrite(DQ_5_1, HIGH);
digitalWrite(DQ_6_1, HIGH);
digitalWrite(DQ_7_1, HIGH);
Serial.print("\t");
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, HIGH);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2)); */
delay(t_time);
Serial.println("");
digitalWrite(DQ_0_1, HIGH);
digitalWrite(DQ_1_1, HIGH);
digitalWrite(DQ_2_1, HIGH);
digitalWrite(DQ_3_1, HIGH);
digitalWrite(DQ_4_1, HIGH); //data_bus
digitalWrite(DQ_5_1, HIGH);
digitalWrite(DQ_6_1, HIGH);
digitalWrite(DQ_7_1, HIGH);
Serial.print("\t");
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, HIGH);
digitalWrite(adr_A16, LOW);
/* Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2)); */
delay(t_time);
Serial.println("");
digitalWrite(DQ_0_1, LOW);
digitalWrite(DQ_1_1, LOW);
digitalWrite(DQ_2_1, LOW);
digitalWrite(DQ_3_1, HIGH);
digitalWrite(DQ_4_1, HIGH); //data_bus
digitalWrite(DQ_5_1, LOW);
digitalWrite(DQ_6_1, LOW);
digitalWrite(DQ_7_1, LOW);
Serial.print("\t");
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, HIGH);
/* Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));*/
}
void loop()
{
}
AMD_UV-EPROM_Read_Mode.ino
C# /* AMD UV-EPROM Programming on Arduino, Arduino-MEGA-2560 SDK Platform.
--------------------------------------------------------------------
AMD UV-EPROM Reading Program V1.01. suitable only for reading mode.
-------------------------------------------------------------------
AMD UV-EPROM 8 bit - data bus is used and 8 - address lines used 17 from 17 available.
--------------------------------------------------------------------------------------
Program can be used to run through the EPROM's addresses and read out the data,
also print it in serial monitor. Program represents the basic concepts of UV-EPROM functionality
combined with the MCU.
------------------------------------------------------------------------------------------------
----------------------------------------------------------------- */
const int DQ_0_1=6;
const int DQ_1_1=7; //RX comm prot. DO NOT USE ! are needed for serial communication
const int DQ_2_1=8; //TX comm prot. DO NOT USE ! are needed for serial communication
const int DQ_3_1=9;
const int DQ_4_1=10; //Data-Bus 1
const int DQ_5_1=11;
const int DQ_6_1=12;
const int DQ_7_1=13;
const int DQ_0_2=22;
const int DQ_1_2=23;
const int DQ_2_2=24;
const int DQ_3_2=25; //Data-Bus 2
const int DQ_4_2=2;
const int DQ_5_2=3;
const int DQ_6_2=4;
const int DQ_7_2=5;
// EPROM data-bus connection initialisation
int X0_1, X1_1, X2_1, X3_1, X4_1, X5_1, X6_1, X7_1; //Data-Bus X EPROM 1
int X0_2, X1_2, X2_2, X3_2, X4_2, X5_2, X6_2, X7_2; //Data-Bus X EPROM 2
int X0_3, X1_3, X2_3, X3_3, X4_3, X5_3, X6_3, X7_3; //Data-Bus X EPROM 3
int X0_4, X1_4, X2_4, X3_4, X4_4, X5_4, X6_4, X7_4; //Data-Bus X EPROM 4
// variables to catch the EPROM data for Serial transmission RX-TX
int t_time=100;
const int adr_A0=36;
const int adr_A1=37;
const int adr_A2=38;
const int adr_A3=39;
const int adr_A4=40;
const int adr_A5=41;
const int adr_A6=42;
const int adr_A7=43;
const int adr_A8=44;
const int adr_A9=45; // ADDRESS-BUS
const int adr_A10=46;
const int adr_A11=47;
const int adr_A12=48;
const int adr_A13=49;
const int adr_A14=50;
const int adr_A15=51;
const int adr_A16=52;
// EPROM Control-Lins connection initialisation
const int Chip_enable_X1=34;
const int Output_enable_X1=32;
const int PGM_Program_X1=30;
const int Chip_enable_X2=26;
const int Output_enable_X2=27;
const int PGM_Program_X2=28;
const int Chip_enable_E_X3=31;
const int Output_enable_G_X3=29;
const int Chip_enable_E_X4=35;
const int Output_enable_G_X4=33;
// MCU digital interface port initialisation
void setup()
{
for(int a_data_bus_GPIO=13; a_data_bus_GPIO<=2; a_data_bus_GPIO--)
{
pinMode(a_data_bus_GPIO, INPUT_PULLUP);
}
for(int b_data_bus_GPIO=22; b_data_bus_GPIO<=25; b_data_bus_GPIO++)
{
pinMode(b_data_bus_GPIO, INPUT_PULLUP);
}
for(int address_bus_GPIO=26; address_bus_GPIO<=52; address_bus_GPIO++)
{
pinMode(address_bus_GPIO, OUTPUT);
}
/*for(int a_control_GPIO=18; control_GPIO<20; control_GPIO++)
{
pinMode(control_GPIO, OUTPUT);
}
*/
Serial.begin(9600);
// EPROM Control setup for Reading mode
digitalWrite(PGM_Program_X1, LOW); // X1 UV-EPROM AMD
digitalWrite(Chip_enable_X1, LOW);
digitalWrite(Output_enable_X1, LOW);
digitalWrite(PGM_Program_X2, HIGH); // X2 UV-EPROM AMD
digitalWrite(Chip_enable_X2, HIGH);
digitalWrite(Output_enable_X2, HIGH);
digitalWrite(Chip_enable_E_X3, HIGH);
digitalWrite(Output_enable_G_X3, HIGH);
digitalWrite(Chip_enable_E_X4, HIGH);
digitalWrite(Output_enable_G_X4, HIGH);
}
// Setting up EPROM for reading mode
void loop()
{
Serial.println("\t Reading from UV-EPROM.....- ACTIVE");
Serial.print("\t\t\t\t Streaming values.....");
digitalWrite(adr_A0, HIGH);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
Serial.println("");
/*
Serial.print(X0_1=digitalRead(DQ_0_1));
Serial.print(X1_1=digitalRead(DQ_1_1));
Serial.print(X2_1=digitalRead(DQ_2_1));
Serial.print(X3_1=digitalRead(DQ_3_1));
Serial.print(X4_1=digitalRead(DQ_4_1)); //data_bus
Serial.print(X5_1=digitalRead(DQ_5_1));
Serial.print(X6_1=digitalRead(DQ_6_1));
Serial.print(X7_1=digitalRead(DQ_7_1));
Serial.print("\t"); */
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));
Serial.print("\t");
delay(t_time);
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, HIGH);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.println("\t");
Serial.print(X0_1=digitalRead(DQ_0_1));
Serial.print(X1_1=digitalRead(DQ_1_1));
Serial.print(X2_1=digitalRead(DQ_2_1));
Serial.print(X3_1=digitalRead(DQ_3_1));
Serial.print(X4_1=digitalRead(DQ_4_1)); //data_bus
Serial.print(X5_1=digitalRead(DQ_5_1));
Serial.print(X6_1=digitalRead(DQ_6_1));
Serial.print(X7_1=digitalRead(DQ_7_1)); */
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));
delay(t_time);
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, HIGH);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.println("\t");
Serial.print(X0_1=digitalRead(DQ_0_1));
Serial.print(X1_1=digitalRead(DQ_1_1));
Serial.print(X2_1=digitalRead(DQ_2_1));
Serial.print(X3_1=digitalRead(DQ_3_1));
Serial.print(X4_1=digitalRead(DQ_4_1)); //data_bus
Serial.print(X5_1=digitalRead(DQ_5_1));
Serial.print(X6_1=digitalRead(DQ_6_1));
Serial.print(X7_1=digitalRead(DQ_7_1)); */
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));
delay(t_time);
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, HIGH);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.println("\t");
Serial.print(X0_1=digitalRead(DQ_0_1));
Serial.print(X1_1=digitalRead(DQ_1_1));
Serial.print(X2_1=digitalRead(DQ_2_1));
Serial.print(X3_1=digitalRead(DQ_3_1));
Serial.print(X4_1=digitalRead(DQ_4_1)); //data_bus
Serial.print(X5_1=digitalRead(DQ_5_1));
Serial.print(X6_1=digitalRead(DQ_6_1));
Serial.print(X7_1=digitalRead(DQ_7_1)); */
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));
delay(t_time);
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, HIGH); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.println("\t");
Serial.print(X0_1=digitalRead(DQ_0_1));
Serial.print(X1_1=digitalRead(DQ_1_1));
Serial.print(X2_1=digitalRead(DQ_2_1));
Serial.print(X3_1=digitalRead(DQ_3_1));
Serial.print(X4_1=digitalRead(DQ_4_1)); //data_bus
Serial.print(X5_1=digitalRead(DQ_5_1));
Serial.print(X6_1=digitalRead(DQ_6_1));
Serial.print(X7_1=digitalRead(DQ_7_1)); */
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));
delay(t_time);
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, HIGH);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.println("\t");
Serial.print(X0_1=digitalRead(DQ_0_1));
Serial.print(X1_1=digitalRead(DQ_1_1));
Serial.print(X2_1=digitalRead(DQ_2_1));
Serial.print(X3_1=digitalRead(DQ_3_1));
Serial.print(X4_1=digitalRead(DQ_4_1)); //data_bus
Serial.print(X5_1=digitalRead(DQ_5_1));
Serial.print(X6_1=digitalRead(DQ_6_1));
Serial.print(X7_1=digitalRead(DQ_7_1)); */
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));
delay(t_time);
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, HIGH);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.println("\t");
Serial.print(X0_1=digitalRead(DQ_0_1));
Serial.print(X1_1=digitalRead(DQ_1_1));
Serial.print(X2_1=digitalRead(DQ_2_1));
Serial.print(X3_1=digitalRead(DQ_3_1));
Serial.print(X4_1=digitalRead(DQ_4_1)); //data_bus
Serial.print(X5_1=digitalRead(DQ_5_1));
Serial.print(X6_1=digitalRead(DQ_6_1));
Serial.print(X7_1=digitalRead(DQ_7_1)); */
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));
delay(t_time);
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, HIGH);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.println("\t");
Serial.print(X0_1=digitalRead(DQ_0_1));
Serial.print(X1_1=digitalRead(DQ_1_1));
Serial.print(X2_1=digitalRead(DQ_2_1));
Serial.print(X3_1=digitalRead(DQ_3_1));
Serial.print(X4_1=digitalRead(DQ_4_1)); //data_bus
Serial.print(X5_1=digitalRead(DQ_5_1));
Serial.print(X6_1=digitalRead(DQ_6_1));
Serial.print(X7_1=digitalRead(DQ_7_1)); */
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));
delay(t_time);
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, HIGH);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.println("\t");
Serial.print(X0_1=digitalRead(DQ_0_1));
Serial.print(X1_1=digitalRead(DQ_1_1));
Serial.print(X2_1=digitalRead(DQ_2_1));
Serial.print(X3_1=digitalRead(DQ_3_1));
Serial.print(X4_1=digitalRead(DQ_4_1)); //data_bus
Serial.print(X5_1=digitalRead(DQ_5_1));
Serial.print(X6_1=digitalRead(DQ_6_1));
Serial.print(X7_1=digitalRead(DQ_7_1)); */
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));
digitalWrite(adr_A0, HIGH);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, HIGH);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.println("\t");
Serial.print(X0_1=digitalRead(DQ_0_1));
Serial.print(X1_1=digitalRead(DQ_1_1));
Serial.print(X2_1=digitalRead(DQ_2_1));
Serial.print(X3_1=digitalRead(DQ_3_1));
Serial.print(X4_1=digitalRead(DQ_4_1)); //data_bus
Serial.print(X5_1=digitalRead(DQ_5_1));
Serial.print(X6_1=digitalRead(DQ_6_1));
Serial.print(X7_1=digitalRead(DQ_7_1)); */
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));
delay(t_time);
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, HIGH);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.println("\t");
Serial.print(X0_1=digitalRead(DQ_0_1));
Serial.print(X1_1=digitalRead(DQ_1_1));
Serial.print(X2_1=digitalRead(DQ_2_1));
Serial.print(X3_1=digitalRead(DQ_3_1));
Serial.print(X4_1=digitalRead(DQ_4_1)); //data_bus
Serial.print(X5_1=digitalRead(DQ_5_1));
Serial.print(X6_1=digitalRead(DQ_6_1));
Serial.print(X7_1=digitalRead(DQ_7_1)); */
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));
delay(t_time);
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, HIGH);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.println("\t");
Serial.print(X0_1=digitalRead(DQ_0_1));
Serial.print(X1_1=digitalRead(DQ_1_1));
Serial.print(X2_1=digitalRead(DQ_2_1));
Serial.print(X3_1=digitalRead(DQ_3_1));
Serial.print(X4_1=digitalRead(DQ_4_1)); //data_bus
Serial.print(X5_1=digitalRead(DQ_5_1));
Serial.print(X6_1=digitalRead(DQ_6_1));
Serial.print(X7_1=digitalRead(DQ_7_1)); */
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));
delay(t_time);
digitalWrite(adr_A0, HIGH);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, HIGH);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.println("\t");
Serial.print(X0_1=digitalRead(DQ_0_1));
Serial.print(X1_1=digitalRead(DQ_1_1));
Serial.print(X2_1=digitalRead(DQ_2_1));
Serial.print(X3_1=digitalRead(DQ_3_1));
Serial.print(X4_1=digitalRead(DQ_4_1)); //data_bus
Serial.print(X5_1=digitalRead(DQ_5_1));
Serial.print(X6_1=digitalRead(DQ_6_1));
Serial.print(X7_1=digitalRead(DQ_7_1)); */
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));
delay(t_time);
digitalWrite(adr_A0, HIGH);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, HIGH);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.println("\t");
Serial.print(X0_1=digitalRead(DQ_0_1));
Serial.print(X1_1=digitalRead(DQ_1_1));
Serial.print(X2_1=digitalRead(DQ_2_1));
Serial.print(X3_1=digitalRead(DQ_3_1));
Serial.print(X4_1=digitalRead(DQ_4_1)); //data_bus
Serial.print(X5_1=digitalRead(DQ_5_1));
Serial.print(X6_1=digitalRead(DQ_6_1));
Serial.print(X7_1=digitalRead(DQ_7_1)); */
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, HIGH);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, LOW);
/* Serial.println("\t");
Serial.print(X0_1=digitalRead(DQ_0_1));
Serial.print(X1_1=digitalRead(DQ_1_1));
Serial.print(X2_1=digitalRead(DQ_2_1));
Serial.print(X3_1=digitalRead(DQ_3_1));
Serial.print(X4_1=digitalRead(DQ_4_1)); //data_bus
Serial.print(X5_1=digitalRead(DQ_5_1));
Serial.print(X6_1=digitalRead(DQ_6_1));
Serial.print(X7_1=digitalRead(DQ_7_1));*/
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));
delay(t_time);
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, HIGH);
digitalWrite(adr_A16, LOW);
/* Serial.println("\t");
Serial.print(X0_1=digitalRead(DQ_0_1));
Serial.print(X1_1=digitalRead(DQ_1_1));
Serial.print(X2_1=digitalRead(DQ_2_1));
Serial.print(X3_1=digitalRead(DQ_3_1));
Serial.print(X4_1=digitalRead(DQ_4_1)); //data_bus
Serial.print(X5_1=digitalRead(DQ_5_1));
Serial.print(X6_1=digitalRead(DQ_6_1));
Serial.print(X7_1=digitalRead(DQ_7_1)); */
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));
delay(t_time);
digitalWrite(adr_A0, LOW);
digitalWrite(adr_A1, LOW);
digitalWrite(adr_A2, LOW);
digitalWrite(adr_A3, LOW);
digitalWrite(adr_A4, LOW); // address-bus
digitalWrite(adr_A5, LOW);
digitalWrite(adr_A6, LOW);
digitalWrite(adr_A7, LOW);
digitalWrite(adr_A8, LOW);
digitalWrite(adr_A9, LOW);
digitalWrite(adr_A10, LOW);
digitalWrite(adr_A11, LOW);
digitalWrite(adr_A12, LOW);
digitalWrite(adr_A13, LOW);
digitalWrite(adr_A14, LOW);
digitalWrite(adr_A15, LOW);
digitalWrite(adr_A16, HIGH);
/* Serial.println("\t");
Serial.print(X0_1=digitalRead(DQ_0_1));
Serial.print(X1_1=digitalRead(DQ_1_1));
Serial.print(X2_1=digitalRead(DQ_2_1));
Serial.print(X3_1=digitalRead(DQ_3_1));
Serial.print(X4_1=digitalRead(DQ_4_1)); //data_bus
Serial.print(X5_1=digitalRead(DQ_5_1));
Serial.print(X6_1=digitalRead(DQ_6_1));
Serial.print(X7_1=digitalRead(DQ_7_1));*/
Serial.print("\t");
Serial.print(X0_2=digitalRead(DQ_0_2));
Serial.print(X1_2=digitalRead(DQ_1_2));
Serial.print(X2_2=digitalRead(DQ_2_2));
Serial.print(X3_2=digitalRead(DQ_3_2));
Serial.print(X4_2=digitalRead(DQ_4_2)); //data_bus
Serial.print(X5_2=digitalRead(DQ_5_2));
Serial.print(X6_2=digitalRead(DQ_6_2));
Serial.print(X7_2=digitalRead(DQ_7_2));
}
Comments
Please log in or sign up to comment.