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

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

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #15 en: 29 de Abril de 2007, 18:27:58 »
He probado tu codigo y no hizo nada, con el hex que puso Mario el led se queda siempre encendido, y con el hex que puso Carlos el LED se enciende y cuando pasas de 0 a 1 logico se apaga y despues se vuelve a encender. Esto ultimo es lo que quieres hacer??.

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 dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #16 en: 29 de Abril de 2007, 18:58:00 »
He probado de nuevo el codigo de Mario en el PSI, por si me confundi en algo, y sigue funcionando perfectamente.
Saludos desde Granada, España.

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #17 en: 29 de Abril de 2007, 19:36:28 »
No pues no se que sea si la version o que, pero usando ISIS del proteus. Solo tu ejemplo -Carlos-  funciona, el ded Mario se queda simepre encendido el LED. no asi con tu codigo.

Por otro lado ya me canse de buscar en el Data del F84 el registro INTCON porque pagina viene??? o es que este no es como todos los demas que viene como configurar sus bits individuales como el option reg el osccon etc.
"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 navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #18 en: 29 de Abril de 2007, 19:55:15 »
encontre este programa en la web y funciona bien para el f88 lo raro es que cuando cambio los pines ya sea por el RB7 no cualquier otro o funciona en el ISIS.

Código: FreeBasic
  1. @ DEVICE INTRC_OSC, LVP_OFF, WDT_OFF, MCLR_OFF
  2.  
  3. DEFINE OSC 8
  4.  
  5. OSCCON = %01110000 ' INTRC = 8MHz
  6.  
  7. OPTION_REG.6=1 'Trigger on rising edge
  8. INTCON = %10010000 'Enable INTE
  9. INTCON.1 = 0 'Clear RB0/INT External Interrupt Flag bit
  10.  
  11. On Interrupt Goto UpdateCounter
  12.  
  13. PORTB=0
  14. Pause 500 ' Wait for startup
  15. LOW PORTB.3
  16.  
  17. loop:
  18.  
  19. HIGH PORTB.4
  20. Pause 2000 ' Wait 5 second
  21.  
  22. LOW PORTB.4
  23. Pause 2000 ' Wait 5 second
  24. Goto loop ' Do it forever
  25.  
  26. Disable
  27. UpdateCounter:
  28. LOW PORTB.4
  29. HIGH PORTB.3
  30. pause 2000
  31. LOW PORTB.3
  32.  
  33. INTCON.1=0 're-enable interrupts
  34.  
  35. resume
  36. ENABLE
  37. GOTO loop
  38.  
  39. END
"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 #19 en: 29 de Abril de 2007, 20:05:44 »
Igualmente lo probe en proteus isis y no hace nada navaismo me pasa exactamente lo mismo que a ti. Probe el programa con el pic16f84a y funciona mas no con el 88 en el data sheet esta lo del registro intcon y su explicacion. aqui esta adjunto...

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #20 en: 29 de Abril de 2007, 20:15:35 »
Solo copié y pegué el archivo que puso EYEDOL y lo compilé, debería funcionar.

Una duda.....
En el código que puso Navaismo está la línea
OSCCON = %01110000 ' INTRC = 8MHz

¿No debería ser
OSCCON = %01110010 ' INTRC = 8MHz?

Lo comento porque en el 16F688 (este es el 16F88) debes decirle al µicro que trabajarás con el oscilador interno y activar ese oscilador (bit 0 del OSCCON si no recuerdo mal).
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 #21 en: 29 de Abril de 2007, 20:28:53 »
Mario orita no estoy en mi casa para probar y si creo que tienes razon pero lo he probado de ambas maneras con el osc interno y externo.
« Última modificación: 29 de Abril de 2007, 20:34:55 por Eyedol »

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #22 en: 29 de Abril de 2007, 20:33:02 »
Con respecto a lo que  dice Mario los 2 ultimos bits es para decir de donde se usa el clock del sistema, en mi caso usao FOSC y si lo ponen como Mario se usa del INTRC,  el importante a mi parecer es el bit 3 el OSTS que es donde se dice que sea el interno, lo demas es la frecuencia si es estable o no y su velocidad. Pero habria que probarlo tal cual MArio dice.

Por otro lado esto ya me esta generando dolr de cabeza, el Hex de dogflu si me sirve, el de Mairo no, el programa que encontre lo compilo y funciona bien pero si le cambio los pines ya no sirve.

Gracias por dato del intcon ahora entiendo porque es asi.

Insisto esta muy raro.
"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 #23 en: 29 de Abril de 2007, 20:37:26 »
Creo que tendre que motarlo nava... para salir de dudas orita no estoy en mi casa cuando llegue lo tratare de hacer si no me domina el sueño. Eso para saber si es algun problema con el isis o algo por hay.

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #24 en: 30 de Abril de 2007, 01:10:31 »
Código: [Seleccionar]
OSCCON = 0x7e  'set intrc To 8mhz, se usara reloj interno a 8Mhz

OSCCON= 0111 1110

Ponlo así, así es como lo tiene dogflu (no me había fijado bien).
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 #25 en: 30 de Abril de 2007, 04:42:05 »
Aparte de que los simuladores tienen sus temas propios con la realidad.
Pienso que podria ser un problema de fuses, ya que yo programo los fuses en el PSI, donde me sale una tabla con todos
y marco uno por uno a mano, y estos suelen tener prioridad sobre los que se definen en el programa, incluso el clock lo tengo definido en el PSI, a un que esta tambien en el codigo fuente, pero es posible que la configuracion que hago en el PSI me modifique la del codigo fuente...
Saludos desde Granada, España.

Desconectado jansuini

  • Moderador Local
  • PIC24F
  • *****
  • Mensajes: 566
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #26 en: 30 de Abril de 2007, 15:30:55 »
Hola :

Un coentario sobre las interrupciones en pbp: si tenemos necesidad de atender una interrupción ,el pbp lo hace cuando termina de ejecutar la instrucción en curso.
Ejemplo :si estamos ejecutando una instruccin pause 5000 y en el momento que comenzó esta pausa se genera la interrupción (por cualquier tipo de interrupción) ,recién el pbp va a ejecutar la rutina de interrupción cuando termine la instrucción pause.-
En cambio ,por lo que simule en picsimuladoride ,este atiendo las interrupciones cuando se generan.-
Espero me hayan entendido
Jorge

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #27 en: 30 de Abril de 2007, 17:18:05 »
Hola :

Un coentario sobre las interrupciones en pbp: si tenemos necesidad de atender una interrupción ,el pbp lo hace cuando termina de ejecutar la instrucción en curso.
Ejemplo :si estamos ejecutando una instruccin pause 5000 y en el momento que comenzó esta pausa se genera la interrupción (por cualquier tipo de interrupción) ,recién el pbp va a ejecutar la rutina de interrupción cuando termine la instrucción pause.-
En cambio ,por lo que simule en picsimuladoride ,este atiendo las interrupciones cuando se generan.-
Espero me hayan entendido
Jorge

Eso es cierto, habrá que preguntar a EYEDOL si es crítica la interrupción; si lo es, que lo haga en ensamblador.
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 #28 en: 30 de Abril de 2007, 21:40:03 »
amigos tengo un pic16f84a que funciona con ese programa y un pic16f88 que no me muero por saber que pasa que estoy configurando mal en los registros hasta ahora e pensado que es el compilador porque de verdad no consigo que es ni en los datasheet....

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: RB0/INT Pic16f88 y pbp "interrupcion"
« Respuesta #29 en: 01 de Mayo de 2007, 03:14:17 »
Con respecto a lo que jansuini comenta, quizá podrias utilizar este código:
http://www.microengineeringlabs.com/resources/samples/pbp/asmint.bas

Es lo que necesitas pero utilizando la interrupción en ensamblador.
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