Subido por Castillo Godínez Carlos Eduardo

Transcripción del Código

Anuncio
list p=16XXX;Definir el PIC con el que se va a trabajar.
include "P16FXXX.INC";Archivo de direcciones con su respectiva etiqueta
;Definición de variables
dato equ 0x20;Asignar una dirección de memoria a la variable.
;Vectores de reset y de inicio de programa
org 0
goto Inicio;Salta hacia la etiqueta 'Inicio' donde comienza
org 5;el programa.
;Configuración de puertos
Inicio bsfSTATUS,RP0;Se posiciona en el banco 1 de la memoria.
movlw0xFF;Todos los bits de trisX en uno (1Log) configuran
movwfTRISX;al puerto X como entrada.
movlw0x00;Todos los bits de trisY en cero (0Log) configuran
movwfTRISY;al puerto Y como salida.
bcfSTATUS,RP0;Se posiciona en el banco 0 de la memoria.
;Programa Principal
ciclocallleer_puerto_X;Llama a la subrutina de lectura.
callconvertir_dato;Llama a la subrutina de conversión.
callescribir_puerto_Y;Llama a la subrutina de escritura.
gotociclo;Regresa al ciclo principal.
;*** Área de subrutinas ***
;Subrutina para leer el puerto X y guardarlo en dato.
leer_puerto_X
movfPOIRTX,0;Guarda el dato de entrada en el registro W.
movwfdato;Envía el contenido del registro W a "dato".
return;Regresa de la subrutina.
;*** Área para escribir la subrutina que convierta el dato de entrada al formato de salida***
;Leer el valor de dato y escribirlo en el puerto Y
escribir_puerto_Y
movfdato,0;Envía el contenido de "dato" al registro W.
movwf PORTY;Escribe en el puerto Y el código de salida.
return;Regresa de la subrutina.
END;Fin del programa.
Descargar