Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

23/09/2006 #1


Multiplexacion Pic16F84a displays
Necesito ordenar tres datos ascendentemente utilizando un pic16f84a y luego mostralos en los displays en un módulo y para eso necesito multiplexacion, si alguien pudiese ayudarme le agradeceria muchisimo
25/09/2006 #2


Re: Multiplexacion Pic16F84a displays
Vitor dijo:
Porfavor necesito una ayudita, necesito ordenar tres datos ascendentemente utilizando un
pic16f84a y luego mostralos en los displays en un módulo y para eso necesito multiplexacion, si alguien pudiese ayudarme le agradeceria muchisimo
¿De qué tipo de displays estamos hablando? LCD? 7 segmentos? otro?

¿Qué conocimiento tienes de los PICs?

¿En qué lenguaje programas?
25/09/2006 #3


Necesito programarlo en MPLAB a un display de 7 segmentos, la verdad tengo la base de como programar el dispositivo pero me da duro el tema de la multiplexacion para mostrarlo,
6. TENIENDO DATO1, DATO2 Y DATO 3. (EN REGISTROS) ORDENARLOS DE FORMA ASCENDENTE .
A) MOSTRARLOS POR PUERTO B EN 3 DISPLAYS DE 7 SEGMENTOS.
B) MOSTRAR POR PUERTO B CON RETARDOS

son 6 puntos de mostrar, por displays, por leds y demás, pero no fui capaz con el tema de multiplexación y he buscado acerca del tema pero no he podido despegar,

si me podes ayudar Gracias
25/09/2006 #4


Vitor dijo:
Necesito programarlo en MPLAB a un display de 7 segmentos, la verdad tengo la base de como programar el dispositivo pero me da duro el tema de la multiplexacion para mostrarlo,
6. TENIENDO DATO1, DATO2 Y DATO 3. (EN REGISTROS) ORDENARLOS DE FORMA ASCENDENTE .
A) MOSTRARLOS POR PUERTO B EN 3 DISPLAYS DE 7 SEGMENTOS.
B) MOSTRAR POR PUERTO B CON RETARDOS

son 6 puntos de mostrar, por displays, por leds y demás, pero no fui capaz con el tema de multiplexación y he buscado acerca del tema pero no he podido despegar,

si me podes ayudar Gracias
Vitor, yo te puedo 'guiar' pero no te haré la tarea.

Si quieres aprender estoy dispuesto a indicarte el camino que a mí me parece de acuerdo a mis años de experiencia, pero no estoy de acuerdo en resolver tareas.

Intenta leer algo del datasheet, algo del assembler, haz algún bosquejo de código y tendrás mi ayuda para mostrarte alguna opción de resolución de tu problema.

El camino para aprender es hacer las cosas tu mismo y si te guía alguien que sabe 'antes' que tu mejor! pero el esfuerzo lo tienes que poner tu.

Saludos
25/09/2006 #5


caballero como dice maunix aqui te doy algo para que estudies.
anodo comun display





visu movf unidades,w
call display
movwf portb
bcf porta,0 ; encendemos display unidades
bsf porta,1
bsf porta,2 ; apagamos display decenas,centenas
call retardo

movf decenas,w
call display
movwf portb
bcf porta,1
bsf porta,0
bsf porta,2
call retardo

movf centenas,w
call display
movwf portb

bcf porta,2
bsf porta,0
bsf porta,1
call retardo

clrf portb
bsf porta,2
bsf porta,0
bsf porta,1
return
25/09/2006 #6


Aqui un esquematico que te puede servir... en PB1, PB2 y PB3 tienes bits de control con lo cual con un '1' activas el display... ya que tienes el display activado le mandes el dato, esperas un pequeno tiempo, activas otro display y le mandas dato, activas el siguiente, y comienzas nuevamente...

P.D. Se me olvidaron las resistencias de los segmentos... (330, 470 Ohms, entre la salida del 74LS48 y el Display de 7 Segmentos, una resistencia por segmento no lo olvides)
Imágenes Adjuntas
Tipo de Archivo: gif muxcs3_179.gif (20,7 KB (Kilobytes), 871 visitas)
25/09/2006 #7


bueno esos bits los puedes mesclar con la secuencia que hay arriba en el antepenultimo mensaje.

que mas con ese plano.

saludos
04/10/2006 #8


Gracias a todos por la ayuda, ya lo resolvi de la siguiente manera, como en el display solo necesito ABCD entonces utilizo los ultimos 4 bits del puerto para enviar el dato, y con los primeros cuatro acciono los displays que quiero con un 1 como lo mencionaron. Asi muestra los 3 datos al tiempo en forma ascendente, claro despues de haberlos ordenado.


MOSTRAR
MOVF D1,W
XORLW B'0001 0000'
MOVWF PORTB

MOVF D2,W
XORLW B'0010 0000'
MOVWF PORTB

MOVF D3,W
XORLW B'0100 0000'
MOVWF PORTB
CALL MOSTRAR

GRACIAS
13/05/2010 #9


Respuesta: Multiplexacion Pic16F84a displays
hola que tal yo tambien necesito ayuda me pidieron hacer uno que cuente hasta el 0-9999
pero como seria el programa si lo tiene me lo podrian pasar porfavor gracias
13/05/2010 #10


Respuesta: Multiplexacion Pic16F84a displays
jajaja trata de exponer tu idea y te ayudamos, hacerte el trabajo no es el objetivo de este foro.
13/05/2010 #11


Respuesta: Multiplexacion Pic16F84a displays
#use delay (clock=4000000)
#byte porta=0x05
#byte portb=0x06
#bit ra0=0x05.0
#bit ra1=0x05.1
#bit ra2=0x05.2
#bit ra3=0x05.3

void main()
{
int i=0,j=0,m=0,k=0;
set_tris_a(0);
set_tris_b(0);
portb=0;
while(1)
{
porta=0;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
for(k=0;k<10;k++)
{
for(m=0;m<10;m++)
{
ra0=1;
portb=i;
delay_ms(50);
ra0=0;
ra1=1;
portb=j;
delay_ms(50);
ra1=0;
ra2=1;
portb=k;
delay_ms(50);
ra2=0;
ra3=1;
portb=m;
delay_ms(50);
ra3=0;
}
}
}
}
portb=0;
porta=255;
delay_ms(1000);
}
}

lo que pienso es conectar el pic 16f84 a un 7447 de la salida del pic supongo que tiene que estar codificado para que lo decodifique el 7447 y lo represente en los 7 segmentos que le faltaria al programa
17/04/2012 #12


hola gente del foro... he tenido unos problemas con este tema de multiplexacion de display con pic...entiendo todo sobre esto, programacion de pics y eso , asi que deberia ser sencillo para mi , pero nose q pasa...estoy realizando un contador de 0 - 999 y los muestro en display usando multiplexacion el detalle es que cundo uso un tiempo mayor (100 ms o mas) los numeros salen en su orden normal pero obviamente se nota el papadeo, si le disminuyo el tiempo me sale el problema que ya los numeros se desfasan y no visualizo lo que quiero... nose si es cuestion del proteus que no simula bien o esq usando display individuales no se visualiza biien por que cuando uso el modulo de display juentos si se visualiza bien.. el detalle esuq necesito visualizarlo en display indiiduales porque la idea es hacer esto pero con display de leds mas grandes... como un panel de leds...gracias por su ayuda a ver si alguien me corrige si estoy equivocado en algo...adjunto la simulacion y el codigo en pbp.
Archivos Adjuntos
Tipo de Archivo: rar adjunto.rar (64,5 KB (Kilobytes), 224 visitas)
17/04/2012 #13


Hola juanchi23

El problema es del ISIS de Proteus.
Cuando utilizas Display’s individuales más los transistores más las resistencias de Base le toma más tiempo “atender“ cada dispositivo.
En cambio cuando utilizas un módulo con Display’s de 7 segmentos éste lo toma menos tiempo el “atenderlo”.

Ármalo en la realidad con Display’s individuales y verás que funciona como lo esperas.

saludos
a sus ordenes
18/04/2012 #14


Gracias MrCarlo... precisamente en eso estoy armando todo en un protoboard para sacarme la duda... sospecho que puede ser la simulacion en proteus... lo pruebo y les aviso q tal va
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.