Autor Tema: RB0/INT Pic16f88 y pbp "interrupcion"  (Leído 13754 veces)

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

Desconectado Eyedol

  • PIC16
  • ***
  • Mensajes: 129
RB0/INT Pic16f88 y pbp "interrupcion"
« en: 27 de Abril de 2007, 00:23:49 »
Saludos amigos tengo un problema sencillo pero que ya no hallo que hacer. e modificado varios registros pero no logro hacer funcionar una interrupcion sencilla por el por el rb0 de un PIC16F88. Este programa esta en MELABS y funciona perfecto con un pic16f84a:
' On Interrupt - Interrupts in BASIC
'  Turn LED on.  Interrupt on PORTB.0 (INTE) turns LED off.
'  Program waits .5 seconds and turns LED back on.

led     var     PORTB.7


        OPTION_REG = $7f        ' Enable PORTB pullups

        On Interrupt Goto myint ' Define interrupt handler
        INTCON = $90            ' Enable INTE interrupt

loop:   High led                ' Turn LED on
        Goto loop               ' Do it forever


' Interrupt handler
        Disable                 ' No interrupts past this point
myint:  Low led                 ' If we get here, turn LED off
        Pause   500             ' Wait .5 seconds
        INTCON.1 = 0            ' Clear interrupt flag
        Resume                  ' Return to main program
        Enable

Ya he hecho varias modificaciones en varios registros por ejemplo el ANSEL = 0 ' A/D OFF -- Port pins all digital y el CMCON = 7 ' Comparators OFF y no se que mas hacer pero no funciona con el PIC16F88

Desconectado Eyedol

  • PIC16
  • ***
  • Mensajes: 129
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #1 en: 27 de Abril de 2007, 11:19:17 »
Por favor alguien me de alguna respuesta sobre este tema de verda necesito saber cual es el problema con el pic16f88 o mejor dicho que hay que cambiarle para hacerle funcionar las interrupciones...

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #2 en: 27 de Abril de 2007, 12:06:59 »
Hola:

No te apures, cuando alguien pueda te responderá, presionando a los compañeros no gana nadie.

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #3 en: 27 de Abril de 2007, 20:00:03 »
Mi basic se parece mucho al tuyo.
Aqui te dejo el ejemplo traducido al mio.
Segun el simulador funciona.

Código: [Seleccionar]
'On Interrupt - Interrupts in BASIC
'Turn LED on.  Interrupt on PORTB.0 (INTE) turns LED off.
'Program waits .5 seconds and turns LED back on.
Symbol led = PORTB.7  'reasigno nombre al portb.7
ANSEL = %00000000  'los pin I/O digitales, % en bin
CMCON = 0x07  'comparador a off, 0x en hex
OSCCON = 0x7e  'set intrc To 8mhz, se usara reloj interno a 8Mhz
TRISB.7 = 0  'declaro portb.7 como salida
TRISB.0 = 1  'declaro portb.0 como entrada, 0-1 activa interrupcion
OPTION_REG = 0x7f  'Enable PORTB pullups
INTCON = 0x90  'Enable INTE interrupt
loop:
High led  'Turn LED on
Goto loop  'Do it forever
End                                               
'Interrupt handler
On Interrupt  'Define interrupt handler, desactiva interrupciones
Low led  'If we get here, turn LED off
WaitMs 500  'Wait .5 seconds
INTCON.1 = 0  'Clear interrupt flag
Resume  'Return to main program, activa interrupciones
Saludos desde Granada, España.

Desconectado Eyedol

  • PIC16
  • ***
  • Mensajes: 129
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #4 en: 28 de Abril de 2007, 01:47:49 »
Amigo dog use el codigo asi y aun no funciona... use tus cambios a los registros no he montado ese circuito me he puesto a pensar si sera el proteus que no estara funcionando bien. justamente he cambiado todos esos registros y aun no funciona ese f88 no se que mas podria ser... POR CIERTO QUE BASIC ES ESE? TUBE QUE CAMBIAR PARA QUE SE COMPILARA...

led var portb.7
ANSEL = %00000000  'los pin I/O digitales, % en bin
CMCON = $07  'comparador a off, 0x en hex
OSCCON = $7e  'set intrc To 8mhz, se usara reloj interno a 8Mhz
TRISB.7 = 0  'declaro portb.7 como salida
TRISB.0 = 1  'declaro portb.0 como entrada, 0-1 activa interrupcion
OPTION_REG = $7f  'Enable PORTB pullups
INTCON = $90  'Enable INTE interrupt

On Interrupt Goto myint ' Define interrupt handler
        INTCON = $90            ' Enable INTE interrupt

loop:   High led                ' Turn LED on
        Goto loop               ' Do it forever


' Interrupt handler
        Disable                 ' No interrupts past this point
myint:  Low led                 ' If we get here, turn LED off
        Pause   500             ' Wait .5 seconds
        INTCON.1 = 0            ' Clear interrupt flag
        Resume                  ' Return to main program
        Enable

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #5 en: 28 de Abril de 2007, 04:32:30 »
 device 16f88 'dispositivo
 xtal 8 'clock

led var portb.7
ANSEL = %00000000  'los pin I/O digitales, % en bin
CMCON = $07  'comparador a off, 0x en hex
OSCCON = $7e  'set intrc To 8mhz, se usara reloj interno a 8Mhz
TRISB.7 = 0  'declaro portb.7 como salida
TRISB.0 = 1  'declaro portb.0 como entrada, 0-1 activa interrupcion
OPTION_REG = $7f  'Enable PORTB pullups
INTCON = $90  'Enable INTE interrupt

On Interrupt Goto myint ' Define interrupt handler
        INTCON = $90            ' Enable INTE interrupt

loop:   High led                ' Turn LED on
        Goto loop               ' Do it forever


' Interrupt handler
        Disable                 ' No interrupts past this point
myint:  Low led                 ' If we get here, turn LED off
        Pause   500             ' Wait .5 seconds
        INTCON.1 = 0            ' Clear interrupt flag
        Resume                  ' Return to main program
        Enable
-----------------------------------------------------------------------

Prueba añadiendo las dos lineas del principio a ver si puede ser eso.
de todas formas te dejo mi .hex para que lo simules en el proteus a ver que pasa.

Yo utilizo el Pic Basic del Simulator IDE.
Este enlace esta lleno de ejemplos para el PIC16F88.
http://www.todopic.com.ar/foros/index.php?topic=14917.0
Saludos desde Granada, España.

Desconectado Eyedol

  • PIC16
  • ***
  • Mensajes: 129
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #6 en: 28 de Abril de 2007, 11:52:20 »
Amigo tu .HEX Funciona muy bien pero los mios no ni siquiera con las dos lineas extras. Debo comentarte que yo compilo con Pic Basic Pro PBP. De editor utilizo microcode estudio. Este editor compila directamente colocandole el microcontrolador correspondiente. Pero en la opcion de selecion del micro no esta el Pic16f88. POR esta Razon compilo en La terminal de windows con el pbp directamente de esta forma el archivo .bas: c:\>PBP -P16F88 EJEMPLO.BAS    . Al compilar todo sale bien y cuando simulo en proteus con este archivo no hace absolutamente nada. (deberia apagar el led .5 seg cuando pulso el boton y nada). La pregunta es no se como agregar el 16f88 al editor como lo hago? yo lo agregue al pbp bajando la libreria de melabs para el f88.  La version de mi pbp es 2.43.

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #7 en: 28 de Abril de 2007, 13:41:28 »
Pues en eso ya no te puedo ayudar... a ver si alguien te puede echar una ultima manita.
Saludos desde Granada, España.

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #8 en: 28 de Abril de 2007, 20:02:28 »
Directo desde microengineering labs:

Previous Release: 2.45
Adds support for PIC12F508, 509, 683, PIC16F505, 684, 688, 716, 737, 747, 767, 777, 87, 88, PIC18F2331, 2431, 2515, 2525, 2585, 2610, 2620, 2680, 4331, 4431, 4515, 4525, 4585, 4610, 4620, 4680, 6410, 6490, 8410 and 8490.
Allows spaces in path/filename.
Improves compatility with MPLAB® 6.
Updates USB routines to version 1.25.
Removes dependence on some Microchip PIC18Xxxxx macros.
Fixes subtract bit from byte and word to word result.
Fixes PIC16F648A BANK2 RAM setting.
Fixes some PIC18Xxxxx bank selections.


Por eso no te dá la opción de compilar el 16F88, porque no la tiene; por eso no te funciona porque no programa nada.

De todas formas lo puedes programar en ensamblador.
« Última modificación: 28 de Abril de 2007, 20:05:53 por Mario »
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #9 en: 29 de Abril de 2007, 07:01:53 »
En el caso que sigas teniendo problemas, adjunta el .hex y lo simulo en el PSI y asi salimos de dudas.
Saludos desde Granada, España.

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #10 en: 29 de Abril de 2007, 11:40:34 »
En el caso que sigas teniendo problemas, adjunta el .hex y lo simulo en el PSI y asi salimos de dudas.

Es que no le generará el .HEX porque la versión 2.43 no tiene soporte para ese micro.

Aquí está el .HEX de ese programa:
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado Eyedol

  • PIC16
  • ***
  • Mensajes: 129
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #11 en: 29 de Abril de 2007, 13:48:21 »
Amigos eso significa que en pic basic que es el unico donde se programar no soporta los pic16f88? y como haria yo agregue una libreria que descargue de melabs que era del pic16f88 y asi fue que pude compilarlo varias veces incluso he hecho varios programas para el f88 compilando desde el simbolo del sistema y sin problemas ahora que cuando quise hacer lo de las interrupciones pele b... si no hay ninguna otra forma TENDRE QUE CAMBIARME A OTRO LENGUAJE???? Dog el que tu tienes el basic ese donde se consigue?

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #12 en: 29 de Abril de 2007, 14:21:24 »
Pues como bien dice Mario el .Hex que subio funciona OK.

Puedes bajar una version que funciona por tiempo limitado de su pagina.

http://www.oshonsoft.com/downloads.html
Saludos desde Granada, España.

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #13 en: 29 de Abril de 2007, 14:29:57 »
Bueno PBP si soporta ese PIC yo lo he usado con la version 2.47 y si lo soporta, mientras puede probar el hex que subio Mario o bajar el programa que funciona temporalmente que subio Carlos.


Saludos
"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 Eyedol

  • PIC16
  • ***
  • Mensajes: 129
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #14 en: 29 de Abril de 2007, 15:19:01 »
Amigos el HEX  que me dio DOG Funciona Pero el de mario no me funciona para nada... Consegui la version 2.47 de pbp y aun asi no funciona nada... SOLO ME HA FUNCIONADO CON EL DE DOG Y CREO QUE EL NO COMPILO CON PBP. Navaismo tu puedes simular a ver como te va con ese programa esta sencillo no tiene nada es solo para probar las interrupciones con el f88.