Étape 4: Étape 4: Programación del Arduino.
Que queremos realizar aca: Un SDK-85, es decir ONU metodo para incorporar el programa HEX a la memorias del 8155 RAM. Notez en la imagen ONU antes y ONU despues de la lectura de la memoria RAM del 8155. Solo queda realizar un IDE que incorpore las facilidades de inclusion de programas. HEX y que el de lea assembleur.
Por ello procedí a realizar las dos funciones que 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, sortie) ; pinMode (ad6, sortie) ; pinMode (ad5, sortie) ; pinMode (ad4, sortie) ; pinMode (ad3, sortie) ; pinMode (ad2, sortie) ; pinMode (ad1, sortie) ; pinMode (ad0, sortie) ; DIRECCION 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, faible) ; digitalWrite (ad6, faible) ; digitalWrite (ad5, faible) ; digitalWrite (ad4, faible) ; digitalWrite (ad3, faible) ; digitalWrite (ad2, faible) ; digitalWrite (ad1, faible) ; digitalWrite (ad0, faible) ; ALE alee() ;
LEO EL DATO 00h pinMode (ad7, entrée) ; pinMode (ad6, entrée) ; pinMode (ad5, entrée) ; pinMode (ad4, entrée) ; pinMode (ad3, entrée) ; pinMode (ad2, entrée) ; pinMode (ad1, entrée) ; pinMode (ad0, entrée) ;
LEO LA INF fr LA DIRECCION 0 x 00 digitalWrite (rd_, HIGH) ; Delay(10) ; digitalWrite (rd_, faible) ; Delay(10) ; digitalWrite (rd_, HIGH) ; Delay(10) ;
int sad7 = digitalRead(ad7) ; int sad6 = digitalRead(ad6) ; int sad5 = digitalRead(ad5) ; int sad4 = digitalRead(ad4) ; int sad3 = digitalRead(ad3) ; int sad2 = digitalRead(ad2) ; int sad1 = digitalRead(ad1) ; int sad0 = digitalRead(ad0) ;
retour sad7 * 128 + sad6 * 64 + sad5 * 32 + sad4 * 16 + sad3 * sad2 8 + * 4 + sad1 * 2 + sad0 ; }
ESCRITURA DEL RAM DEL 8155 :
Sub escritura_RAM()
{//CONDICION NORMAL digitalWrite (ale, LOW); digitalWrite (wr_, HIGH); digitalWrite (rd_, HIGH); digitalWrite (OIM, LOW); //MEMORIA
COLOCO DIRECCION QUE DESEO ESCRIBIR pinMode (ad7, sortie) ; pinMode (ad6, sortie) ; pinMode (ad5, sortie) ; pinMode (ad4, sortie) ; pinMode (ad3, sortie) ; pinMode (ad2, sortie) ; pinMode (ad1, sortie) ; pinMode (ad0, sortie) ; digitalWrite (ad7, faible) ; digitalWrite (ad6, faible) ; digitalWrite (ad5, faible) ; digitalWrite (ad4, faible) ; digitalWrite (ad3, faible) ; digitalWrite (ad2, faible) ; digitalWrite (ad1, faible) ; digitalWrite (ad0, faible) ;
PULSO ALE COLOCO DIRECCION alee() ;
COLOCO DATO VO AD PARA GRABAR int dato = 100 ;
digitalWrite (ad7, faible) ; digitalWrite (ad6, HIGH) ; digitalWrite (ad5, faible) ; digitalWrite (ad4, HIGH) ; digitalWrite (ad3, faible) ; digitalWrite (ad2, HIGH) ; digitalWrite (ad1, faible) ; digitalWrite (ad0, HIGH) ; GRABO LA INF fr LA DIRECCION 0 x 00 digitalWrite (wr_, HIGH) ; Delay(10) ; digitalWrite (wr_, basse) ; Delay(10) ; digitalWrite (wr_, HIGH) ; Delay(10) ; }
void alee() {digitalWrite (ale, LOW); delay(10) ; digitalWrite (ale, HIGH); delay(10) ; digitalWrite (ale, LOW); delay(10);}