controlando backlight con 2 pulsdores y PWM.
alguien podria revisar mi codigo por favor el problema esta en que grabo un valor en eeprom interna, y despues quiero usar ese valor como index de Branchl y eso no funciona, no se como convertir el valor de la eeprom en una variable decimal.quisiera subir el DNS pero no se como.
Device 16F877
XTAL 4
' Text LCD pin Assignments
LCD_TYPE = 0
Declare LCD_DTPIN PORTD.4
Declare LCD_RSPIN PORTC.4
Declare LCD_ENPIN PORTC.5
Declare LCD_LINES 4
Declare LCD_INTERFACE 4
ALL_DIGITAL = TRUE
trisD = 1
portD = 0
Symbol Pulso = portb.4
symbol Subir = portD.0
symbol Bajar = portD.1
EWRITE 10, [2] 'grabo en la posicion 10 el valor 2
Inicio:
DIM Valor as Byte
Valor = EREAD 10
Delayms 500
cls
print at 1,2, "Backlight (0-3)", @valor
goto Cambio
'se va
Loop:
' Si pulsa Boton Subir
if Subir = 1 then
if Valor < 3 then 'si es menor de 3 suma 1
inc Valor
EWRITE 10, [Valor]
goto Cambio
end if
end if
' Si pulsa Boton Bajar
if Bajar = 1 then
if Valor > 0 then ' si es mayor a 0 resta 1
dec Valor
EWRITE 10, [Valor]
goto Cambio
end if
end if
goto Loop
Cambio: Valor = EREAD 10
BRANCHl Valor,[v_0, v_1, v_2, v_3] 'aqui esta el problema
'goto loop
v_0: PWM Pulso,0,70 'Valor 0
Delayms 500
print at 2,2, "Valor Luz:", @Valor
Delayms 500
goto Loop
v_1: PWM Pulso,64,70 'valor 1
Delayms 500
print at 2,2, "Valor Luz:", @Valor
Delayms 500
goto Loop
v_2: PWM Pulso,128,70 'valor 2
Delayms 500
print at 2,2, "Valor Luz:", @Valor
Delayms 500
goto Loop
v_3: PWM Pulso,255,70 'valor 3
Delayms 500
print at 2,2, "Valor Luz:", @Valor
Delayms 500
goto Loop
end