TODOPIC

Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: Ricardo1950 en 26 de Julio de 2018, 15:09:28

Título: iniciacion con pic 16f84
Publicado por: Ricardo1950 en 26 de Julio de 2018, 15:09:28
hla he generado un código lo he compilado con MPLAB ide 8,00 y lo  he simulado  también , con el mismo programa . lo he pasado al chip con ic prog , segun parece todo bien , pero no funciona , he revisado el harward, es muy basico . Aparentemente  está bien. agradecería le echasen un vistazo al código para ver si hay errores. gracias.

;programa abrir, cerrar porton, encender y apagar farola

STATUS     EQU    03H
TRISA        EQU    05H
TRISB        EQU    06H
PORTA        EQU    05H
PORTB        EQU    06H
CUENTA1    EQU     0CH
CUENTA2    EQU     0DH

F                EQU        1
W               EQU        0

                  ORG           00H
                  BSF            STATUS,5            ; SELEC.BCO 1
                  BSF            PORTA,0               ;CONFIG.  A,0   COMO ENTRADA
                  BSF            PORTA,1                ;CONFIG. A,1    COMO ENTRADA
                  BCF            PORTB,0                ;CONFIG. B,0     COMO SALIDA
                  BCF            PORTB,1                ;CONFIG.  B,1    COMO SALIDA
                  BCF            STATUS,5               ;SELEC.            BCO    , 0
                  CLRF           CUENTA1
                  CLRF            CUENTA2

FAROLA        BTFSS         PORTB,0               ; COMP. FOROLA ENC. O APAG.
                   GOTO          ENCENDIDO
                   GOTO          APAGADO
ENCENDIDO    BTFCS       PORTA,0                 ; COMP. SI HAY PULSO ENC. NO HAY, VA A PORTON
                    GOTO          PORTON
                     BSF            PORTB,0                 ; ENCIENDE FAROLA
                     CALL           DELAYF
PORTON         BTFSS         PORTB,1                  ;COMP .PORTON ABIERTO, O CERRADO
                     GOTO          ABRIR
                     GOTO          CERRAR
ABRIR           BTFSS          PORTA,1                   ;COMP. SI HAY PULSO APERTURA. NO HAY VA  A FAROLA
                    GOTO            FAROLA
                    BSF               PORTB,1                   ; ABRE PORTON
                    CALL             DELAYP
                     GOTO           FAROLA

DELAYF        MOVLW        0FFH                               ;CARGA W CON 255 DECIMAL
                    MOVWF      CUENTA1                          ; SE CARGA EN CUENTA1
 ACA1           DECFSZ       CUENTA1,F                       ;DECREMENTA C.1 SI ES CERO SALTA INST.
                    GOTO         ACA1
ESPERA        BTFSS         PORTA,0                          ; ESPERA QUE SUELTE EL INTERRUPTOR
                    GOTO         ESPERA
                   RETURN

DELAYP        MOVLW         0FFH                                  ;CARGA W CON 255 DECIMAL
                   MOVLWF       CUENTA2                            ;SE CARGA EN CUENTA2
  ACA2         DECFSZ         CUENTA2,F                          ; DECREMENTA CUENTA2, SI ES CERO SALTA
                   GOTO            ACA2
ESPERA2      BTFSS            PORTA,1                             ; ESPERA QUE SE SUELTE INTERRUPTOR                   
                   GOTO             ESPERA 2
                   RETURN
                    END

Título: Re:iniciacion con pic 16f84
Publicado por: KILLERJC en 26 de Julio de 2018, 23:28:06
FAROLA        BTFSS         PORTB,0               ; COMP. FOROLA ENC. O APAG.
                   GOTO          ENCENDIDO
                   GOTO          APAGADO

PORTON         BTFSS         PORTB,1                  ;COMP .PORTON ABIERTO, O CERRADO
                     GOTO          ABRIR
                     GOTO          CERRAR

No hay ningun "APAGADO" ni "CERRAR" o tal ves lo borraste sin querer. Lo raro es que compile así de esa forma

Tambien le faltan los FUSES a ese programa... te recomiendo que pases al MPLAB X, con forma grafica te genera los FUSES de forma sencilla, para cualquier micro.

PD:

Podes incluir el p16f84a.inc que tiene definido los registros, F y W, ademas tiene definidos los FUSES ( o bits de confirguracion )
Solo necesitarias declarar CUENTA1 y CUENTA2
Título: Re:iniciacion con pic 16f84
Publicado por: Pinolillo16 en 27 de Julio de 2018, 22:22:20
Que tal Ricardo, como dice Killer. Porque no cambias al MPLAB X esta mejor, ya que tiene muchas ventanas de ayuda. El incluir el .INC te facilitara mas la programacion ya que no tienes que andar asignado los valores a los registros del micro. Solo los llamas. Tambien te sugiero cambies de micro, este es muy viejito y caro, al mismo precio puedes encontrar muchos con mejores prestaciones.

Saludos