Autor Tema: Codigo no funciona  (Leído 2306 veces)

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

Desconectado Colino

  • PIC10
  • *
  • Mensajes: 11
Codigo no funciona
« en: 16 de Noviembre de 2016, 10:45:45 »
Holá buenos dias

Por que no funciona este codigo
; use PIC12F675   clock  32,7KHZ
   


#include "p12F675.inc"

; CONFIG
; __config 0xF1F8
 __CONFIG _FOSC_XT & _WDTE_OFF & _PWRTE_OFF & _MCLRE_ON & _BOREN_ON & _CP_OFF & _CPD_OFF

 
        ; Variaveis
 
count1   equ   0x01
count2  equ     0x0E
count3  equ     0x0F
     
        ; vetor reset
   
   org   0x00
   goto    main


   movlw   B'00001000'
   movwf   0x85      ; configure I/O
   
                               
                ;PREPARA REG DECREMENTAÇÃ0     
main                        
                 ;carrega contador 3     
   BTFSS   0x05,3              ; TESTA GP3 SE ESTÁ  DIA 
        BTFSC   0x05,3              ; TESTA GP3 ESTÁ  NOITE
        GOTO    abrir               ;   ABRE
   GOTO    fechar              ;   FECHA
abrir   
        BCF     0x05,1              ; DESACTIVA RELE 1
   BSF     0x05,2              ; ACTIVA RELE 2
   GOTO    main
fechar 
   movlw   0x7E               
   movwf   count1              ;carrega contador 1
   movlw   0x14
   movwf   count2              ;carrega contador 2
   movlw   0x21
   movwf   count3              ;carrega contador 3 
   nop
   BSF     0x05,0              ; LIGA  A LUZ 
   CALL    delay1              ; ACTIVA ATRASO DE 30 MINUTOS 
        BCF     0x05,2              ; DESACTIVA RELE 2
   BSF     0x05,1              ; ACTIVA RELE 1
   BCF     0x05,0              ; APAGA A LUZ
   GOTO    main
delay1                               ; TEMPORIZAÇÃO DE 30 MINUTOS
               
   decfsz   count1, f           
   goto   $+2
   decfsz   count2, f
   goto   $+2
   decfsz   count3, f
   goto    delay1
   return
   end

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re:Codigo no funciona
« Respuesta #1 en: 16 de Noviembre de 2016, 12:20:38 »
Hola Colino, lo primero que veo es que el sector:

Citar
   movlw   B'00001000'
   movwf   0x85      ; configure I/O

Lo as dejado fuera del main.

Luego te a faltado el LIST y el INCLUDE, no va como lo pusiste:

   LIST             P = 12F675
   INCLUDE      <P12F675.INC>

Y por último, no as seteado ninguno de los registros, algunos influyen en el funcionamiento de los pines.

Un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re:Codigo no funciona
« Respuesta #2 en: 19 de Noviembre de 2016, 22:39:49 »
Igual parece una mezcla de C desensamblado y asembler. Lo que me llama la atencion es la demora de 30 minutos. Me parece muy alta para 3 bucles .. ahhhh! ahora veo que el reloj es de 32khz.
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"