hola necesito ayuda para mejorar el codigo no muestra bien en pantalla tiene un parpadeo y las muestras son muy lentas, como se puede mejorar para que sea mas estable


DEFINE LCD_DREG PORTC
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTC
DEFINE LCD_RSBIT 1
DEFINE LCD_EREG PORTC
DEFINE LCD_EBIT 0


define lcd_lines 2
define intosc 4
low portc.2
DEFINE ADC_BITS 8
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 50


ANSEL = %11111111
ANSELH = %00000000
lectura var word
lectura2 var word
resultado VAR word
resultado2 var word
f var word
bajo VAR WORD
alto VAR WORD
total VAR WORD
duty VAR WORD





lcdout $fe,1," iniciando "
PAUSE 500
LCDOUT $FE, 1



inicio:


ADCIN 1, LECTURA
RESULTADO = (LECTURA */ 500)


adcin 3,lectura2
resultado2 = (lectura2 */500)


PULSIN PORTB.0 , 0 , bajo
PULSIN PORTB.0 , 1 , alto
total=bajo + alto
duty = ( bajo * 100 ) / total
if duty < 5 then duty = 0
if duty > 90 then duty = 100


count portB.0,200,f
f=f *5



paUSE 100
LCDOut $fe , 1
lcdout $fe ,$80 ,"DUTY:" , DEC2 duty ,"%"
LCDOUT $fe , $C0 ,"CPS:" , DEC3 f ,"hz"
LCDOUT $fe, $8a, "V=", DEC (RESULTADO/10),".",dec1 resultado
lcdout $fe,$c9, " A=", dec (resultado2/100),".",dec1 resultado2



GOTO inicio
end