Autor Tema: mi programa en assembler funciona pero no en la protoboard  (Leído 1394 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Carlo

  • PIC10
  • *
  • Mensajes: 8
mi programa en assembler funciona pero no en la protoboard
« en: 07 de Junio de 2021, 14:26:28 »
Hola a todos estoy quieriendo hacer funcionar un pequeño programa en la protoboard y no lo puedo lograr mi programa es el siguiente estoy trabajando con el pic 12f629

LIST    P=12f629,                               ; usar PIC 16F84A
        #include <p12f629.inc>
 
         __CONFIG _CP_OFF & _CPD_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON &_INTRC_OSC_NOCLKOUT & _MCLRE_OFF & 0x3F18    ; code protec           off
                                                          ; power up timer        on
                                                        ; watchdog              off
                                                        ; osc                   XT
 
PDel0   equ     20
PDel1   equ     21
 
 
        ORG     0
        BSF     STATUS,5;
        BCF     TRISIO,2;
      BSF     TRISIO,0;
        BCF     STATUS,5                                ; volvemos a la pagina 0
 
 
INICIO       BSF GPIO,2;
             CALL DEMORA
             BCF GPIO,2;
             CALL DEMORA
              GOTO INICIO

 
DEMORA  movlw     .197                                  ; 1 set numero de repeticion  (B)
        movwf     PDel0                                 ; 1
PLoop1  movlw     .253                                  ; 1 set numero de repeticion  (A)
        movwf     PDel1                                 ; 1
PLoop2  clrwdt                                          ; 1 clear watchdog
        clrwdt                                          ; 1 ciclo delay
        decfsz    PDel1,1                               ; 1 + (1) es el tiempo 0  ? (A)
        goto      PLoop2                                ; 2 no, loop
        decfsz    PDel0,1                               ; 1 + (1) es el tiempo 0  ? (B)
        goto      PLoop1                                ; 2 no, loop
PDelL1  goto PDelL2                                     ; 2 ciclos delay
PDelL2 
        return                                          ; 2+2 Fin.
;---------------------------------------
 
        END                                             ; fin de programa

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re:mi programa en assembler funciona pero no en la protoboard
« Respuesta #1 en: 07 de Junio de 2021, 14:42:38 »
Que tal Carlo,

Tienes al menos dos problemas:

1) Cuando defines los fuses, con el último número que colocas estás "matando" tu configuración. Deberías eliminarlo:

__CONFIG _CP_OFF & _CPD_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON &_INTRC_OSC_NOCLKOUT & _MCLRE_OFF

2) Tampoco estás cargando el valor de calibración del oscilador interno para este microcontrolador. Si no lo haces, la frecuencia de operación no será la correcta. Revisa la página 56 del datasheet. Y verás que necesitas agregar al inicio de tu código principal lo siguiente:
Código: [Seleccionar]
bsf STATUS,RP0   ; Bank1
call 3FFh             ; Get the cal value
movwf OSCCAL    ; calibrate
bcf STATUS,RP0   ; Bank 0

elreypic

Desconectado Carlo

  • PIC10
  • *
  • Mensajes: 8
Re:mi programa en assembler funciona pero no en la protoboard
« Respuesta #2 en: 07 de Junio de 2021, 14:48:54 »
ok.lo hare gracias por la ayuda :-/


 

anything