Semaforo.Asm
Páginas: 2 (300 palabras)
Publicado: 6 de noviembre de 2012
#include "P16F84.INC" ; Include header file
CBLOCK 0x10 ; Temporary storage
state
l1,l2ENDC
n
org 0 ; Puesta en marcha del vector.
goto setports ; Ir al inicio del código.
org 4 ; Interrumpirvector.
halt goto halt ; Siéntese en bucle sin fin y no hacer nada.
setports clrw ; cero en W.
movwf PORTA ; Asegúrese de PORTA escero antes de habilitarlo.
movwf PORTB ; Asegúrese de PORTB es cero antes de habilitarlo.
bsf STATUS,RP0 ; Seleccione el banco 1
clrw; Máscara para todos los bits como salidas.
movwf TRISB ; Establecer TRISB registro.
bcf STATUS,RP0 ; Vuelva a seleccionar el banco 0.initialise clrw ; Estado inicial.
movwf state ; Póngalo.
loop call getmask ; Convertir un estado a máscara de bits.
movwf PORTB; Escríbelo a puerto.
incf state,W ; Incremento de estado para W.
andlw 0x03 ; Envuelva a su alrededor.
movwf state ;Poner de nuevo en la memoria.
call wait ; espere
goto loop ; bucle
; Función para volver máscara de bits para el puerto de salida para elestado actual.
; El nibble superior contiene los bits para un juego de luces y la
; Bajar mordisquear los bits para el otro conjunto. Bit 1 es de color rojo, 2 es de coloramarillo
, yel bits 3 es verde. el cuarto bists no se utiliza.
getmask movf state,W ; Obtener estado a W.
addwf PCL,F ; Añadir offset en W a PCL...
Leer documento completo
Regístrate para leer el documento completo.