TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Carlo en 24 de Junio de 2021, 14:54:01
-
Hola a todos eh encontrado un codigo sin errores en internet pero nose porque el proyecto sigue sin funcionar en la protoboard.
el codigo es el siguiente:
;--------- WINK 12F629 ---
; AKENAFAB
;**********************************************************************
list p=12f629 ; list directive to define processor
#include <p12f629.inc> ; processor specific variable definitions
errorlevel -302 ; suppress message 302 from list file
__CONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
; '__CONFIG' directive is used to embed configuration word within .asm file.
; The lables following the directive are located in the respective .inc file.
; See data sheet for additional information on configuration word settings.
;**********************************************************************
ORG 0x000 ; processor reset vector
goto main ; go to beginning of program
ORG 0X20
#DEFINE PORT GPIO
;---------- BLOQUE DE VARIABLES --
CBLOCK 0X20
T_TEMP_1
T_TEMP_2
ENDC
BANK1 macro
BSF STATUS,RP0
endm
BANK0 macro
BCF STATUS,RP0
endm
;-----------------------------------------
main
RADIX DEC
;------ CALIBRACION DEL OSCILADOR INTERNO
call 0x3FF ;
BANK1 ; CAMBIO A BANCO 1
movwf OSCCAL ; CARGAMOS VALOR DE OSCILADOR
BANK0 ; CAMBIO A BANCO 0
;------
CLRF GPIO ; LIMPIAMOS LATCH DE SALIDA
BANK0
MOVLW 0X07
MOVWF CMCON ;COMPARADORES APAGADOS
; MOVLW 0X00 ;JUSTIFICADO A LA IZQ (MSB) solo PIC 12F675/683
; MOVWF ADCON0 ;Vref = VDD , CHANNEL 0
;NO START CONVERTION,ADC OFF
; BSF ADCON0,ADON ;ADC ON
BANK1
CLRF TRISIO ; PUERTO CONFUGURADO COMO SALIDA
; MOVLW B'01010001' ;Fosc/16 solo PIC 12F675/683
; MOVWF ANSEL ;ENTRADA ANALOGA GPIO <0>
BANK0
INICIO
COMF PORT,F ; PONEMOS EN ALTO LAS SALIDAS DEL PUERTO
CALL T_200ms
GOTO INICIO
T_100ms
;99993 cycles
movlw 0x1E
movwf T_TEMP_1
movlw 0x4F
movwf T_TEMP_2
Delay_0
decfsz T_TEMP_1, f
goto $+2
decfsz T_TEMP_2, f
goto Delay_0
goto $+1
nop
return
T_200ms
CALL T_100ms
CALL T_100ms
RETURN
;-------- VALOR DE CALIBRACION DEL OSCILADOR INTERNO
ORG 0x3FF
RETLW 0x078
;------------------------------------------------------
END ; directive 'end of program'
Si alguien fuera tan amable que me diga cual es el error es un simple programa que prende y apaga un led pero para mi no es tan simple
-
Pero esto es basic no?.
-
Pero esto es basic no?.
Es ASM
Carlos: pueden ser varias cosas por la que no ande en el protorboard.
Asegurate de que el protorboard esté en buenas condiciones (que no tenga falsos contactos). Otro problema puede ser la alimentación. Te recomiendo que lo pruebes con pilas. Si anda, es la fuente. Le debe de estar entrando mucho ruido eléctrico, y/o no tiene buen filtrado.
Ahora bien, ese programa ¿que se supone que hace?
-
solucionado no conectaba a tierra el microcontrolador.... gracias por sus respuestas