En este ejemplo usamos el pic16f628a por ser el mas economico y ademas nos ahorramos el uso de un cristal de 4 mhz, por que usamos el cristal interno del mismo pic. Encenderemos un led en el puerto B del pic16f628, el lector tiene que alimentar con 5 Voltios (pin14) y GND (pin5) del pic ademas MCLR con 5 voltios.
;PROGRAMA PARA LED PARPADEANTE
inicio: ; etiqueta de subrutina inicio
HIGH portb.3 ; enciende el led conectado en el pin9 (RB3)
PAUSE 500 ; espera medio segundo (500mseg)
LOW portb.3 ; apaga el led conectado en el pin9 (RB3)
PAUSE 500 ; espera medio segundo
GOTO inicio ; regresamos a inicio
END
;PROGRAMA PARA LED INVERSO
En el segundo ejemplo haremos uso de configurar entradas y salidas del pic16f628a, en la entrada un pulsador tendra el estado de 1 entonces la salida indicado por el led estara en 0 (apagado), si el pulsador tuviera el estado 0 entonces en la salida indicara el encendido del led.
trisb=000001 ;Rb0 es entrada,el resto es salida
inicio:
if portb.0=1 then apagar ;condicional de apagar o encender Rb1
goto encender
apagar:
low portb.1 ;apaga led en Rb1
pause 500 ;retardo de 500 milisegundos
goto inicio
encender:
high portb.1 ; enciende led en Rb1
pause 500 ;retardo de 500 milisegundos
goto inicio
end
;PROGRAMA PARA LED PARPADEANTE
inicio: ; etiqueta de subrutina inicio
HIGH portb.3 ; enciende el led conectado en el pin9 (RB3)
PAUSE 500 ; espera medio segundo (500mseg)
LOW portb.3 ; apaga el led conectado en el pin9 (RB3)
PAUSE 500 ; espera medio segundo
GOTO inicio ; regresamos a inicio
END
;PROGRAMA PARA LED INVERSO
En el segundo ejemplo haremos uso de configurar entradas y salidas del pic16f628a, en la entrada un pulsador tendra el estado de 1 entonces la salida indicado por el led estara en 0 (apagado), si el pulsador tuviera el estado 0 entonces en la salida indicara el encendido del led.
inicio:
if portb.0=1 then apagar ;condicional de apagar o encender Rb1
goto encender
apagar:
low portb.1 ;apaga led en Rb1
pause 500 ;retardo de 500 milisegundos
goto inicio
encender:
high portb.1 ; enciende led en Rb1
pause 500 ;retardo de 500 milisegundos
goto inicio
end
esta buena profe los proyectos
ResponderEliminarEl clasico hola mundo en el mundo de los microcontroladores, tu codigo se puede optimizar mas, haciendo uso una sola vez de la instruccion pause, declarando previamente como entrada o salida los puertos a usar, ya que la instruccion HIGH y LOW el picbasic lo que hace es crear mas rutinas de ensamblador, ya que tiene que acceder a los bancos del pic cada ves que se usa, la instruccion END no es necesaria ya que tu programa nunca saltara a esa intruccion.
ResponderEliminar