Mira, sucede esto:
Cuando pones:
Estas haciendo dos cosas a la vez:
Estas asignando a la dirección de RAM 0x20 el nombre de CO1 y estas determinando una constante llamada CO1 que tiene el valor de 0x20, lo mismo pasa con CO2, la dirección RAM 0x21 se llamara CO2 y puedes usar a el nombre CO2 como una constante.
¿Como es esto posible?
Te lo explico con un ejemplo:
---------------------------------------------------------------------------------------------------------
Cargaremos a W con el valor del registro de la RAM 0x20, es decir con el valor de RAM de CO1:
Aqui, lo que contenga la RAM con direccion 0x20 sera depositado en W y podra ser un valor entre 0 y 255, dependiendo de lo que haya sido puesto en el con anterioridad.
---------------------------------------------------------------------------------------------------------
Cargaremos a W con el valor constante de CO1, es decir el valor constante de 0x20, no cargaremos al valor de RAM que es un valor variable, si no el constante que vendría siendo un 32 decimal.
---------------------------------------------------------------------------------------------------------
Entonces, lo que podrás deducir con esto, es que en el siguiente código:
Tu profesor esta cargado al Registro RAM con dirección 0x20, cuyo nombre con el que lo bautizaste es CO1, el valor constante de RETARD1, que viene siendo un 218 decimal.
Si se pone la siguiente instrucción:
Entonces estaríamos cargando el valor de la RAM con dirección 0A, que puede ser cualquier número aleatorio entre 0 y 255.
CO1, CO2, CO3, RETARD1 y RETARD2 son nombres con los que, principalmente, vas a recordar ciertas direcciones RAM, digo, no creo que vayas a querer estar recordando que la dirección 0x20 es de un contador, la 0x21 es otro contador y asi sucesivamente, por eso se les asignan nombres. Pero, de manera implícita, el nombre lleva un valor constante, que vendría siendo el valor constante de la dirección RAM, no el valor del registro propio.
Espero que me haya explicado de manera clara. Si no fue así, entonces renunciare a mi intención de ser maestro .
Cuando pones:
Código:
CO1 equ 0x20
CO2 equ 0x21
Estas haciendo dos cosas a la vez:
Estas asignando a la dirección de RAM 0x20 el nombre de CO1 y estas determinando una constante llamada CO1 que tiene el valor de 0x20, lo mismo pasa con CO2, la dirección RAM 0x21 se llamara CO2 y puedes usar a el nombre CO2 como una constante.
¿Como es esto posible?
Te lo explico con un ejemplo:
---------------------------------------------------------------------------------------------------------
Cargaremos a W con el valor del registro de la RAM 0x20, es decir con el valor de RAM de CO1:
Código:
MOVF CO1,W
Aqui, lo que contenga la RAM con direccion 0x20 sera depositado en W y podra ser un valor entre 0 y 255, dependiendo de lo que haya sido puesto en el con anterioridad.
---------------------------------------------------------------------------------------------------------
Cargaremos a W con el valor constante de CO1, es decir el valor constante de 0x20, no cargaremos al valor de RAM que es un valor variable, si no el constante que vendría siendo un 32 decimal.
Código:
MOVLW CO1
Entonces, lo que podrás deducir con esto, es que en el siguiente código:
Código:
movlw RETARD1
movwf CO2
Tu profesor esta cargado al Registro RAM con dirección 0x20, cuyo nombre con el que lo bautizaste es CO1, el valor constante de RETARD1, que viene siendo un 218 decimal.
Si se pone la siguiente instrucción:
Código:
movf RETARD1,W
movwf CO2
Entonces estaríamos cargando el valor de la RAM con dirección 0A, que puede ser cualquier número aleatorio entre 0 y 255.
CO1, CO2, CO3, RETARD1 y RETARD2 son nombres con los que, principalmente, vas a recordar ciertas direcciones RAM, digo, no creo que vayas a querer estar recordando que la dirección 0x20 es de un contador, la 0x21 es otro contador y asi sucesivamente, por eso se les asignan nombres. Pero, de manera implícita, el nombre lleva un valor constante, que vendría siendo el valor constante de la dirección RAM, no el valor del registro propio.
Espero que me haya explicado de manera clara. Si no fue así, entonces renunciare a mi intención de ser maestro .