Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   ASM y Microcontroladores (https://www.clubdelphi.com/foros/forumdisplay.php?f=44)
-   -   Entrada RA0, salida RB0 (https://www.clubdelphi.com/foros/showthread.php?t=53285)

REHome 17-02-2008 03:01:25

Entrada RA0, salida RB0
 
Me gustaría saber como se hace que al pulsar una entrada con el PIC 16F84A, en su salida se activa el RB0.

Es decir, dejo a 1 la entrada del puerto A RA0, y a su salida se ilumine un LED del puerto B llamado RB0.

De momento tengo un código incompleto aquí.

Código:

; ZONA DE DATOS **********************************************************************

        __CONFIG  _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC        ; Configuración para el
                                                                                                                        ; grabador.
        LIST        P=16F84A                        ; Procesador.
        INCLUDE <P16F84A.INC>                ; Definición de los operandos utilizados.

; ZONA DE CÓDIGOS ********************************************************************

        CONSTANTE  EQU        b'00000100'
        LOCO        EQU b'10000001'

        ORG        0                                        ; El programa comienza en la dirección 0 de memoria de
Inicio                                                        ; programa.
        bsf                STATUS,RP0                        ; Pone a 1 el bit 5 del STATUS. Acceso al Banco 1.
        clrf        TRISB                                ; Las líneas del Puerto B se configuran como salidas.
        movlw        b'11111111'
        movwf        TRISA                                ; Las líneas del Puerto A se configuran como entradas.
        bcf                STATUS,RP0                        ; Pone a 0 el bit 5 de STATUS. Acceso al Banco 0.
       

Principal
;        movf        PORTA,W                                ; Lee el Puerto A.
;        movwf        PORTB                                ; El contenido de W se visualiza por el Puerto B.
;        bsf        LOCO,7
        movf        PORTA,0
        goto        Principal                        ; Crea un bucle cerrado.

        END                                                        ; Fin del programa.


MaMu 01-03-2008 23:13:34

Bueno, es muy sencillo, aca tenes, modifica y/o cambia lo que quieras a gusto.

Código:

;/////Configuramos todo////
bsf        STATUS,RP0    ; banco 1
molvw    0x01              ; RA0 entrada, lo demas salidas
movwf    TRISA
clrf        TRISB
bcf        STATUS,RP0  ;banco 0   
 
;////Principal/////
 
main  call    Escanea_Tecla          ;A pull Down con una resistencia de 10k
        goto main
 
Escanea_Tecla
                BTFSC    PORTA,0      ;Salta si es 0 
                goto      ENCIENDE_LED
                goto      APAGA_LED
                return
 
ENCIENDE_LED
                bsf  PORTB,0
                goto Escanea_Tecla
 
APAGA_LED
                bcf  PORTB,0
                goto Escanea_Tecla
 
end

Saludos

REHome 02-03-2008 18:21:48

Muchas gracias, me sirve a la primera.


La franja horaria es GMT +2. Ahora son las 02:49:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi