Buenas, estoy utilizando un pic como "convertidor de serie a 7 segmentos" en principio funciona bien pero cuando aumento la velocidad para el multiplexado comienza a fallar, hasta 50 ms entre cada cambio de dígito se aprecia bien pero cuando bajo a 5 ms no se distinguen los números, alguno tiene idea de porque puede ser? dejo el código acá abajo, gracias desde ya.
@ device PIC16F628A, INTRC_OSC_NOCLKOUT
@ device PIC16F628A, WDT_OFF
@ device PIC16F628A, MCLR_OFF
@ device PIC16F628A, LVP_OFF
include "modedefs.bas"
TRISB.0=0
TRISB.1=0
TRISB.2=0
TRISB.3=0
TRISB.4=0
TRISB.5=0
TRISB.6=0
TRISB.7=1
led var Portb.1
SYMBOL RX = PORTB.7 ; PIN de entrada serial USART
portb=64
DATOS VAR BYTE ; Variable para almacenar los datos recibidos
'*******************************************************************************
Main:
SERIN RX,T9600,["X"],DATOS ; Se espera hasta recibir el código ascii X
; Los siguientes datos se almacenan en la variable DATOS
if datos="0" then portb=64
if datos="1" then portb=121
if datos="2" then portb=36
if datos="3" then portb=48
if datos="4" then portb=25
if datos="5" then portb=18
if datos="6" then portb=2
if datos="7" then portb=120
if datos="8" then portb=0
if datos="9" then portb=16
if datos="A" then portb=255
GOTO Main
END