Autor Tema: problema antirebote PIC 12f629  (Leído 3790 veces)

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

Desconectado lorcho

  • PIC10
  • *
  • Mensajes: 18
problema antirebote PIC 12f629
« en: 29 de Mayo de 2011, 19:55:20 »
Hola, estoy haciendo un antirebote con un pic.
Al empezar a compilar con el MPLAB ya me da estos 4 errores:
----------------------------------------------------------------------
Release build of project `C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR.DESKTOP\MIS DOCUMENTOS\PRUEBA1.disposable_mcp' started.
Language tool versions: MPASMWIN.exe v5.41, mplink.exe v4.39, mplib.exe v4.39
Mon May 30 00:53:13 2011
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\Archivos de programa\Microchip\MPASM Suite\MPASMWIN.exe" /q /p12F629 "PRUEBA1.ASM" /l"PRUEBA1.lst" /e"PRUEBA1.err"
Error[113]   C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR.DESKTOP\MIS DOCUMENTOS\PRUEBA1.ASM 26 : Symbol not previously defined (status)
Error[113]   C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR.DESKTOP\MIS DOCUMENTOS\PRUEBA1.ASM 26 : Symbol not previously defined (rp0)
Error[113]   C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR.DESKTOP\MIS DOCUMENTOS\PRUEBA1.ASM 29 : Symbol not previously defined (status)
Error[113]   C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR.DESKTOP\MIS DOCUMENTOS\PRUEBA1.ASM 29 : Symbol not previously defined (rp0)
Halting build on first failure as requested.
----------------------------------------------------------------------
Release build of project `C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR.DESKTOP\MIS DOCUMENTOS\PRUEBA1.disposable_mcp' failed.
Language tool versions: MPASMWIN.exe v5.41, mplink.exe v4.39, mplib.exe v4.39
Mon May 30 00:53:13 2011
----------------------------------------------------------------------
BUILD FAILED




Que son en las líneas que cambio de banco de memoria . Alguien sabe porque puede ser esto, alguna vez programe el 16f84A. Ló único que necesito es un programa que cuando tenga un cambio en el estado de una patilla del micro, cambie una salida a 1 e iugnore los demás pulsos hasta que pase x tiempo. Es una lectura, poner a 0 una salida, retardo Xms y vuelve a la espera de señal en la patilla de entrada. Muy sencillo, pues llevo más de 1 semana. Muchas gracias por anticipado.

ADJUNTO CÓDIGO:

LIST P=12F629
 INCLUDE P12F629.INC
 ERRORLEVEL -302
 __CONFIG _CPD_OFF & _CP_OFF & _BODEN_ON & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
 
 CBLOCK 0X20
 ;espacio para la declaracion de variables

 ENDC
  #define salida    GPIO,2
 #define entrada     GPIO,3
 ORG 00
 GOTO CONFIGURA

;espacio para las subrrutinas

CONFIGURA NOP
 CLRF GPIO
 MOVLW B'00000111' ; 07H Configuro GP1, GP2, GP3 como pines
 MOVWF CMCON ; digitales
 BANKSEL OSCCAL ;para calibrar el oscilador interno
 CALL 3FFH ; Obtengo el valor de calibracion del oscilador
 MOVWF OSCCAL
 CLRF TRISIO
 BANKSEL GPIO
 bsf     status, rp0      ;bank 1
 movlw        b'0001000'    ;(x= don't care = does not matter)
 movwf    TRISIO           ;the lowest bit will be an OUTPUT
 bcf     status, rp0     ;bank 0


;Programa principal
CICLO



 GOTO CICLO
 
 END

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: problema antirebote PIC 12f629
« Respuesta #1 en: 29 de Mayo de 2011, 20:07:04 »
parece que el problema esta en tu archivo del pic, entra a checarlo y ve si dentro esta definido el registro status.
"Nada es imposible, no si puedes imaginarlo"

Desconectado lorcho

  • PIC10
  • *
  • Mensajes: 18
Re: problema antirebote PIC 12f629
« Respuesta #2 en: 29 de Mayo de 2011, 20:14:09 »
Hola, si está, en el banco 0, adjunto el código del archivo.

;-----Bank0------------------
INDF             EQU  H'0000'
TMR0             EQU  H'0001'
PCL              EQU  H'0002'
STATUS           EQU  H'0003'   <--------
FSR              EQU  H'0004'
GPIO             EQU  H'0005'
PCLATH           EQU  H'000A'
INTCON           EQU  H'000B'
PIR1             EQU  H'000C'
TMR1L            EQU  H'000E'
TMR1H            EQU  H'000F'
T1CON            EQU  H'0010'
CMCON            EQU  H'0019'

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: problema antirebote PIC 12f629
« Respuesta #3 en: 29 de Mayo de 2011, 20:16:08 »
tal vez sea esto, intenta poner STATUS con mayusculas, a ver que pasa
"Nada es imposible, no si puedes imaginarlo"

Desconectado lorcho

  • PIC10
  • *
  • Mensajes: 18
Re: problema antirebote PIC 12f629
« Respuesta #4 en: 29 de Mayo de 2011, 20:46:36 »
Era eso, que cosas. Es lo que tiene llevar tiempo sin programar, llevo 1 hora peleando con un btfss y un btfsc. Tengo que añadirle un retardo para que el pic este ocupado e ignore la entrada del sensor durante aprox medio segundo Estoy buscandolo por el foro, que lo vi a la tarde. Gracias por la ayuda.

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: problema antirebote PIC 12f629
« Respuesta #5 en: 30 de Mayo de 2011, 13:39:03 »
Citar
Tengo que añadirle un retardo para que el pic este ocupado e ignore la entrada del sensor durante aprox medio segundo Estoy buscandolo por el foro, que lo vi a la tarde.

Para los retardos aqui esta.

http://www.todopic.com.ar/foros/index.php?topic=5968.0

Desconectado lorcho

  • PIC10
  • *
  • Mensajes: 18
Re: problema antirebote PIC 12f629
« Respuesta #6 en: 30 de Mayo de 2011, 15:33:45 »
Gracias! Ya lo estoy mirando. Al final deje los precisos sensores de vibración y me pase a los dos contactos y arandela, que son más efectivos, y practicamente no rebote. Para este proyecto creo que voy a intentar eliminar ese rebote con componentes pasivos, pero no doy encontrado los valores correctos. Creo que con un retardo de 250 ms me llegaría. A ver si llego a ellos.
Gracias de nuevo.


 

anything