Subido por Castillo Godínez Carlos Eduardo

converted-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 bsf STATUS,RP0 ;Se posiciona en el banco 1 de la memoria.
movlw 0xFF ;Todos los bits de trisX en uno (1Log) configuran
movwf TRISX ;al puerto X como entrada.
movlw 0x00 ;Todos los bits de trisY en cero (0Log) configuran
movwf TRISY ;al puerto Y como salida.
bcf STATUS,RP0 ;Se posiciona en el banco 0 de la memoria.
;Programa Principal
ciclo call leer_puerto_X ;Llama a la subrutina de lectura.
call convertir_dato ;Llama a la subrutina de conversión.
call escribir_puerto_Y ;Llama a la subrutina de escritura.
goto ciclo ;Regresa al ciclo principal.
;*** Área de subrutinas ***
;Subrutina para leer el puerto X y guardarlo en dato.
leer_puerto_X
movf POIRTX,0 ;Guarda el dato de entrada en el registro W.
movwf dato ;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
movf dato,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