Anda di halaman 1dari 5

Encienda un led conectado en RB4 durante 1,5 seg. y luego apáguelo por 0,5 seg.

el
proceso debe repetirse sólo 4 veces, luego el led debe permaner apagado.

; encender un led conectado al pin 37 (RB4) del pic 16F877A durante 1.5
seg y
;luego apagarlo 0.5 seg el proceso debe repetirse 4 veces luego el led
debe
;permanecer apagado.

@ device xt_osc ; oscilador externo XT


define osc 4 ; especifica que se va a utilizar uno de 4 Mhz
x var byte ; crea la variable x y asigna un espacio de memoria
; de o a 255
LED var portb.4 ; asigna el nombre de led a RB4 del pic 16f877A

programa: ; inicio de la linea de programa


for x=0 to 3 ; repetir 4 veces
high led ;enciende led
pause 1500 ; esperar 1.5 seg
low led ;apaga led
pause 500 ; espera 0.5 seg
next ; siguiente repeticion hasta que sea x=3
end ; fin del programa

Encienda 2 leds conectados en RB0 y RB1 alternadamente, es decir mientras el un led


está encendido, el otro permanece apagado y viceversa, los tiempos de transición son de
700 mls. entre encendido y apagado, el proceso debe continuar indefinidamente.

; encender 2 leds conectados a (RB0-RB1) del pic 16F877A alternadamente ,


es
;decir un led esta encendido mientras el otro esta apagado y viceversa
los
;tiempos de transicion son de 700mls entre encendido y apagado el proceso
;debe continuar indefinidamentedurante.
@ device xt_osc ; oscilador externo XT
define osc 4 ; especifica que se va a utilizar uno de 4 Mhz
x var byte ; crea la variable x y asigna un espacio de memoria
; de o a 255
LED1 var portb.0 ; asigna el nombre de led1 a RB0 del pic 16f877A
LED2 VAR portb.1 ; asigna el nombre de led2 a RB1

programa: ; inicio de la linea de programa

high led1:low led2 ;enciende led1 y apaga led 2


pause 700 ; esperar 0.7 seg
low led1:high led2 ;apaga led1 y enciende led2
pause 700 ; espera 0.7 seg
goto programa ; ir a programa
end ; fin del programa

En el proyecto 5.1.3 juego de luces para discoteca, encienda los leds del medio hacia los
extremos, es decir empiece por B4 y B3, luego apáguelos y encienda B5 y B2 y así
sucesivamente hasta llegar a los extremos B7 y B0, utilice PAUSE 200 y haga que se
repita indefinidamente.

;LUEGO DE LAS LUCES DE DISCOTECA ENCIENDA LOS LEDS DEL MEDIO HACIA LOS
EXTREMOS
;CON UN TIEMPO DE 200mseg
; leds=leds<<1 EQUIVALE A MULTIPLICAR POR DOS Y DESPLAZARSE UNO A UNO
; leds=leds<<2 EQUIVALE A MULTIPLICAR POR CUATRO Y DESPLAZARSE DE DOS
EN DOS
; leds=leds>>1 EQUIVALE A DIVIDIR POR DOS Y DESPLAZARSE UNO A UNO
HACIA LA
; DERECHA.

@ device xt_osc ; oscilador externo XT


define osc 4 ; especifica que se va a utilizar uno de 4 Mhz
x var byte ; crea la variable x y asigna un espacio de memoria
; de o a 255
LEDS var PORTB ; asigna el nombre de leds a todo el puerto B del pic
16f877A
LED0 var portb.0 ; asigna el nombre de led1 a RB0 del pic 16f877A
LED1 VAR portb.1 ; asigna el nombre de led2 a RB1
LED2 VAR portb.2
LED3 VAR portb.3
LED4 VAR portb.4
LED5 VAR portb.5
LED6 VAR portb.6
LED7 VAR portb.7
TRISB=0 ; hacemos salidas a todo el puerto b
leds=1 ; cargamos el puerto b con 1 (%00000001)

programa: ; inicio de la linea de programa


for x=0 to 6 ; repetir 7 veces
LEDS=LEDS<<1 ;desplaza uno a uno a la left
GOSUB TIEMPO ; esperar 0.2 seg

next ; siguiente repeticion hasta que sea x=6


for x=0 to 6 ; repetir 7 veces
LEDS=LEDS>>1 ; desplaza uno a uno a la right
pause 200 ; esperar 0.2 seg
next

high led3:HIGH LED4:LOW LED0:LOW LED7


GOSUB TIEMPO
LOW LED3:LOW LED4:HIGH LED2:HIGH LED5
GOSUB TIEMPO
LOW LED2:LOW LED5:HIGH LED1:HIGH LED6
GOSUB TIEMPO
LOW LED1:LOW LED6:HIGH LED0:HIGH LED7
GOSUB TIEMPO

GOTO PROGRAMA

TIEMPO:
PAUSE 200
RETURN

end ; fin del programa

Encienda una ruleta con leds conectados a todos los pines del micro (15 leds), excepto
RA5 y hágalo girar las luces a la velocidad y en el sentido que desee.
Genere 6 parpadeos de un led con intervalos de 300 mls. luego haga 2 parpadeos de 1
segundo con un segundo led, luego haga que los 2 leds parpadeen 3 veces, repita el
proceso indefinidamente

;Generar 6 parpadeos de un led con intervalos de 300mls, luego dos parpadeos de


;un segundo con otro led, despues los dos leds parpadean tres veces, el proceso
;se repite indefinidamente

define OSC 4 ;especifica al PBP que se va ha utilizar


;un cristal de 4 Mhz.
@ device XT_OSC ;oscilador externo para programacion.
x var byte ; crea la variable x y asigna un espacio de memoria
; de o a 255

led1 var portb.0 ;etiqueta asignada al pin 2 del pic 16f877A


led2 var portb.1 ;etiqueta asignada al pin 3 del pic 16f877A

programa: ; inicio de la linea de programa

for x=0 to 5
high led1
gosub tiempo
low led1
gosub tiempo
next

for x=0 to 1
high led2
gosub tiempo1
low led2
gosub tiempo1
next

for x=0 to 2 ; repetir 3 veces


high led1:high led2 ;enciende leds
gosub tiempo ; ir a rutina tiempo
low led1: low led2 ;apaga leds
gosub tiempo ; ir a rutina tiempo
next ; siguiente repeticion hasta que sea x=3
goto programa

tiempo:
pause 300
return

tiempo1:
pause 1000
return
end ; fin del programa

Anda mungkin juga menyukai