Autor Tema: Controlar display de 4 caracteres  (Leído 2228 veces)

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

Desconectado JoseLuis2801

  • PIC16
  • ***
  • Mensajes: 168
Controlar display de 4 caracteres
« en: 05 de Agosto de 2013, 14:10:37 »
Hola a todos, tengo un display de 4 caracteres, y pretendo aprender a generar caracteres (numeros en concreto) de hasta 4 digitos.

Ademas, para ello dispongo del 16F88, y el controlador de display MIC 5451.

No tengo ni idea, pero para empezar, supongo que como el 5451 solo dispone de dos entradas, una de reloj y otra de datos, tendré que utiizar el modulo SSP SPI/ I2C del 16F88 verdad ?

Cual el SPI o el I2C ?   Yo creo que el SPI.

O tengo que generar esas señales tanto  de data como  de reloj pr software a traves de 2 pines de un puerto cualesquiera ?

Gracias de antemano
Un saludo
« Última modificación: 05 de Agosto de 2013, 14:38:52 por JoseLuis2801 »

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: Controlar display de 4 caracteres
« Respuesta #1 en: 06 de Agosto de 2013, 13:57:57 »
Yo para transmitir esto lo haria asi:



EnviaDato
                       movlw   d'8'                    ; Número de bits a transmitir.
                  movwf   ContBits
EnviaBit                                                        ; Comienza a enviar datos.
                      btfss   DataEnviar,0    ; ¿Es un "1" el bit a transmitir?
                       bcf             PORTB,BData             ; No, pues envía un "0".
                        btfsc   DataEnviar,0    ; ¿Es un "1" el bit a transmitir?
                       bsf             PORTB,BData             ; Si, Transmite un "1".
                 bcf             PORTB,BClock    ; Clock=0.-
                     nop
                     bsf             PORTB,BClock    ; Clock=1.-
                     rrf             DataEnviar,1    ; Rota para envia siguiente bit.-
                       decfsz  ContBits,1              ; Comprueba si es el último bit.
                        goto    EnviaBit                ; No es el último bit repite la operación.
                      return                                  ; Retornamos.-
;.................................................................................
                        end

Solo tienes que cargar el Byte a transmitir en "DataEnviar" llamas a esa subrutina "call    EnviaDato" y listo.

Sacado, como no, de este tutorial de Suki:

http://www.todopic.com.ar/foros/index.php?topic=24720.msg213264#msg213264

Desconectado JoseLuis2801

  • PIC16
  • ***
  • Mensajes: 168
Re: Controlar display de 4 caracteres
« Respuesta #2 en: 06 de Agosto de 2013, 19:45:26 »
Gracas tapi8, lo veo, lo único que aparte hay que generar un bit de cierta duración minima a 1 de start y otro de parada , que son los que reconoce el controlador 5451.

Y por supuesto, adecuar la frecuencia max. de reloj de la rutina a la max. soportada por el 5451 que son 500Khz.

Un saludo

Desconectado JoseLuis2801

  • PIC16
  • ***
  • Mensajes: 168
Re: Controlar display de 4 caracteres
« Respuesta #3 en: 07 de Agosto de 2013, 08:25:05 »
De todas formas, ya que lo tengo, voy a currarme el módulo SSP en el modo SPI.Ya contaré..........

Una cosilla, estaba yo empanao con que esto iba muy lento, y es que tenia el PIC para una vel de 31 Khz, y ahora ya me lo he configurado para 4Mhz  traves del registro OSCCON, todo bien.

Lo que no entiendo, una opción de un bit de ese registro que es un 1 si la frecuencia es estable y un 0 si no lo es, digo yo que al utilizar el oscilador interno sera siempre estable no ?

Gracias

un saludo

Desconectado fuente

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 571
Re: Controlar display de 4 caracteres
« Respuesta #4 en: 07 de Agosto de 2013, 09:11:23 »
No estoy muy seguro y no tengo los datasheet a mano, pero creo que desde que el oscilador interno o externo empieza a oscilar hasta que esta oscilación es estable pasa algún tiempo (muy pequeño, pero algún tiempo) en el cual no se debe confiar en ninguno de los periféricos que dependan de la frecuencia de oscilación (TIMERs, por ejemplo)
Cuando esta oscilación es estable, se pone este bit a 1.

Desconectado JoseLuis2801

  • PIC16
  • ***
  • Mensajes: 168
Re: Controlar display de 4 caracteres
« Respuesta #5 en: 08 de Agosto de 2013, 10:14:13 »
OK, pero no solo es de lectura sino de escritura tb.

Bueno da igual,  ese tiempezillo de inicio no importa para mi aplicacón (un tacómetro). 

Un saludo

Desconectado JoseLuis2801

  • PIC16
  • ***
  • Mensajes: 168
Re: Controlar display de 4 caracteres
« Respuesta #6 en: 09 de Agosto de 2013, 10:28:26 »
Solo puedo transmitir de una vez 8 bits con el modulo SPI, y como poco necesito 24 bits, sino 32.

Así que utilizare una rutina.

un saludo


 

anything