TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: yukardo en 13 de Noviembre de 2008, 14:41:33

Título: Las salidas no se mantienen encendida.
Publicado por: yukardo en 13 de Noviembre de 2008, 14:41:33
Saludos.

Estoy realizando un programa sencillo que consiste en ir encendiendo las salidas continuamente, el problema es que cuando se enciende una salida la anterior se apaga, yo no mando a apagarla desde el programa. Mi pregunta es porque no se mantiene encendida.

Adjunto el programa que estoy utilizando.

@ DEVICE PIC12F675, MCLR_OFF
CMCON=7

main:
high GPIO.0
PAUSE 1000
HIGH GPIO.1
PAUSE 1000
HIGH GPIO.2
PAUSE 1000
HIGH GPIO.4
PAUSE 1000
LOW GPIO.0
PAUSE 1000
LOW GPIO.1
PAUSE 1000
LOW GPIO.2
PAUSE 1000
LOW GPIO.4
PAUSE 1000
GOTO MAIN

Sin más me despido esperando su pronta respuesta. Gracias de antemano.
Título: Re: Las salidas no se mantienen encendida.
Publicado por: navaismo en 13 de Noviembre de 2008, 14:49:59
La verdad que esta muy raro que pasa si lo intentas con:

Código: FreeBasic
  1. @ DEVICE PIC12F675, MCLR_OFF
  2. CMCON=7
  3. TRISIO=%001000
  4. GPIO=0
  5.  
  6. main:
  7. GPIO.0=1
  8. PAUSA
  9. GPIO.1=1
  10. PAUSA
  11. GPIO.2=1
  12. PAUSA
  13. GPIO.4=1
  14. PAUSA
  15. GPIO.0=0
  16. PAUSA
  17. GPIO.1=0
  18. PAUSA
  19. GPIO.2=0
  20. PAUSA
  21. GPIO.4=0
  22. PAUSA
  23. GOTO MAIN
  24.  
  25. PAUSA:
  26. PAUSE 1000
  27. RETURN

Otra cosa, tambien checate si no tienes que usar el registro ANSEL, no estoy en mi pC asi que no pude ver el PDF.

Saludos
Título: Re: Las salidas no se mantienen encendida.
Publicado por: Leon Pic en 13 de Noviembre de 2008, 14:58:52
No entiendo casi nada de basic, pero te voy a dar un detalle. ¿has desactivado el perro guardian (WDT)?
Título: Re: Las salidas no se mantienen encendida.
Publicado por: yukardo en 13 de Noviembre de 2008, 15:57:19
No creo que sea el WDT.

Probe configurando el ANSEL y nada.

Tambien cambie lo que me sugirieron del codigo y nada.

Alguien recomienda otra cosa?
Título: Re: Las salidas no se mantienen encendida.
Publicado por: navaismo en 13 de Noviembre de 2008, 16:28:21
¿Lo estas simulando o este en fisico? Si esta en fisico puedes ponernos como va la parte del programador y los fuses.
Título: Re: Las salidas no se mantienen encendida.
Publicado por: navaismo en 13 de Noviembre de 2008, 19:24:03
Pues si efectivamente en la simulacion no se mantienen encendidas, vaya a saber dios porque no lo hace :D pero bueno prueba con este codigo en la simulacion funciona en la realidad no lo se.

Código: FreeBasic
  1. @ device MCLR_OFF
  2. TRISIO=%001000
  3. GPIO=0
  4. cmcon=7
  5. ansel=0
  6.  
  7. MAIN:
  8. GPIO=%001001
  9. gosub pausa
  10. GPIO=%001011
  11. gosub pausa
  12. GPIO=%001111
  13. gosub pausa
  14. GPIO=%011111
  15. gosub pausa
  16. GPIO=%011110
  17. gosub pausa
  18. GPIO=%011100
  19. gosub pausa
  20. GPIO=%011000
  21. gosub pausa
  22. GPIO=%001000
  23. gosub pausa
  24. goto main
  25.  
  26. pausa:
  27. pause 1000
  28. return
Título: Re: Las salidas no se mantienen encendida.
Publicado por: yukardo en 14 de Noviembre de 2008, 01:41:27
Lo probe y nada que funciona.
Título: Re: Las salidas no se mantienen encendida.
Publicado por: navaismo en 14 de Noviembre de 2008, 01:54:26
Vuelvo a hacer la pregunta, ¿Lo probaste en fisico o en simulacion?

Esto es importante poque como te comente en la simualcion funciona bien, pero  en la realidad lo desconozco ya que no se como este tu hardware, o si usas el oscilador interno o un cristal; si no usas cristal como estas definiendo el registro del oscilador interno etc.
Título: Re: Las salidas no se mantienen encendida.
Publicado por: navaismo en 14 de Noviembre de 2008, 02:41:14
Bueno comprobado fisicamente este programa si funciona y es que me habias dejado la duda:

Código: FreeBasic
  1. @ device MCLR_OFF, INTOSCIO, BOD_OFF, PROTECT_OFF, CPD_OFF, WDT_OFF
  2. TRISIO=%001000
  3. GPIO=0
  4. cmcon=7
  5. ansel=0
  6.  
  7. MAIN:
  8. GPIO=%001001
  9. gosub pausa
  10. GPIO=%001011
  11. gosub pausa
  12. GPIO=%001111
  13. gosub pausa
  14. GPIO=%011111
  15. gosub pausa
  16. GPIO=%011110
  17. gosub pausa
  18. GPIO=%011100
  19. gosub pausa
  20. GPIO=%011000
  21. gosub pausa
  22. GPIO=%001000
  23. gosub pausa
  24. goto main
  25.  
  26. pausa:
  27. pause 1000
  28. return

Y el video que lo avala (http://www.youtube.com/watch?v=ahWByHZb1wg), disculparas el cablerio pero en ese proto tengo otro proyectito.

Saludos

PD. ¿Aqui como se adjuntan los videos de YOUTUBE?
Título: Re: Las salidas no se mantienen encendida.
Publicado por: yukardo en 14 de Noviembre de 2008, 10:32:29
A mi no me funciona y estoy pensando que puede ser el compilador.

Que compilador usastes para hacer el programa?

Gracias por tu ayuda.
Título: Re: Las salidas no se mantienen encendida.
Publicado por: navaismo en 14 de Noviembre de 2008, 15:49:55
Use PICBASICPRO.
Título: Re: Las salidas no se mantienen encendida.
Publicado por: yukardo en 15 de Noviembre de 2008, 00:56:08
me da un error en la palabra INTOSCIO nose si es q esta mal escrito  que?
Título: Re: Las salidas no se mantienen encendida.
Publicado por: navaismo en 15 de Noviembre de 2008, 01:21:42
Para el PIC 12F675, esta definido de esa manera en el archivo INC del PIC, te puede estar dando el error si estas usando el MPASM, si lo tienes activado, desactivalo y cuentanos que tal te fue.

Te dejo la imagen del programa con la compilacion que se lleva 80 palabras y ninigun error

(http://img234.imageshack.us/img234/3230/fusesqe5.jpg)
Título: Re: Las salidas no se mantienen encendida.
Publicado por: yukardo en 15 de Noviembre de 2008, 02:25:12
Aqui adjunto la imagen de el error nose como pegarla.

La opcion MPASM esta desactivada.
Título: Re: Las salidas no se mantienen encendida.
Publicado por: navaismo en 15 de Noviembre de 2008, 02:41:07
Esta raro, solo podria ser que en la pestaña no sea el PIC y si esta seleccionado puede que sea el compilador. Por favor adjunatame el archivo .PBP y lo compilo aca.

Saludos
Título: Re: Las salidas no se mantienen encendida.
Publicado por: yukardo en 16 de Noviembre de 2008, 13:47:15
Adjunto el archivo .php

Gracias por su ayuda.
Título: Re: Las salidas no se mantienen encendida.
Publicado por: navaismo en 16 de Noviembre de 2008, 21:16:54
He compilado tu codigo sin ningun problema; pero a la hora de activar el MPASM me tira estos dos errores:

(http://img233.imageshack.us/img233/8611/errrp8.jpg)

Por lo que creo que deberias checar que no este activado; para saber si esta activada esta opcion, realiza lo siguiente:

(http://img89.imageshack.us/img89/1812/hwoa3.jpg)

Si aun desactivando te bota el error, tienes dos opciones, una activar el oscilador interno desde el programador o bien reinstalar el PBP.

Saludos


Título: Re: Las salidas no se mantienen encendida.
Publicado por: yukardo en 16 de Noviembre de 2008, 23:34:54
La funcion use MPAS  la tengo desactivada

que version usas tu. yo tengo la 3.0.0.0
Título: Re: Las salidas no se mantienen encendida.
Publicado por: navaismo en 16 de Noviembre de 2008, 23:50:06
La 2.47 de PBP, entonces borra los fuses y configuralos desde el programador. Esta raro porque como veras en el video debe funcionar.

Tambien checa si en esa version el fuse se llame asi, abre el archivo 12F675.INC y busca los nombres para el oscilador interno quizas ya cambio.

Saludos
Título: Re: Las salidas no se mantienen encendida.
Publicado por: yukardo en 17 de Noviembre de 2008, 21:18:57
Yo tengo ese porque me corre en Windows Vista. He realizado programas y me han funcionado. Pero es raro lo que pasa ahorita.

Esa version que tienes es compatible con vista?
Título: Re: Las salidas no se mantienen encendida.
Publicado por: navaismo en 17 de Noviembre de 2008, 21:34:06
No lo se, con trabajos batallo con XP, no lo haria con VISTA y sus centenaresde bugs, bueno el caso es que revises lo que te digo, abre el 12F675.INC y ve si se llama asi o cambio.

Para la version de PBP que uso, esta es la seccion de los fuses para ese PIC:

               ; *** DEVICE Fuses Definitions
EXTRC      equ   3FF80007h       ; XX XXXX XXXX X111
EXTRC_OSC_CLKOUT equ    3FF80007h       ; XX XXXX XXXX X111
EXTRCIO      equ   3FF80006h       ; XX XXXX XXXX X110
EXTRC_OSC_NOCLKOUT equ  3FF80006h       ; XX XXXX XXXX X110
EXTRC_OSC       equ     3FF80006h       ; XX XXXX XXXX X110
INTOSC      equ   3FF80005h       ; XX XXXX XXXX X101
INTRC_OSC_CLKOUT equ    3FF80005h       ; XX XXXX XXXX X101
INTOSCIO   equ   3FF80004h       ; XX XXXX XXXX X100 aqui esta el que uso!!
INTRC_OSC_NOCLKOUT equ  3FF80004h       ; XX XXXX XXXX X100
INTRC_OSC       equ     3FF80004h       ; XX XXXX XXXX X100
EC_OSC          equ     3FF80003h       ; XX XXXX XXXX X011
HS_OSC          equ     3FF80002h       ; XX XXXX XXXX X010
XT_OSC          equ     3FF80001h       ; XX XXXX XXXX X001
LP_OSC          equ     3FF80000h       ; XX XXXX XXXX X000
WDT_ON          equ     3FF70008h       ; XX XXXX XXXX 1XXX
WDT_OFF         equ     3FF70000h       ; XX XXXX XXXX 0XXX
PWRT_OFF        equ     3FEF0010h       ; XX XXXX XXX1 XXXX
PWRT_ON         equ     3FEF0000h       ; XX XXXX XXX0 XXXX
MCLR_ON         equ     3FDF0020h       ; XX XXXX XX1X XXXX
MCLR_OFF        equ     3FDF0000h       ; XX XXXX XX0X XXXX
BOD_ON          equ     3FBF0040h       ; XX XXXX X1XX XXXX
BOD_OFF         equ     3FBF0000h       ; XX XXXX X0XX XXXX
PROTECT_ON      equ     3F7F0000h       ; XX XXXX 0XXX XXXX
PROTECT_OFF     equ     3F7F0080h       ; XX XXXX 1XXX XXXX
CPD_ON          equ     3EFF0000h       ; XX XXX0 XXXX XXXX
CPD_OFF         equ     3EFF0100h       ; XX XXX1 XXXX XXXX


Asi que porfa checalo y ve si asi se llama si no como te digo la solucion esta en que actives esa casilla en el programador
Título: Re: Las salidas no se mantienen encendida.
Publicado por: yukardo en 19 de Noviembre de 2008, 16:33:09
Como hago para abrir el 12f675.inc
Título: Re: Las salidas no se mantienen encendida.
Publicado por: Leon Pic en 19 de Noviembre de 2008, 18:06:01
Lo puedes abrir con cualquier procesador de texto. Yo utilizo el notepad.
Título: Re: Las salidas no se mantienen encendida.
Publicado por: frape en 19 de Noviembre de 2008, 19:18:31
Hola, yo como novatillo y usuario de PBP que soy y asi moriré(soy muy cazurro), me tocó pelear mucho con un 12f675 en su dia,  si prendia un led se apagaba otro nunca podia tener 2 encendidos,y del datasheet saque algunas palabras de config que antes no usaba y que son imprescindibles y que veo que no usas como es INTCON = %00000000 para desabilitar/habilitar las interrupciones, la poca experiencia que tengo es que hay que configurar todos los registros que puedan afectar ya que aunque por defecto algunos tengan una configuracion predeterminada, la realidad me ha demostrado que si no se hace uno se lleva sorpresas.
Saludos
Título: Re: Las salidas no se mantienen encendida.
Publicado por: navaismo en 19 de Noviembre de 2008, 20:14:39
Jelouu? Esto:
Código: FreeBasic
  1. @ device MCLR_OFF, INTOSCIO, BOD_OFF, PROTECT_OFF, CPD_OFF, WDT_OFF
  2. TRISIO=%001000
  3. GPIO=0
  4. cmcon=7
  5. ansel=0
  6.  
  7. MAIN:
  8. GPIO=%001001
  9. gosub pausa
  10. GPIO=%001011
  11. gosub pausa
  12. GPIO=%001111
  13. gosub pausa
  14. GPIO=%011111
  15. gosub pausa
  16. GPIO=%011110
  17. gosub pausa
  18. GPIO=%011100
  19. gosub pausa
  20. GPIO=%011000
  21. gosub pausa
  22. GPIO=%001000
  23. gosub pausa
  24. goto main
  25.  
  26. pausa:
  27. pause 1000
  28. return

Hace esto:


Ni esta truqueado ni nada es el programa tal cual de arriba.
Título: Re: Las salidas no se mantienen encendida.
Publicado por: yukardo en 20 de Noviembre de 2008, 00:35:56
Ya me funciona gracias.