Autor Tema: RS232 visualizacion en 3 displays de 7 segmentos  (Leído 12733 veces)

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

Desconectado jmosorio

  • PIC10
  • *
  • Mensajes: 15
Re: RS232 visualizacion en 3 displays de 7 segmentos
« Respuesta #15 en: 07 de Abril de 2008, 11:21:27 »
para habilitar el display 3 mando un 4, para habilitar el 4 pongo un 8....es poner un 1 en el bit donde quiero encender el display.
el delay...(50) es
50*(1/4000000)*10000 = 0.125s

Desconectado Rulo

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 168
Re: RS232 visualizacion en 3 displays de 7 segmentos
« Respuesta #16 en: 07 de Abril de 2008, 16:15:16 »

   
Citar
para habilitar el display 3 mando un 4, para habilitar el 4 pongo un 8....es poner un 1 en el bit donde quiero encender el display.

  Mmmm eso esta bien entonces

Citar
50*(1/4000000)*10000 = 0.125s

   No sera mas bien 50*(4/4000000)*10000 ?''' bueno no se

     Deberia funcionar, puedes probar con un tiempo mas largo, de manera que alcances a ver como se activa display por display, a ver que ves. si puedes poner algun esquema de tu circuito y/o el programa completo podria ayudar.

     Saludos.

Desconectado jmosorio

  • PIC10
  • *
  • Mensajes: 15
Re: RS232 visualizacion en 3 displays de 7 segmentos
« Respuesta #17 en: 08 de Abril de 2008, 12:11:49 »
Pues el codigo con el que estoy probando es el siguiente, para visualizar lo que tengo en cada variable en cada uno de los 4 displays. la verdad no se como "jugar" con los delays de manera que pueda ver los datos en los 4 juegos al tiempo. el puerto B esta con 4 bits a un decod de 7 segmentos, y los 4 restantes a otro decodificador igual. logro ver los datos si muevo los delays, pero lo que logro es que aparezcan todos en todos, apagandose secuencialmente uno. gracias por la excelente ayuda que he recibido en este foro, aun siendo un principiante :)
# include <p18f452.h>
# include <delays.h>
void main (void)
{
int numero1,numero2,numero3,numero4;
TRISB=0; //puerto de salida
TRISD=0;
numero1=39;
numero2=1;
numero3=22;
numero4=0;
//visualizacion dinamica
PORTD=0;//APAGO DISPLAYS
Delay100TCYx(100);
PORTB=numero1; //MANDO DATO
Delay100TCYx(1);//DELAY
PORTD=1; //HABILITO DISPLAY1
Delay100TCYx(10);//DELAY PARA QUE SE VE

PORTD=0;//APAGO DISPLAYS
Delay100TCYx(100);//DELAY
PORTB=numero2;//PONGO NUMERO 2
Delay100TCYx(1);//DELAY
PORTD=2; //HABILITO DISPLAY 2
Delay100TCYx(10);//DELAY PARA QUE SE VEA

PORTD=0;//APAGO DISPLAYS
Delay100TCYx(100);//DELAY
PORTB=numero3; //PONGO NUMERO 3
Delay100TCYx(1);//DELAY
PORTD=4; //HABILITO DISPLAY3
Delay100TCYx(10);//DELAY PARA QUE SE VEA

PORTD=0;//APAGO DISPLAYS
Delay100TCYx(100);//DELAY
PORTB=numero4;//PONGO NUMERO 4
Delay100TCYx(1);//DELAY
PORTD=8; //HABILITO DISPLAY 4
Delay100TCYx(10);//DELAY PARA QUE SE VEA
}

Desconectado Rulo

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 168
Re: RS232 visualizacion en 3 displays de 7 segmentos
« Respuesta #18 en: 08 de Abril de 2008, 13:04:00 »
   Mmmm, Creo que ya me perdi mas, aclarame

    logras ver los 4 datos en todos los 4 pares de displays? o como   :?

    Que tipo de displays tienes?' Anodo comun o Catodo comun?

          Podras probar con este codigo a ver que tal va?  seria para displays anodo comun, ya que activas los displays con un 1 que sale del port d.

 por lo que si numero1=39=0010 0111  mostrarias en un display un 2 y en el otro un 7

# include <p18f452.h>
# include <delays.h>
void main (void)
{
int numero1,numero2,numero3,numero4;
TRISB=0; //puerto de salida
TRISD=0;
numero1=39;
numero2=1;
numero3=22;
numero4=0;
//visualizacion dinamica
while(1)
   {
   PORTD=1;
   PORTB=numero1;
   Delay100TCYx(50);
   PORTD=2;
   PORTB=numero2;
   Delay100TCYx(50);
   PORTD=4;
   PORTB=numero3;
   Delay100TCYx(50);
   PORTD=8;
   PORTB=numero4;
   Delay100TCYx(50);
   }
}

    si no me equivoco Delay100TCYx(50); = 50*(4/4000000)*100?''  = 5ms

   Saludos
« Última modificación: 08 de Abril de 2008, 13:06:45 por Rulo »

Desconectado jmosorio

  • PIC10
  • *
  • Mensajes: 15
Re: RS232 visualizacion en 3 displays de 7 segmentos
« Respuesta #19 en: 08 de Abril de 2008, 17:11:01 »
hola  :)
si, logro ver que el display 1 prende con el primer numero, apaga segundo numero, apaga, tercer numero, apaga...y esto se hace secuencial. los displays son de anodo, voy a probar con el codigo que me recomiendas, te estaré contando como me va, nuevamente gracias por tu colaboracion, vamos a ver si lo logro

Desconectado Rulo

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 168
Re: RS232 visualizacion en 3 displays de 7 segmentos
« Respuesta #20 en: 08 de Abril de 2008, 17:34:02 »

   Mmm, pues va a ser lo mismo, si ves los 4 numeros en todos los display debe haber algun error en tu diagrama o en tus conexiones.


           :?

Desconectado jmosorio

  • PIC10
  • *
  • Mensajes: 15
Re: RS232 visualizacion en 3 displays de 7 segmentos
« Respuesta #21 en: 18 de Abril de 2008, 02:13:55 »
tengo otro problema. tengo que leer un dato del puerto serial, tengo la siguiente rutina, si alguien me puede decir si esta bien seria de gran ayuda, o corregirme para ver que error tiene. el dato "y" de que tipo deberia ser, y el dato "x" para que podamos leer el dato. si quisiera mostrarlo en el puerto B como deberia hacer?
gracias por la ayuda que me puedan prestar.

#include<p18f452.h>
#include <delays.h>
#include <usart.h>
#include <timers.h>

void lectura(void);
void serial(void);
unsigned int result=0;
unsigned int result1=0;
void main(void)
{
OpenUSART( USART_TX_INT_OFF  &
         USART_RX_INT_OFF  &
         USART_ASYNCH_MODE &
         USART_EIGHT_BIT   &
         USART_CONT_RX     &
         USART_BRGH_HIGH, 25 );

while(1)
{
   lectura();
   }
}

void lectura (void)
{
   result1= ReadUSART();
 x=0x01;
y=x&&result1;
}

Desconectado jmosorio

  • PIC10
  • *
  • Mensajes: 15
Re: RS232 visualizacion en 3 displays de 7 segmentos
« Respuesta #22 en: 20 de Abril de 2008, 03:37:55 »
saludos
ya solucione el problema de la visualizacion. el problema estaba en mi montaje, ya puedo visualizar correctamente todo, y la parte de los delays estaba funcionando mal precisamente por el montaje, proximamente adicionare el codigo.
ahora el problema que tengo es como recibir un dato del puerto serial. el codigo que estoy usando es como esta en el post inmediatamente anterior. quisiera saber como puedo hacer para visualizar el dato que digito en el teclado, por el puerto B. la idea es que por alli voy a recibir numeros entre 0 y 99, para visualizarlos en los displays, como puedo pasar el dato ASCII que recibo para visualizarlo en el puerto?? como siempre gracias por la gran ayuda que he recibido en este foro.

Desconectado jmosorio

  • PIC10
  • *
  • Mensajes: 15
Re: RS232 visualizacion en 3 displays de 7 segmentos
« Respuesta #23 en: 24 de Abril de 2008, 16:00:57 »
Hola.
logre tambien solucionar el problema, ya estoy recibiendo el dato del pc, y logro trabajar con el. muchas gracias, voy a ver como logro poner los codigos en caso de ser utiles para alguien. nuevamente muchas gracias por todo.


 

anything