Escrito originalmente por gformento
Saludos,
Tengo un proyecto realizado con puertas lógicas, lo he armado y funciona perfectamente,pero utiliza varios integrados, deseo realizar este mismo proyecto con un solo PIC. Debe haber una manera rapida y segura de lograr esto, es decir que las ecuaciones obtenidas para las puertas lógicas se puedan traducir en comandos para el PIC o a lo mejor realizar estas ecuaciones con el PIC.
Mucho agradeceré a quien me pueda dar una mano con esto.
Att.
Elizabeth Proanio
eproanio@hotmail.com
se que este tema se posteo en el 2003 pero lo importante es dejar una ayuda para futuras inquietudes
un ejemplo Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
;************************************* Tablas_03.asm ************************************
;
; ===================================================================
; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
; E. Palacios, F. Remiro y L. López.
; Editorial Ra-Ma.
www.ra-ma.es; ===================================================================
;
; Implementar una tabla de la verdad mediante el manejo de tablas grabadas en ROM. Por
; ejemplo, la tabla será de 3 entradas y 6 salidas:
;
; C B A | S5 S4 S3 S2 S1 S0
; -----------|---------------------------
; 0 0 0 | 0 0 1 0 1 0 ; (Configuración 0).
; 0 0 1 | 0 0 1 0 0 1 ; (Configuración 1).
; 0 1 0 | 1 0 0 0 1 1 ; (Configuración 2).
; 0 1 1 | 0 0 1 1 1 1 ; (Configuración 3).
; 1 0 0 | 1 0 0 0 0 0 ; (Configuración 4).
; 1 0 1 | 0 0 0 1 1 1 ; (Configuración 5).
; 1 1 0 | 0 1 0 1 1 1 ; (Configuración 6).
; 1 1 1 | 1 1 1 1 1 1 ; (Configuración 7).
;
; Las entradas C, B, A se conectarán a las líneas del puerto A: RA2 (C), RA1 (B) y RA0 (A).
; Las salidas se obtendrán del puerto B: RB5 (S5), RB4 (S4), RB3 (S3), RB2 (S2), RB1 (S1)
; y RB0 (S0).
;
; ZONA DE DATOS **********************************************************************
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
LIST P=16F84A
INCLUDE <P16F84A.INC>
; ZONA DE CÓDIGOS ********************************************************************
ORG 0 ; El programa comienza en la dirección 0.
Inicio
bsf STATUS,RP0 ; Acceso al Banco 1.
clrf TRISB ; Las líneas del Puerto B se configuran como salida.
movlw b"00011111" ; Las 5 líneas del Puerto A se configuran como entrada.
movwf TRISA
bcf STATUS,RP0 ; Acceso al Banco 0.
Principal
movf PORTA,W ; Lee el valor de las variables de entrada.
andlw b"00000111" ; Se queda con los tres bits bajos de entrada.
call TablaVerdad ; Obtiene la configuración de salida.
movwf PORTB ; Se visualiza por el puerto de salida.
goto Principal
; Subrutina "TablaVerdad" ---------------------------------------------------------------
;
TablaVerdad
addwf PCL,F
retlw b"00001010" ; (Configuración 0).
retlw b"00001001" ; (Configuración 1).
retlw b"00100011" ; (Configuración 2).
retlw b"00001111" ; (Configuración 3).
retlw b"00100000" ; (Configuración 4).
retlw b"00000111" ; (Configuración 5).
retlw b"00010111" ; (Configuración 6).
retlw b"00111111" ; (Configuración 7).
END
; ===================================================================
; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
; E. Palacios, F. Remiro y L. López.
; Editorial Ra-Ma.
www.ra-ma.es; ===================================================================
saludos