TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: Colino 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
-
Hola Colino, lo primero que veo es que el sector:
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.
-
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.