;*****************************************APLI2.asm********************************************
;
; En un display de 7 segmentos conectado al Puerto B se visualiza el letrero INFORMATICA como un deco,
; teniendo como entrada al Puerto A.
;
;Declaraciones:
;ZONA DE DATOS------------------------------------------------------------------------
__CONFIG _CP_OFF & _WDT_OFF & _LVP_OFF & _PWRTE_ON & _BOREN_OFF & _DATA_CP_OFF & _MCLRE_OFF & _INTRC_OSC_NOCLKOUT ;Configuración para el programador
LIST P=16F628A ;Procesador
#INCLUDE <P16F628A.INC> ;Definición de los operandos usados.
ERRORLEVEL 0,-302
;ZONA DE CÓDIGOS---------------------------------------------------------------------
ORG 0x00 ;El programa comienza en la dirección 0.
Inicio
bcf STATUS,RP0
movlw 0x07
movwf CMCON
bsf STATUS,RP0 ;Pone a 1 el bit 5 del ESTATUS. Acceso al Banco 1.
movlw 0x1F ;Las 5 líneas del Puerto A se configuran como entrada.
movwf TRISA ;Las lineas del Puerto A se configuran como entradas.
clrf TRISB ;Las líneas del Puerto B se configuran como salida.
bcf STATUS,RP0 ;Pone a 0 el bit 5 de STATUS. Acceso al Banco 0.
Principal
movf PORTA,W ;Lee la entrada o puerto A.
andlw 0x1F ;Máscara para quedarse con el valor de las ;entradas correspondientes al noble bajo.
call Binario_a_7Segmentos ;Convierte código binario a 7 segmentos del display.
movwf PORTB ;Resultado se visualiza por el puerto de salida.
goto Principal
;Subrutina "Binario_7Segmentos"--------------------------------------------------------
;
; comentario en este programa se configura 0 ABCDEFG
Binario_a_7Segmentos ;Tabla para display de 7 segmentos.
addwf PCL,F
Tabla
retlw 30h ;El código 7 segmentos para el "I".
retlw 15h ;El código 7 segmentos para el "N".
retlw 47h ;El código 7 segmentos para el "F".
retlw 7Eh ;El código 7 segmentos para el "O".
retlw 05h ;El código 7 segmentos para el "R".
retlw 15h ;El código 7 segmentos para el "N" debido a que no se puede desplegar una M.
retlw 77h ;El código 7 segmentos para el "A".
retlw 0Fh ;El código 7 segmentos para el "T".
retlw 30h ;El código 7 segmentos para el "I".
retlw 4Eh ;El código 7 segmentos para el "C".
retlw 77h ;El código 7 segmentos para el "A".
org Tabla+.32
retlw 0x00
END ;Fin del programa.