Autor Tema: falla en multiplexado  (Leído 6057 veces)

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

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:falla en multiplexado
« Respuesta #15 en: 28 de Octubre de 2015, 00:21:42 »
Cambia esa linea:

Código: [Seleccionar]
inte_t08_ini
   call dy2_disp_7_seg_01           ;llamada a rutina dy2_disp_7_seg_01

Por esta:

Código: [Seleccionar]
inte_t08_ini
   incf _np_disp_valor,f


O comenta el call, Y probalo. Basicamente lo unico que cambiamos es que ... cuando el apuntador del display sea 0, (es decir no es valido para los valores de 1 a 8 que espera el programa ) incrementamos a 1, y mostramos el primer valor, realizando el cambio con el display apagado.
Antes el apuntador al ser 0, ponia un 0 el display ( por unos muy pocos microsegundos ) luego apagaba y mostraba el primer valor 2 veces.

Una cosa mas, recien acabo de ver el ultimo video, en el primer video el tema era sobre un parpadeo, entonces me centre en ver eso, por eso pense que era eso (igual si cambias la linea que nombre arriba no le va a hacer nada). Pero en el ultimo video que colgaste mencionas que no es un parpadeo sino que se mantienen encendidos los leds Y eso es otro tema el cual el programa parece no tener nada que ver.

Estuve viendo un poco mas, y creo suponer que 1 solo transistor maneja todos los segmentos de un display.
Pense que podria ser el tiempo de propagacion, pero esta en 1us maximo del 4511 y 1us maximo del ULN, siendo que los bits del puerto se cambian y luego va un return (que le toma 2 ciclos , es decir a 4Mhz serian 2us ) y recien se enciende la nueva salida (1us mas aproximadamente), asi que estaria dentro del rango, si usas mas frecuencia tenes que tenerlo en cuenta a eso.

Desconectado cfabsanc

  • PIC10
  • *
  • Mensajes: 22
Re:falla en multiplexado
« Respuesta #16 en: 28 de Octubre de 2015, 07:24:47 »
estimado killerjc muchas gracias por tu ayuda.
modifique la línea de programa como indicaste pero lamentablemente el problema continua te pongo una imagen de la línea como la agregue para que me puedas indicar si es correcta.
con respecto a tu pregunta del transistor te respondo que si efectivamente cada transistor junto con su correspondiente opto manejan el ánodo de todos los segmentos de cada displays.
sigo a la espera de alguna solución pero creo que ya esta descartado el problema por hardware para mi es netamente fallo en el código assembler.

Desconectado cfabsanc

  • PIC10
  • *
  • Mensajes: 22
Re:falla en multiplexado
« Respuesta #17 en: 28 de Octubre de 2015, 07:32:23 »
aca esta la modificación del codigo
« Última modificación: 28 de Octubre de 2015, 07:35:33 por cfabsanc »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:falla en multiplexado
« Respuesta #18 en: 28 de Octubre de 2015, 08:36:35 »
No vi otra cosa en el codigo, esa parte es el unico lugar donde se cambia el valor del puerto sin antes apagar el pin comun al display.
Por lo tanto queda descartado eso.

y solo quedan 2 cosas:
- Tiempo de propagacion del PIC hacia los leds.

- Probar sin el PIC, es decir conectar solo el 4511 con el valor directo y ver si los leds encienden.

Si sigue el problema con hacer lo utimo, es problema de HW
Si no sigue entonces tiene que ser problemas de tiempos en el que el 4511+ULN son lentos.

Desconectado cfabsanc

  • PIC10
  • *
  • Mensajes: 22
Re:falla en multiplexado
« Respuesta #19 en: 29 de Octubre de 2015, 17:04:52 »
ok muchas gracias veo como seguir cuando tenga novedades comento