Página de inicio Mi Correo






   » Foro
   » Nuevo Foro
   » Mi Correo
   » Mis Actividades...


--- Novedades ---



    
  » Microcontroladores » Tutor de MPLAB (13 de 19)  

.: Los efectos - Sección V

En este caso también haremos uso de la rotación mediante el carry, pero guardaremos el resultado de la rotación en W para no perderlo y luego lo enviaremos repetidas veces a portb...

Monitor de LED's switch en 0100
     
.: El código completo te debería quedar así...
efect5	CLRF	portb	; limpia el puerto B
	MOVLW	0x01	; comienza con (00000001)
	MOVWF	portb	; lo envía a la salida
cinco	BSF	estado,0	; pone a 0 el bit C de status (carry)
	CALL	clokon
	MOVWF	portb	; lo envía a la salida
	RLF	portb,0	; rota a la izquierda y pasa el valor a W
	MOVWF	portb	; lo envía a la salida
	CALL	clokon
	CLRF	portb	; (00000000)
	CALL	clokon
	MOVWF	portb	; repite
	CALL	clokon
	CLRF	portb	; (00000000)
	CALL	clokon
	MOVWF	portb	; lo envía a la salida
	BTFSS	portb,7	; ve si terminó de rotar
	GOTO	cinco
CALL	clokon
	BCF	portb,7	; (01111111)
	CALL	clokon
	BCF	portb,6	; (00111111)
	CALL	clokon
	BCF	portb,5	; (00011111)
	CALL	clokon
	BCF	portb,4	; (00001111)
	CALL	clokon
	BCF	portb,3	; (00000111)
	CALL	clokon
	BCF	portb,2	; (00000011)
	CALL	clokon
	BCF	portb,1	; (00000001)
	CALL	clokon
	RETURN

Aquí hay una pequeña diferencia, ya que ponemos un 1 en el carry y no un 0 como lo hicimos anteriormente, y desde allí vamos cargando el puerto B hasta que se active el último bit de portb.

Veamos, hacemos una rotación, lo enviamos a portb, llamamos al timer, borramos portb, llamamos al timer, hacemos una repetición , llamamos nuevamente al timer, y así, luego de las repeticiones, verificamos si se terminó de rotar, sino hacemos una nueva rotación, finalmente terminaremos con el portb lleno.

Luego de terminada la rotación iremos poniendo a 0 todos los bits, desde el bit7 al bit0...(es como hacer un barrido limpiando todo el puerto)

Analiza el código, que no es tan complicado como parece, si lograste comprender como se hace la rotación esto ya te resultará más fácil.



R-Luis...


<--Anterior   Introducción   Siguiente -->
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19
Tabla de Referencias


    
--| |--