Stap 4: Stap 4: Programación del Arduino.
Que queremos realizar aca: Un SDK-85, es decir VN metodo para inlijven el programa HEX a la memorias del 8155 RAM. Opmerking nl la imagen VN antes y un despues de la lectura de la memoria RAM del 8155. Reizigers queda realizar VN IDE que incorpore las facilidades de integratie de programas. HEX y que lea el Assembler.
Por ello procedí een realizar las dos funciones que adjunto een continuación:
LECTURA DE RAM DEL 8155:
int lectura_RAM (int direccion)
{//CONDICION normale digitalWrite (ale, laag); digitalWrite (wr_, hoge); digitalWrite (rd_, hoge); digitalWrite (iom, laag); //MEMORIA
COLOCO DIRECCION QUE DESEO LEER pinMode (ad7, OUTPUT); pinMode (ad6, OUTPUT); pinMode (AD5-post, OUTPUT); pinMode (ad4, OUTPUT); pinMode (ad3, OUTPUT); pinMode (ad2, OUTPUT); pinMode (ad1, OUTPUT); pinMode (ad0, OUTPUT); DIRECCIÓN 0x00 ad0 = direccion % 2; Dirección = direccion / 2; AD1 = direccion % 2; Dirección = direccion / 2; ad2 = direccion % 2; Dirección = direccion / 2; AD3 = direccion % 2; Dirección = direccion / 2; ad4 = direccion % 2; Dirección = direccion / 2; AD5-post = direccion % 2; Dirección = direccion / 2; AD6 = direccion % 2; Dirección = 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, laag); digitalWrite (ad6, laag); digitalWrite (AD5-post, laag); digitalWrite (ad4, laag); digitalWrite (ad3, laag); digitalWrite (ad2, laag); digitalWrite (ad1, laag); digitalWrite (ad0, laag); ALE alee();
LEO EL DATO 00h pinMode (ad7, INPUT); pinMode (ad6, INPUT); pinMode (AD5-post, INPUT); pinMode (ad4, INPUT); pinMode (ad3, INPUT); pinMode (ad2, INPUT); pinMode (ad1, INPUT); pinMode (ad0, INPUT);
LEO LA INF nl LA DIRECCION 0x00 digitalWrite (rd_, hoge); delay(10); digitalWrite (rd_, laag); delay(10); digitalWrite (rd_, hoge); 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);
terug sad7 * 128 + sad6 * 64 + sad5 * 32 + sad4 * 16 + sad3 * 8 + sad2 * 4 + sad1 * 2 + sad0; }
ESCRITURA DEL RAM DEL 8155:
VOID escritura_RAM()
{//CONDICION normale digitalWrite (ale, laag); digitalWrite (wr_, hoge); digitalWrite (rd_, hoge); digitalWrite (iom, laag); //MEMORIA
COLOCO DIRECCION QUE DESEO ESCRIBIR pinMode (ad7, OUTPUT); pinMode (ad6, OUTPUT); pinMode (AD5-post, OUTPUT); pinMode (ad4, OUTPUT); pinMode (ad3, OUTPUT); pinMode (ad2, OUTPUT); pinMode (ad1, OUTPUT); pinMode (ad0, OUTPUT); digitalWrite (ad7, laag); digitalWrite (ad6, laag); digitalWrite (AD5-post, laag); digitalWrite (ad4, laag); digitalWrite (ad3, laag); digitalWrite (ad2, laag); digitalWrite (ad1, laag); digitalWrite (ad0, laag);
PULSO ALE COLOCO DIRECCION alee();
COLOCO DATO nl AD PARA GRABAR int dato = 100;
digitalWrite (ad7, laag); digitalWrite (ad6, hoge); digitalWrite (AD5-post, laag); digitalWrite (ad4, hoge); digitalWrite (ad3, laag); digitalWrite (ad2, hoge); digitalWrite (ad1, laag); digitalWrite (ad0, hoge); GRABO LA INF nl LA DIRECCION 0x00 digitalWrite (wr_, hoge); delay(10); digitalWrite (wr_, laag); delay(10); digitalWrite (wr_, hoge); delay(10); }
VOID alee() {digitalWrite (ale, laag); delay(10); digitalWrite (ale, hoge); delay(10); digitalWrite (ale, laag); delay(10);}