Autor Tema: PROBLEMA CON 16F88  (Leído 7110 veces)

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

Desconectado alexcarrero

  • PIC10
  • *
  • Mensajes: 32
PROBLEMA CON 16F88
« en: 30 de Mayo de 2008, 01:07:42 »
SALUDOS
estoy utilizando el pic 16f88 por primer vez y al compilar el programa me sale el siguiente error

 "  redifinition of var. (16f88.bas)  "

ya el codigo lo e probado en otro pic el 16f877 corre bien pero modificandolo para el 16f88 claro esta el MicroCode Studio que estoy utizando es es el picbasic pro 2.46

ah otro cosa cuales son los fusibles que deben estar habitado y deshabilitado para la configuracion de del picl
 
espero me colaboren

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: PROBLEMA CON 16F88
« Respuesta #1 en: 30 de Mayo de 2008, 10:37:59 »
Si pudieras subir el codigo para ver en lo que esta fallando, asi es muy ambiguo tu problema. O bien decirnos que es lo que quieres hacer.
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado alexcarrero

  • PIC10
  • *
  • Mensajes: 32
Re: PROBLEMA CON 16F88
« Respuesta #2 en: 30 de Mayo de 2008, 15:11:24 »
SALUDOS

este es el codigo

 DEFIne osc 4
        DEFINE LCD_DREG PORTB   ' Setea el port de datos LCD
        DEFINE LCD_DBIT 0       ' Setea el bit de comienzo de datos (0 o 4) si el bus es de 4-bit
        DEFINE LCD_RSREG PORTC  ' Setea el port LCD Register Select
        DEFINE LCD_RSBIT 4      ' Setea el bit LCD Register Select
        DEFINE LCD_EREG PORTC   ' Setea el port LCD Enable
        DEFINE LCD_EBIT 5       ' Setea el bit LCD Enable
        DEFINE LCD_BITS 4       ' Setea el tamaño del bus LCD (4 o 8 bits)
        DEFINE LCD_LINES 2      ' Setea el numero de lineas en el LCD

        ACD VAR WORD               
        MAP VAR WORD
        RPM VAR  WORD

TRISB = %00000000
TRISA = %00001111     ' PORTA DEL BIT 7-1 SON LALIDAS Y EL BIT 0 ENTRADA
ADCON1 = %10000010    ' RESULTADOS JUTIFICAR A LA DERECHA Y EL BIT RA0 A RA4 COMO ENTRADO ANALOGICA
ADCON0 = %01011001   ' QUEDA CONF EL CLOCK FOSC/8 el modulo de A/D Y EP PUETO RA3 IN ANALOGICA
Pause 500          ' pausa de 500 ms


loop_2:    ADCON0.2 = 1               'Start Conversion

Bucle_2:     pause 5

         if ADCON0.2 = 1 Then bucle_2   'wait for low on bit-2 of ADCON0, conversion finished

         ACD.highbyte = ADRESH         'move HIGH byte of result to ADC
         ACD.lowbyte = ADRESL         'move LOW byte of result to ADC
         MAP = (50*ACD)/1023*100
         LCDOUT $FE,1
         IF PORTD.0=1 then nolcd
         LCDOUT #MAp, " mV "
nolcd:      IF RPM<910 then fallas1
         PAUSE 100
         GOTO LOOP_2
fallas1:   if MAP=0 then MAProto
            IF MAP>4000 THEN MAPalto
           if MAP<300 THEN MAPbajo
            goto loop_2
MAPalto:    lcdout $fe,1, "VOLT S MAP ALTO "
            LCDOUT $fe,$C0,"ERROR CODIGO 33 "
            PAUSE 100
            GOTO loop_2
MAPbajo:    lcdout $fe,1, "VOLT S MAP BAJO"
            LCDOUT $fe,$C0,"ERROR CODIGO 34 "
            PAUSE 100
            GOTO loop_2
MAProto:    lcdout $fe,1, "SENSOR CON DEFCT"
            LCDOUT $fe,$C0,"CHEQUEAR SEN MAP"
            PAUSE 100
            GOTO loop_2       
         END

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: PROBLEMA CON 16F88
« Respuesta #3 en: 30 de Mayo de 2008, 15:31:44 »
Creo que el problema si viene de los fuses, en este momento no tengo la informacion del data sheet pero seria bueno lo revisaras para comprobar que lo configuras bien.
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: PROBLEMA CON 16F88
« Respuesta #4 en: 30 de Mayo de 2008, 16:55:56 »
Saludos!
Dices que estás trabajando con el PIC16F88
Una pregunta entonces... este código:
        DEFIne osc 4
        DEFINE LCD_DREG PORTB   ' Setea el port de datos LCD
        DEFINE LCD_DBIT 0       ' Setea el bit de comienzo de datos (0 o 4) si el bus es de 4-bit
        DEFINE LCD_RSREG PORTC  ' Setea el port LCD Register Select
        DEFINE LCD_RSBIT 4      ' Setea el bit LCD Register Select
        DEFINE LCD_EREG PORTC   ' Setea el port LCD Enable
        DEFINE LCD_EBIT 5       ' Setea el bit LCD Enable
        DEFINE LCD_BITS 4       ' Setea el tamaño del bus LCD (4 o 8 bits)
        DEFINE LCD_LINES 2      ' Setea el numero de lineas en el LCD

        ACD VAR WORD               
        MAP VAR WORD
        RPM VAR  WORD

TRISB = %00000000
TRISA = %00001111     ' PORTA DEL BIT 7-1 SON LALIDAS Y EL BIT 0 ENTRADA
ADCON1 = %10000010    ' RESULTADOS JUTIFICAR A LA DERECHA Y EL BIT RA0 A RA4 COMO ENTRADO ANALOGICA
ADCON0 = %01011001   ' QUEDA CONF EL CLOCK FOSC/8 el modulo de A/D Y EP PUETO RA3 IN ANALOGICA
Pause 500          ' pausa de 500 ms


loop_2:    ADCON0.2 = 1               'Start Conversion

Bucle_2:     pause 5

         if ADCON0.2 = 1 Then bucle_2   'wait for low on bit-2 of ADCON0, conversion finished

         ACD.highbyte = ADRESH         'move HIGH byte of result to ADC
         ACD.lowbyte = ADRESL         'move LOW byte of result to ADC
         MAP = (50*ACD)/1023*100
         LCDOUT $FE,1
         IF PORTD.0=1 then nolcd
         LCDOUT #MAp, " mV "
nolcd:      IF RPM<910 then fallas1
         PAUSE 100
         GOTO LOOP_2
fallas1:   if MAP=0 then MAProto
            IF MAP>4000 THEN MAPalto
           if MAP<300 THEN MAPbajo
            goto loop_2
MAPalto:    lcdout $fe,1, "VOLT S MAP ALTO "
            LCDOUT $fe,$C0,"ERROR CODIGO 33 "
            PAUSE 100
            GOTO loop_2
MAPbajo:    lcdout $fe,1, "VOLT S MAP BAJO"
            LCDOUT $fe,$C0,"ERROR CODIGO 34 "
            PAUSE 100
            GOTO loop_2
MAProto:    lcdout $fe,1, "SENSOR CON DEFCT"
            LCDOUT $fe,$C0,"CHEQUEAR SEN MAP"
            PAUSE 100
            GOTO loop_2       
         END
.... es para el 16F88? Porque veo por allí PORTC... y pues ese micro no posee portc.
Revisa bien eso a ver... si lo compilas para 16F877 sí te funciona porque ese sí tiene hasta porte... pero verifica bien cómo lo compilas para el 16f88.
Ok nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado alexcarrero

  • PIC10
  • *
  • Mensajes: 32
Re: PROBLEMA CON 16F88
« Respuesta #5 en: 31 de Mayo de 2008, 14:01:46 »
ok tienes rason por estar con el apuro y el desespero uno no ve ni analiza las cosas voy corregir el codigo otra cosa dime como hago para simularlo en proteus pq en la libreria no me aparese el 16f88

saludos y gracias

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: PROBLEMA CON 16F88
« Respuesta #6 en: 31 de Mayo de 2008, 14:07:36 »
No te preocupes Alex, a todos nos ha pasado alguna vez.
Mira qué versión del proteus usas? Porque yo tengo la 7.2 y sí aparece el 16F88.
Ok nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado alexcarrero

  • PIC10
  • *
  • Mensajes: 32
Re: PROBLEMA CON 16F88
« Respuesta #7 en: 31 de Mayo de 2008, 14:17:52 »
saludos
hice los cambios en el codigo y sigue el error  aqui esta de nuevo el codigo

        DEFIne osc 4
        DEFINE LCD_DREG PORTB   ' Setea el port de datos LCD
        DEFINE LCD_DBIT 0       ' Setea el bit de comienzo de datos (0 o 4) si el bus es de 4-bit
        DEFINE LCD_RSREG PORTB  ' Setea el port LCD Register Select
        DEFINE LCD_RSBIT 6      ' Setea el bit LCD Register Select
        DEFINE LCD_EREG PORTB   ' Setea el port LCD Enable
        DEFINE LCD_EBIT 7       ' Setea el bit LCD Enable
        DEFINE LCD_BITS 4       ' Setea el tamaño del bus LCD (4 o 8 bits)
        DEFINE LCD_LINES 2      ' Setea el numero de lineas en el LCD
        ACD var WORD               
        MAP VAR WORD
        RPM var word
TRISB = %00100000
TRISA = %00001111     ' PORTA DEL BIT 7-1 SON LALIDAS Y EL BIT 0 ENTRADA
ADCON1 = %10000010    ' RESULTADOS JUTIFICAR A LA DERECHA Y EL BIT RA0 A RA4 COMO ENTRADO ANALOGICA
ADCON0 = %01011001   ' QUEDA CONF EL CLOCK FOSC/8 el modulo de A/D Y EP PUETO RA3 IN ANALOGICA
Pause 500          ' pausa de 500 ms


loop_2:    ADCON0.2 = 1               'Start Conversion

Bucle_2:     pause 5
         if ADCON0.2 = 1 Then bucle_2   'wait for low on bit-2 of ADCON0, conversion finished

         ACD.highbyte = ADRESH         'move HIGH byte of result to ADC
         ACD.lowbyte = ADRESL         'move LOW byte of result to ADC
         MAP = (50*ACD)/1023*100
         LCDOUT $FE,1
         IF PORTB.5=1 then nolcd
         LCDOUT #MAp, " mV "
nolcd:      IF RPM<910 then fallas1
         PAUSE 100
         GOTO LOOP_2
fallas1:   if MAP=0 then MAProto
            IF MAP>4000 THEN MAPalto
         if MAP<300 THEN MAPbajo
            goto loop_2
MAPalto:    lcdout $fe,1, "VOLT S MAP ALTO "
            LCDOUT $fe,$C0,"ERROR CODIGO 33 "
            PAUSE 100
            GOTO loop_2
MAPbajo:    lcdout $fe,1, "VOLT S MAP BAJO"
            LCDOUT $fe,$C0,"ERROR CODIGO 34 "
            PAUSE 100
            GOTO loop_2
MAProto:    lcdout $fe,1, "SENSOR CON DEFCT"
            LCDOUT $fe,$C0,"CHEQUEAR SEN MAP"
            PAUSE 100
            GOTO loop_2       
         END

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: PROBLEMA CON 16F88
« Respuesta #8 en: 31 de Mayo de 2008, 14:43:04 »
Qué versión de pbp estás usando? Yo tengo la 2.50 y me compiló perfecto tu código.
Nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: PROBLEMA CON 16F88
« Respuesta #9 en: 31 de Mayo de 2008, 14:50:19 »
Aquí tienes la captura de pantalla donde puedes ver la compilación:

"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado alexcarrero

  • PIC10
  • *
  • Mensajes: 32
Re: PROBLEMA CON 16F88
« Respuesta #10 en: 31 de Mayo de 2008, 20:52:03 »
saludos
estoy utizando   el picbasic pro 2.46 si a ti te compilo bien entoses debo actualizarme


Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: PROBLEMA CON 16F88
« Respuesta #11 en: 31 de Mayo de 2008, 21:09:51 »
Revisa en la carpeta del PBP y ve si tienes los archivos del 16F88.
Si no los tienes seguramente es por eso que no te compila.
Ahí te los paso adjuntados por si acaso.
Ok nos leemos!  :mrgreen:
« Última modificación: 02 de Junio de 2008, 12:06:46 por navaismo »
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado alexcarrero

  • PIC10
  • *
  • Mensajes: 32
Re: PROBLEMA CON 16F88
« Respuesta #12 en: 02 de Junio de 2008, 14:46:52 »
saludos fierpic

ya resorvi el proble era que yo tenia un desastre con las carpeta del mpasmwin las ordene y listo ahora otra cosa cules seran los fuse de configuracion del pic 16f88

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: PROBLEMA CON 16F88
« Respuesta #13 en: 02 de Junio de 2008, 14:51:05 »
Revisa su datasheet y ahi encontraras los fuses que debes configurar
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: PROBLEMA CON 16F88
« Respuesta #14 en: 02 de Junio de 2008, 14:52:59 »
Buena sugerencia la de navaismo alex.
También puedes revisar con el mplab. Le das "configure>select device" y escoges el 16F88... luego "configure>configuration bits..." y ahí te salen los fuses.
Pero para estar bien seguro, la datasheet, sin duda alguna.
Ok nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web


 

anything