Paso 4: Paso 4: Programación del Arduino.
Queremos realizar aca: Un SDK-85, el de incorporar de es decir un metodo para programa HEX a la memorias del 8155 RAM. Tenga en cuenta en la imagen un antes y un despues de la lectura de la memoria RAM del 8155. Solo queda realizar un IDE incorpore las facilidades de inclusión de programas. El de lea HEX y Assembler.
Por ello procedí a realizar las dos funciones adjunto a continuación:
LECTURA DE RAM DEL 8155:
int lectura_RAM (int direccion)
{//CONDICION NORMAL digitalWrite (ale, LOW); digitalWrite (wr_, HIGH); digitalWrite (rd_, HIGH); digitalWrite (OIM, LOW); //MEMORIA
COLOCO DIRECCION QUE DESEO LEER pinMode (ad7, salida); pinMode (ad6, salida); pinMode (ad5, salida); pinMode (ad4, salida); pinMode (ad3, salida); pinMode (ad2, salida); pinMode (ad1, salida); pinMode (ad0, salida); Dirección 0 x 00 ad0 = direccion % 2; direccion = direccion / 2; AD1 = direccion % 2; direccion = direccion / 2; AD2 = direccion % 2; direccion = direccion / 2; AD3 = direccion % 2; direccion = direccion / 2; AD4 = direccion % 2; direccion = direccion / 2; Ad5 = direccion % 2; direccion = direccion / 2; AD6 = direccion % 2; direccion = direccion / 2; Ad7 = direccion % 2; Serial.Print(Ad7); Serial.Print("-"); Serial.Print(AD6); Serial.Print("-"); Serial.Print(Ad5); Serial.Print("-"); Serial.Print(AD4); Serial.Print("-"); Serial.Print(AD3); Serial.Print("-"); Serial.Print(AD2); Serial.Print("-"); Serial.Print(AD1); Serial.Print("-"); Serial.Print(ad0); Serial.println("-");
digitalWrite (ad7, LOW); digitalWrite (ad6, LOW); digitalWrite (ad5, LOW); digitalWrite (ad4, LOW); digitalWrite (ad3, LOW); digitalWrite (ad2, LOW); digitalWrite (ad1, LOW); digitalWrite (ad0, LOW); ALE alee();
LEO EL DATO 00h pinMode (ad7, entrada); pinMode (ad6, entrada); pinMode (ad5, entrada); pinMode (ad4, entrada); pinMode (ad3, entrada); pinMode (ad2, entrada); pinMode (ad1, entrada); pinMode (ad0, entrada);
LEO LA INF EN LA DIRECCION 0 x 00 digitalWrite (rd_, HIGH); Delay(10); digitalWrite (rd_, LOW); Delay(10); digitalWrite (rd_, HIGH); Delay(10);
sad7 int = digitalRead(ad7); int sad6 = digitalRead(ad6); sad5 int = digitalRead(ad5); sad4 int = digitalRead(ad4); sad3 int = digitalRead(ad3); sad2 int = digitalRead(ad2); sad1 int = digitalRead(ad1); sad0 int = digitalRead(ad0);
volver sad7 * 128 + sad6 * 64 + sad5 * 32 + sad4 * 16 + sad3 * 8 + sad2 * 4 + sad1 * 2 + sad0; }
ESCRITURA DEL RAM DEL 8155:
void escritura_RAM()
{//CONDICION NORMAL digitalWrite (ale, LOW); digitalWrite (wr_, HIGH); digitalWrite (rd_, HIGH); digitalWrite (OIM, LOW); //MEMORIA
COLOCO DIRECCION QUE DESEO ESCRIBIR pinMode (ad7, salida); pinMode (ad6, salida); pinMode (ad5, salida); pinMode (ad4, salida); pinMode (ad3, salida); pinMode (ad2, salida); pinMode (ad1, salida); pinMode (ad0, salida); digitalWrite (ad7, LOW); digitalWrite (ad6, LOW); digitalWrite (ad5, LOW); digitalWrite (ad4, LOW); digitalWrite (ad3, LOW); digitalWrite (ad2, LOW); digitalWrite (ad1, LOW); digitalWrite (ad0, LOW);
Alee() de PULSO ALE COLOCO DIRECCION;
COLOCO DATO EN anuncio PARA GRABAR int dato = 100;
digitalWrite (ad7, LOW); digitalWrite (ad6, HIGH); digitalWrite (ad5, LOW); digitalWrite (ad4, HIGH); digitalWrite (ad3, LOW); digitalWrite (ad2, HIGH); digitalWrite (ad1, LOW); digitalWrite (ad0, HIGH); GRABO LA INF EN LA DIRECCION 0 x 00 digitalWrite (wr_, HIGH); Delay(10); digitalWrite (wr_, bajo); Delay(10); digitalWrite (wr_, HIGH); Delay(10); }
void alee() {digitalWrite (ale, baja); delay(10); digitalWrite (ale, HIGH); delay(10); digitalWrite (ale, baja); delay(10);}