Autor Tema: Libreria para CCS de DISPLAY 7 segmentos con CD4511  (Leído 7054 veces)

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

Desconectado CONFORMOTICA

  • PIC10
  • *
  • Mensajes: 16
Libreria para CCS de DISPLAY 7 segmentos con CD4511
« en: 19 de Mayo de 2009, 11:22:47 »
Hola gente del foro!

Basicamente, queria saber si alguien hizo o conoce de alguna libreria para CCS que me permita controlar 2 display catodo comun multiplexados entre si con un CD4511 de por medio.

Lo que necesito es poder enviar el registro que quiero mostrar en un display, y el registro que quiero mostrar en el otro display, y que la libreria me permita elegir los pines del PIC que van conectados a las entradas (A,B,C,D) del display y las salidas para activar/desactivar los displays

Espero su pronta respuesta.. porque estoy atascado en un proyecto..

Gracias


Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Libreria para CCS de DISPLAY 7 segmentos con CD4511
« Respuesta #1 en: 19 de Mayo de 2009, 11:34:49 »
Me parece que hacer una librería no es lo conveniente. Porque al usar multiplexión, hay que hacer el refresco cada ciertos ms y esto depende mucho de como sea el resto del programa, ósea hay que hacerlo como mas a uno le convenga.
No contesto mensajes privados, las consultas en el foro

Desconectado CONFORMOTICA

  • PIC10
  • *
  • Mensajes: 16
Re: Libreria para CCS de DISPLAY 7 segmentos con CD4511
« Respuesta #2 en: 19 de Mayo de 2009, 11:42:18 »
Gracias por responder...
Claro.. pero yo decia si alguien tenía alguna rutina parametreable, para tener una libreria estandarizada para poder usar, incluso, en cualquier otro programa.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Libreria para CCS de DISPLAY 7 segmentos con CD4511
« Respuesta #3 en: 19 de Mayo de 2009, 12:47:31 »
Aquí un ejemplo de como puedes controlar 2 display. En este ejemplo al llamar a la función Display_Visualizacion se muestra el numero en el display durante 300ms.

Código: C
  1. #define Display_BCD_A PIN_A0
  2. #define Display_BCD_B PIN_A1
  3. #define Display_BCD_C PIN_A2
  4. #define Display_BCD_D PIN_A3
  5.  
  6. #define Display_Unidad PIN_B0
  7. #define Display_Decena PIN_B1
  8.  
  9. void Display_nibble(int n)
  10. {
  11.   output_bit(Display_BCD_A, !!(n & 1));
  12.   output_bit(Display_BCD_B, !!(n & 2));
  13.   output_bit(Display_BCD_C, !!(n & 4));
  14.   output_bit(Display_BCD_D, !!(n & 8));
  15. }
  16.  
  17. void Display_Visualizacion(int n)
  18. {
  19.   int i;
  20.   for(i=1;i<=30;++i){ // Durante 30 ms.
  21.      Display_nibble(n >> 4);
  22.      output_high(Display_Decena);
  23.      delay_ms(5);
  24.      output_low(Display_Decena);
  25.      
  26.      Display_nibble(n & 0xf);
  27.      output_high(Display_Unidad);
  28.      delay_ms(5);
  29.      output_low(Display_Unidad);
  30.   }
  31. }
  32.  
  33. void main()
  34. {
  35.  
  36.    Display_Visualizacion(0x27);
  37.    
  38. }

No contesto mensajes privados, las consultas en el foro

Desconectado CONFORMOTICA

  • PIC10
  • *
  • Mensajes: 16
Re: Libreria para CCS de DISPLAY 7 segmentos con CD4511
« Respuesta #4 en: 19 de Mayo de 2009, 16:24:44 »
OK. Pero segun este codigo, si yo escribo como parametro de la funcion visualizacion 0X27 me muestra un 2 en la decena y un 7 en la unidad, cierto?

Este ejemplo igual me sirve de guia para poder hacer el mio.. pero hay una parte del codigo que no comprendo:



Código: C
  1. #define Display_BCD_A PIN_A0
  2.  
  3. void Display_nibble(int n)
  4. {
  5.   output_bit(Display_BCD_A, !!(n & 1));
  6.   output_bit(Display_BCD_B, !!(n & 2));
  7.   output_bit(Display_BCD_C, !!(n & 4));
  8.   output_bit(Display_BCD_D, !!(n & 8));
  9. }


Podrias esplicarme que es el !!(n & 1)

Segun tengo entendido el operador !<expr> niega <expr>. O sea estarias negando 2 veces (n & 1)?? Por que razon?


 

anything