TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: cdlopez en 06 de Septiembre de 2006, 21:07:19
-
Hola a todos:
Estoy probando un programa en pic basic pro para encender y apagar un led conectado a un 16F873 en el puerto RC0 cuando el led esta encendido con la tecla 1 en el lcd me debe mostrar "led rojo on" y si no apagado "led rojo off"
si bien me compila sin errores no logro que me muestre tal mensaje.
aqui va el codigo:
REPETIR:
SELECT CASE DATO
CASE "0"
GOSUB Menu
CASE "1"
TOGGLE LED1
LCDOUT $FE,1
Lcdout "LED ROJO"
IF PORTC.0 = 1 THEN LCDOUT " ON"
LCDOUT " OFF"
CASE "2"
TOGGLE LED2
CASE "3"
TOGGLE K1
CASE "4"
dato = SW1 + $30
SEROUT2 PORTB.2,84,[13,"El Sensor 1 Vale: ",dato,13]
CASE "5"
dato = SW2 + $30
SEROUT2 PORTB.2,84,[13,"El Sensor 2 Vale: ",dato,13]
CASE "6"
GOSUB ANALOGICA
END SELECT
GOTO REPETIR
Desde ya muchas gracias
Saludos
-
eso de las comillas en el case no es necesario (hasta donde yo se) cuando esta en case 0 manda a una label Menu que no veo.
Me imagino que hay mas codigo porque DATO que es la variable que evaluas no se como se llene con esos valores, ya que va de 0 a 6.
haber aqui rapidamente un ejemplo: un boton en portb.0 y el led en portb.1, el led se activa cuando pulsas el boton y este manda un 0 o va a tierra y se desactiva cuando esta en alto o 5V lo acabo de hacer eh.
ini:
If portb.0 = 0 then
high portb.1
lcdout $fe,1, "encendido"
Else
low portb.1
lcdout $fe,1, "apagado"
endif
goto ini
-
Hola:
Lo de las comillas hace referencia a strings, no se que valores tendra DATO o de donde provienen, eso seria valido por ejejmplo si estas recibiendolo por serie, si son datos enteros quetale las comillas. Segun veo ese valor debe ser proveniente del ADC, ya que veo que luego envias a una etiqueta ANALOGICA, si son enteros solo debes quitar las comillas.