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
@ DEVICE PIC12F675, MCLR_OFF
CMCON=7
TRISIO=%001000
GPIO=0
main:
GPIO.0=1
PAUSA
GPIO.1=1
PAUSA
GPIO.2=1
PAUSA
GPIO.4=1
PAUSA
GPIO.0=0
PAUSA
GPIO.1=0
PAUSA
GPIO.2=0
PAUSA
GPIO.4=0
PAUSA
GOTO MAIN
PAUSA:
PAUSE 1000
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
@ device MCLR_OFF
TRISIO=%001000
GPIO=0
cmcon=7
ansel=0
MAIN:
GPIO=%001001
gosub pausa
GPIO=%001011
gosub pausa
GPIO=%001111
gosub pausa
GPIO=%011111
gosub pausa
GPIO=%011110
gosub pausa
GPIO=%011100
gosub pausa
GPIO=%011000
gosub pausa
GPIO=%001000
gosub pausa
goto main
pausa:
pause 1000
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:
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
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:
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