Autor Tema: Se puede compartir el portB con dos misiones...?  (Leído 1554 veces)

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

Desconectado halowin

  • PIC16
  • ***
  • Mensajes: 151
Se puede compartir el portB con dos misiones...?
« en: 16 de Septiembre de 2008, 16:31:57 »
Hola a todos.
Quería saber si se puede hacer esto:

Al portB, configurado como entrada, de un 16F84A me va a llegar un byte procedente de un conversor A/D, mi programa lo convertira a BCD separandolo en unidades y decenas y creará un unico byte.
Ahora el programa configura el portB como salida y por las 4 lineas bajas (RB0..RB3) saco los cuatro bit de las unidades y por las 4 lineas altas (RB4..RB7) saco las decenas.

Esto significa que a los pines del portB van a llegar 2 cables: cuando está configurado como entrada atiende al A/D y cuando está como salida saca 4 bits a un SN74LS47 y otros 4 bits a otro SN74LS47 que a su vez muestran 2 digitos (7-segmentos).

¿Se puede hacer esto?

Gracias.

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Se puede compartir el portB con dos misiones...?
« Respuesta #1 en: 16 de Septiembre de 2008, 17:55:00 »
Todo depende de que el conversor ADC se pueda poner an alta impedancia cuando se deshabilita, si esto no es así necesitaras una puertas de bus triestado para separar el ADC de la salida.

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3499
Re: Se puede compartir el portB con dos misiones...?
« Respuesta #2 en: 16 de Septiembre de 2008, 18:42:43 »
Puedes intentar hacerlo con resistencias colocando estas en serie con las líneas del adc, cuando el portb esta como entradas tiene alta impedancia, y leerá los valores correctamente a través de las resistencias, y cuando esté como salidas las resistencias evitaran la lucha de niveles entre portb y adc, esto siempre y cuando el otro dispositivo siempre este como entrada, es decir donde envías los datos del portb sea siempre entradas.
Saludos desde Granada, España.

Desconectado halowin

  • PIC16
  • ***
  • Mensajes: 151
Re: Se puede compartir el portB con dos misiones...?
« Respuesta #3 en: 17 de Septiembre de 2008, 04:00:06 »
OK. 2 cositas al respecto:

1.- ¿ Para ponerlo en alta impedancia bastaría con deshabiltar el A/D con su pata (~CE  Chip-Enable) ?



2.- Le he montado en un protoboard y, si no hay nada mal, me consume 450mA ¿Es normal ? me parece muchisimo.
Los componentes son:

-El PIC 16F84A
-El A/D ADC0804
-El LM35
-2 SN74LS47
-2 Digitos 7-segm.

Alimentado todo a 5V.


Gracias.

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Se puede compartir el portB con dos misiones...?
« Respuesta #4 en: 17 de Septiembre de 2008, 14:59:29 »
Hola halowin, te comento que coloques un 74x273 entre el 74x47 y la salida del pic de esa manera evitaras problemas con el ADC y tendras mas tiempo para trabajar pero por contraparte tendras mayor consumo por estar los displays prendidos todo momento.
saludos
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.