Semaforo.Asm

Páginas: 2 (300 palabras) Publicado: 6 de noviembre de 2012
LIST p=16F84 ; PIC16F844 is the target processor

#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.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS