CPU 8 bitar över ARDUINO (SDK-8 bitar/8085AH) (4 / 4 steg)
Steg 4: Steg 4: Programación del Arduino.
Que queremos realizar aca: FN: S SDK-85, es decir FN metodo para incorporar el programa HEX a la memorias del 8155 RAM. Observera en la imagen FN antes y un despues de la lectura de la memoria RAM del 8155. Solo queda realizar un IDE que incorpore las facilidades de integration de programas. HEX y que lea el Assembler.
Por ello procedí en realizar las dos funciones que adjunto en continuación:
LECTURA DE RAM DEL 8155:
int lectura_RAM (int direccion)
{//CONDICION normala digitalWrite (ale, låg), digitalWrite (wr_, hög), digitalWrite (rd_, hög), digitalWrite (iom, låg), //MEMORIA
COLOCO DIRECCION QUE DESEO LEER pinMode (ad7, produktionen); pinMode (ad6, produktionen); pinMode (ad5, produktionen); pinMode (ad4, produktionen); pinMode (ad3, produktionen); pinMode (ad2, produktionen); pinMode (ad1, produktionen); pinMode (ad0, produktionen); DIRECCION 0x00 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, låg); digitalWrite (ad6, låg); digitalWrite (ad5, låg); digitalWrite (ad4, låg); digitalWrite (ad3, låg); digitalWrite (ad2, låg); digitalWrite (ad1, låg); digitalWrite (ad0, låg); ALE alee();
LEO EL DATO 00h pinMode (ad7, ingång); pinMode (ad6, ingång); pinMode (ad5, ingång); pinMode (ad4, ingång); pinMode (ad3, ingång); pinMode (ad2, ingång); pinMode (ad1, ingång); pinMode (ad0, ingång);
LEO LA INF sv LA DIRECCION 0x00 digitalWrite (rd_, hög); Delay(10); digitalWrite (rd_, låg); Delay(10); digitalWrite (rd_, hög); 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);
återgå sad7 * 128 + sad6 * 64 + sad5 * 32 + sad4 * 16 + sad3 * 8 + sad2 * 4 + sad1 * 2 + sad0; }
ESCRITURA DEL RAM DEL 8155:
void escritura_RAM()
{//CONDICION normala digitalWrite (ale, låg), digitalWrite (wr_, hög), digitalWrite (rd_, hög), digitalWrite (iom, låg), //MEMORIA
COLOCO DIRECCION QUE DESEO ESCRIBIR pinMode (ad7, produktionen); pinMode (ad6, produktionen); pinMode (ad5, produktionen); pinMode (ad4, produktionen); pinMode (ad3, produktionen); pinMode (ad2, produktionen); pinMode (ad1, produktionen); pinMode (ad0, produktionen); digitalWrite (ad7, låg); digitalWrite (ad6, låg); digitalWrite (ad5, låg); digitalWrite (ad4, låg); digitalWrite (ad3, låg); digitalWrite (ad2, låg); digitalWrite (ad1, låg); digitalWrite (ad0, låg);
PULSO ALE COLOCO DIRECCION alee();
COLOCO DATO sv AD PARA GRABAR int dato = 100;
digitalWrite (ad7, låg); digitalWrite (ad6, hög); digitalWrite (ad5, låg); digitalWrite (ad4, hög); digitalWrite (ad3, låg); digitalWrite (ad2, hög); digitalWrite (ad1, låg); digitalWrite (ad0, hög); GRABO LA INF sv LA DIRECCION 0x00 digitalWrite (wr_, hög); Delay(10); digitalWrite (wr_, låg); Delay(10); digitalWrite (wr_, hög); Delay(10); }
void alee() {digitalWrite (ale, låg), delay(10), digitalWrite (ale, hög); delay(10); digitalWrite (ale, låg), delay(10);}