TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: ingero en 26 de Agosto de 2012, 13:30:40

Título: plano pic 18f2550 y 2 display de 7 segmentos en proteus
Publicado por: ingero en 26 de Agosto de 2012, 13:30:40
Necesito ese diagrama para empezar a trabajar alguien me lo puede facilitar,
necesito manipular 2 displays (7 segmentos) con un pic 18f2550, como hago la conexión
en proteus

de ante mano muchas gracias .
Título: Re: plano pic 18f2550 y 2 display de 7 segmentos en proteus
Publicado por: KALLITOS en 26 de Agosto de 2012, 14:10:01
Necesito ese diagrama para empezar a trabajar alguien me lo puede facilitar,
necesito manipular 2 displays (7 segmentos) con un pic 18f2550, como hago la conexión
en proteus

de ante mano muchas gracias .

Hola, existe un buscador utilizalo y encontraras lo que necesites, sino (que no lo creo) mira por ACA (https://www.google.com.pe/search?q=multiplexar+display+7+segmentos&hl=es&client=firefox-a&hs=uE2&rls=org.mozilla:es-ES:official&prmd=imvnsfd&source=lnms&tbm=isch&sa=X&ei=C1g6UJDXGYbs9ATQ6YDAAg&ved=0CAoQ_AUoAQ&biw=1429&bih=677)

Saludos.
Título: Re: plano pic 18f2550 y 2 display de 7 segmentos en proteus
Publicado por: elchecho en 01 de Marzo de 2015, 17:06:03
Puedes visitar mi pagina, talvez te pueda ser de utilidad la información que publiqué ahí. El manejo de 2 displays debes hacerlo multiplexando. Alli monto un ejemplo simple y simulado en proteus. Tambien tiene el video en youtube explicando el proceso. Varios displays en un PIC (http://controlautomaticoeducacion.com/multiplexaje-de-display/)
Título: Re: plano pic 18f2550 y 2 display de 7 segmentos en proteus
Publicado por: delirio en 22 de Julio de 2015, 00:54:37
Puedes visitar mi pagina, talvez te pueda ser de utilidad la información que publiqué ahí. El manejo de 2 displays debes hacerlo multiplexando. Alli monto un ejemplo simple y simulado en proteus. Tambien tiene el video en youtube explicando el proceso. Varios displays en un PIC (http://controlautomaticoeducacion.com/multiplexaje-de-display/)

Una consulta gente...
si tengo que mostrar el resultado del ADC de 8 bits en 3 displays, por ejemplo el ADC me devuelve DC y yo quiero visualizar un 220 en los tres displays, como debería ser la gestión de la variable promedio en la rutina VOID MOSTRAR () según el ejemplo de elchecho en su pagina?
NOTA: copié su código y agregué la gestión del dígito de las centenas... pero tengo mis dudas de que sea así... la función % (modulo) en ccs no me queda clara... es una and lógica?
Gracias de antemano!

Código: [Seleccionar]
VOID MOSTRAR() //Rutina mostrar
{
   INT UNI, DEC, CEN;   //Declarar las variables UNI, DEC y CEN
                        //como un entero, es decir de 8bits 
   CEN=promedio/100;
   DEC=promedio/10;
   UNI=promedio%10;
   PORTB=(DISPLAY[UNI]);   //Muestra lo que hay en unidades
                           //en el display
   BIT_SET (TUNI);         //Enciende el display de unidades
   DELAY_MS(1);            //Retardo de 1 milisegundos
   BIT_CLEAR(TUNI);        //Apaga el display de unidades
   PORTB=(DISPLAY[DEC]);   //Muestra lo que hay en unidades
                           //en el display
   BIT_SET (TDEC);         //Enciende el display de decenas
   DELAY_MS(1);            //Retardo de 1 milisegundos
   BIT_CLEAR(TDEC);        //Apaga el display de decenas
   
   BIT_SET (TCEN);         //Enciende el display de centenas
   DELAY_MS(1);            //Retardo de 1 milisegundos
   BIT_CLEAR(TCEN);        //Apaga el display de centenas
   
}
Título: Re: plano pic 18f2550 y 2 display de 7 segmentos en proteus
Publicado por: KILLERJC en 22 de Julio de 2015, 03:21:24
Citar
NOTA: copié su código y agregué la gestión del dígito de las centenas... pero tengo mis dudas de que sea así... la función % (modulo) en ccs no me queda clara... es una and lógica?

La funcion % modulo es de C, es el resto de la division

Ejemplo

int8 a,b;          // enteros 8 bits
a = 43 / 10;    // en "a" se va a guardar 4, por que es un entero
b = 43 % 10;  // en "b" se va a guardar 3. Que es el resto, de la division


O para que tengas otro ejemplo

a = 43/10;
b = 43 - a*10;  // Equivalente a hacer 43 % 10
Título: Re: plano pic 18f2550 y 2 display de 7 segmentos en proteus
Publicado por: delirio en 22 de Julio de 2015, 10:00:23
Gracias KILLER,
entonces, si promedio vale 0xDC (d220) y quisiera tener
CEN = 2
DEC = 2
UNI = 0

entiendo entonces debería hacer así mi código?

CEN = promedio / 100;
promedio % = 100;
DEC = promedio / 10;
UNI = promedio % 10;

Hace poco estoy empezando en este mundo del C, me está costando un poco debo admitirlo... :?
y para colmo las matemáticas no son lo mio..  :(
Muchas gracias!
Título: Re: plano pic 18f2550 y 2 display de 7 segmentos en proteus
Publicado por: KILLERJC en 22 de Julio de 2015, 12:12:27
No se cual sera la mejor manera de pasarlo por que eso depende del codigo generado en ASM. Tu codigo deberia hacerlo bien. Solo tenes que recordar que estas "destruyendo" el contenido de la variable promedio, si es que la usas en otro lado. sino tendrias que hacer algo que no requiere que modifiques promedio como

DEC = (promedio/10) - (CEN*10);

Que viene de :

(promedio - (CEN*100)) / 10

O para que se entienda, a promedio le resto las centenas, si es 234 le resto 200 quedando 34 y luego divido por 10, quedando 3.4 pero solo se guarda el entero asi que queda 3 nomas.
Título: Re: plano pic 18f2550 y 2 display de 7 segmentos en proteus
Publicado por: delirio en 22 de Julio de 2015, 12:59:51
Gracias KILLER, nop, promedio solo la genero para después calcular esto, de todos modos, tienes razón, la estoy "destruyendo"...
Lo correcto seria hacerlo como sugieres...
Quedaría así verdad?

CEN = promedio / 100;
DEC = ( promedio - (CEN*100)) / 10;
UNI = ( promedio - (CEN*100)) % 10;
Título: Re: plano pic 18f2550 y 2 display de 7 segmentos en proteus
Publicado por: KILLERJC en 22 de Julio de 2015, 20:22:42
La unidad solo

UNI = promedio % 10;

Ya que si dividis por 10 y miras el resto lo unico que te quedan son las unidades.
Si realmente no vas a utilizar mas la variable promedio, no importa si le haces cambios. Yo lo dije por si lo necesitabas en otro parte del codigo ademas de esa. Si la usas en esa modificala todo lo que quieras.
Título: Re: plano pic 18f2550 y 2 display de 7 segmentos en proteus
Publicado por: delirio en 22 de Julio de 2015, 22:03:38
Gracias KILLERJC, ya está funcionando... Grossso   :-/