salto_06

download salto_06

If you can't read please download the document

description

asm

Transcript of salto_06

;************************************* Saltos_06.asm ************************************;; ===================================================================; Del libro "MICROCONTROLADOR PIC16F84A. DESARROLLO DE PROYECTOS"; E. Palacios, F. Remiro y L. Lpez.;Editorial Ra-Ma.www.ra-ma.es; ===================================================================;; Lee las tres lneas ms bajas del puerto A, que fijan la cantidad del nmero de LEDs a; iluminar. Por ejemplo, si (PORTA)=b'---00101' (cinco) se encendern cinco diodos LEDs; (D4, D3, D2, D1 y D0). Hay que utilizar la instruccin de rotacin "rlf".;; ZONA DE DATOS **********************************************************************__CONFIG _CP_OFF &_WDT_OFF & _PWRTE_ON & _XT_OSCLIST P=16F84AINCLUDE CBLOCK 0x0C ; RAM de usuario a partir de esta direccin.Contador ; Contar las veces que tiene que rotar el diodo.RegDesplaza ; Registro que se desplazar.ENDC; ZONA DE CDIGOS ********************************************************************ORG0 ; El programa comienza en la direccin 0.Iniciobsf STATUS,RP0 ; Acceso al Banco 1.clrf TRISB ; Las lneas del Puerto B se configuran como salida.movlw b'00011111' ; Las 5 lneas del Puerto A se configuran como entrada.movwf TRISAbcf STATUS,RP0 ; Acceso al Banco 0.Principalmovf PORTA,W ; Lee el dato de entrada.andlw b'00000111' ; Se queda con los tres bits ms bajos.movwf Contador ; El dato de entrada pasar al Contador.movf Contador,F ; Solo sirve para posicionar flag Z del STATUS.btfsc STATUS,Z ; Z=0?, (Contador) es distinto de cero?goto ActivaSalida ; No. Es cero. Los LEDs se apagan.clrf RegDesplaza ; Si, efectivamente es distinto de cero. Rota.DesplazaOtraVez ; La primera vez con todos los LEDs apagados.bsf STATUS,C ; Pone a 1 el Carry. Este 1 ser el que rote arlf RegDesplaza,F ; izquierdas por el registro RegDesplaza.decfszContador,F ; Rota tantas veces como indique el (Contador).goto DesplazaOtraVezmovf RegDesplaza,W ; Se carga en W para visualizarlo a la salida.ActivaSalidamovwf PORTB ; Resultado se visualiza por el puerto de salida.gotoPrincipalEND; ===================================================================; Del libro "MICROCONTROLADOR PIC16F84A. DESARROLLO DE PROYECTOS"; E. Palacios, F. Remiro y L. Lpez.;Editorial Ra-Ma.www.ra-ma.es; ===================================================================