elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Informática
| |-+  Electrónica
| | |-+  Selector de secuencias en Mikro C no cumple al simularlo!!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Selector de secuencias en Mikro C no cumple al simularlo!!  (Leído 5,853 veces)
...DaNiEl...

Desconectado Desconectado

Mensajes: 65


>...I'm A hUmAn AfTeR aLl...<


Ver Perfil
Selector de secuencias en Mikro C no cumple al simularlo!!
« en: 24 Julio 2009, 17:39 pm »

Código:
/*Selector de secuencias*/
int cont=0,sc1,sc2,sc3;
void main()
{
ANSEL=0;
ANSELH=0;
TRISA=1; /*Entrada que cuenta los pulsos con un push button*/
TRISC=0; /*Configurado como salida para hacer la secuencia*/
while(1)
{
if(PORTA==1)
{
cont++;
if(cont>=3)
cont=0;
while(PORTA==1)
{
}
}
switch(cont)
{
case 1:
for(sc1=0;sc1<255;sc1++)
{
PORTC=sc1;
delay_ms(5);
}
break;
case 2:
for(sc1=255;sc1>0;sc1--)
{
PORTC=sc1;
delay_ms(5);
break;
case 3:
sc2=1;
for(sc1=0;sc1<7;sc1++)
{
PORTC=sc2;
delay_ms(5);
sc2=sc2*2;
if(sc2==256)
sc2=1;
break;
case 4:
sc2=128;
for(sc1=0;sc1<7;sc1++)
{
PORTC=sc2;
delay_ms(5);
sc2=sc2/2;
if(sc2==1)
sc2=128;
break;
}
}
}
}
}
}
/*PIC16F690*/
Me recomendarian hacerlo con la sentencia while en vez de for??? :huh:


En línea

>...We ArE a HuMaNs AfTeR aLl...<
h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: Selector de secuencias en Mikro C no cumple al simularlo!!
« Respuesta #1 en: 24 Julio 2009, 17:47 pm »

Veamos si entiendo...

Lo que necesitas es como un temporizador?

Por PORTA irían por ejemplo... los minutos, por PORTC los segundos... Ese efecto quieres lograr?


En línea

...DaNiEl...

Desconectado Desconectado

Mensajes: 65


>...I'm A hUmAn AfTeR aLl...<


Ver Perfil
Re: Selector de secuencias en Mikro C no cumple al simularlo!!
« Respuesta #2 en: 24 Julio 2009, 17:50 pm »

Veamos si entiendo...

Lo que necesitas es como un temporizador?

Por PORTA irían por ejemplo... los minutos, por PORTC los segundos... Ese efecto quieres lograr?

Ps yo utilizo el PORTA como una entrada la cual cada vez que le llegue un pulso cambia de secuencia; la secuencia sale en el PORTC; lo que pasa es que a la hora de simularlo solo saca una secuencia y no cambia si se le introduce un pulso en PORTA!!
En línea

>...We ArE a HuMaNs AfTeR aLl...<
h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: Selector de secuencias en Mikro C no cumple al simularlo!!
« Respuesta #3 en: 24 Julio 2009, 17:54 pm »

Aver, aver, aver...

Tienes una entrada de onda cuadrada con su respectiva frecuencia, tu quieres que por cada alto se active un pin del otro puerto, hasta que llegue a los 8 si mal no recuerdo, y luego al próximo alto(también podría ser bajo), vuelva a comenzar la secuencia?
En línea

...DaNiEl...

Desconectado Desconectado

Mensajes: 65


>...I'm A hUmAn AfTeR aLl...<


Ver Perfil
Re: Selector de secuencias en Mikro C no cumple al simularlo!!
« Respuesta #4 en: 24 Julio 2009, 18:00 pm »

Aver, aver, aver...

Tienes una entrada de onda cuadrada con su respectiva frecuencia, tu quieres que por cada alto se active un pin del otro puerto, hasta que llegue a los 8 si mal no recuerdo, y luego al próximo alto(también podría ser bajo), vuelva a comenzar la secuencia?

Sip, la entrada se podria decir que es PORTA.F0; yo quiero que por cada pulso que entre en ella, cambie a la proxima secuencia que puse en los "case" de mi sentencia switch, la cual se muestra en los pines del PORTC; pero al enviarle un pulso no cambia de secuencia, no se si es por algun error que haya puesto yo en alguno de los case o en algun for!!
En línea

>...We ArE a HuMaNs AfTeR aLl...<
h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: Selector de secuencias en Mikro C no cumple al simularlo!!
« Respuesta #5 en: 24 Julio 2009, 18:17 pm »

Bien, analizando tu code, no son necesarios tus "switchs". Otra cosa, pusiste PORTA==1, ¿?, tu PORTA es únicamente el pin de tu clock?

Yo en todo caso

Citar
while(1)
{
   if( PORTA.(X)==1)
   {
            cnt++;
            if(cnt<(cantidad pines + 1))
            PORTC=cnt;
            else
            cnt=0;  
   }
}

Se entiende la idea?
En línea

...DaNiEl...

Desconectado Desconectado

Mensajes: 65


>...I'm A hUmAn AfTeR aLl...<


Ver Perfil
Re: Selector de secuencias en Mikro C no cumple al simularlo!!
« Respuesta #6 en: 24 Julio 2009, 18:24 pm »

Bien, analizando tu code, no son necesarios tus "switchs". Otra cosa, pusiste PORTA==1, ¿?, tu PORTA es únicamente el pin de tu clock?

Yo en todo caso

Citar
while(1)
{
   if( PORTA.(X)==1)
   {
            cnt++;
            if(cnt<(cantidad pines + 1))
            PORTC=cnt;
            else
            cnt=0;  
   }
}

Se entiende la idea?

Ok... entendi tu idea, seria mucho mas facil si lo hiciera con while verdad!! es mas creo que quedaria mas pequeño... pero mi profesor insiste!! gracias!! probare hacer cambios en el codigo que ya tengo o si no creare uno nuevo!! Muchas gracias por tu ayuda!!

Saludos!!  :)  ;)
En línea

>...We ArE a HuMaNs AfTeR aLl...<
h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: Selector de secuencias en Mikro C no cumple al simularlo!!
« Respuesta #7 en: 24 Julio 2009, 18:26 pm »

Citar
while(1)
{
   if( PORTA.(X)==1)
   {
            cnt=0;
            while(cnt<(cantidadpines+1)
            {
                 PORTC=cnt;
                 cnt++;
            }  
   }
}
En línea

...DaNiEl...

Desconectado Desconectado

Mensajes: 65


>...I'm A hUmAn AfTeR aLl...<


Ver Perfil
Re: Selector de secuencias en Mikro C no cumple al simularlo!!
« Respuesta #8 en: 24 Julio 2009, 18:59 pm »

Código:
/*Selector de secuencias*/
int cont=1,sc1=0b00000001,sc2=0b10000000;
void main()
{
ANSEL=0;
ANSELH=0;
TRISA=1; /*Entrada que cuenta los pulsos con un push button*/
TRISC=0; /*Configurado como salida para hacer la secuencia*/
while(1)
{
if(PORTA==1)
{
cont++;
if(cont>=5)
cont=1;
while(PORTA==1)
{
}
}
switch(cont)
{
case 1:
PORTC=sc1;
sc1=sc1<<1;
if(sc1>128)
sc1=1;
break;
case 2:
PORTC=sc2;
sc2=sc2>>1;
if(sc2<1)
sc2=128;
break;
case 3:
PORTC=sc1;
sc1=sc1<<2;
if(sc1>128)
sc1=1;
break;
case 4:
PORTC=sc2;
sc2=sc2>>2;
if(sc2<1)
sc2=128;
break;
}
}
}

Jijiji!! solo queria poner el codigo ya corregido!! ya me funciona!! lo hice utilizando if y le agregue 4 secuencias diferentes!! gracias por tu ayuda!!
En línea

>...We ArE a HuMaNs AfTeR aLl...<
h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: Selector de secuencias en Mikro C no cumple al simularlo!!
« Respuesta #9 en: 24 Julio 2009, 21:11 pm »

De nada. Por suerte tu solo puedes solucionar tus problemas  ::)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
GIMP y el selector de color
Diseño Gráfico
Aikanáro Anário 2 2,958 Último mensaje 9 Mayo 2012, 10:35 am
por Saberuneko
Problema con selector de hijos (CSS)
Desarrollo Web
eduardo(...)brutaldeath 5 2,239 Último mensaje 2 Septiembre 2013, 16:13 pm
por Roboto
Selector de opciones (consola)
Programación C/C++
ivancea96 8 3,159 Último mensaje 26 Julio 2014, 00:15 am
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines