miércoles, 5 de septiembre de 2007

CORRIMIENTO PUERTOS B Y D, USANDO RLF Y RRF

CORRIMIENTO USANDO PUERTOS B Y D

Este es un segundo programa muy similar al anterior pero mas avanzado pues usa dos puertos para la visualizacion de los LED. Ademas la rutina involucra ahora a la instruccion RRF, muy similar a la anterior, pero con rotacion a la derecha.

Puedes ver el video para un mejor entendimiento de el funcionamiento. Es un efecto mas llamativo pues es semejante a las luces de KIT el auto fantastico de los 80's, claro con mas luces.

El esquematico es el mismo que el del programa anterior, el ASM lo encuentras aqui y el Hex es el siguiente:


:020000040000FA
:1000000002200D288312031386018801831603132F
:10001000860188018312031308000314860D212032
:10002000861F0E28860D880C2120081C1328880D99
:100030002120881F1728880D860C2120061C1C28CB
:100040000E288830A000A1000130A200A00B2628B5
:0A005000A10B2628A20B26280800A9
:00000001FF









Explicacion del programa.


Por ser muy similar al anterior, la explicacion sera mas sencilla. Ahora en la configuracion de registros, configuraremos como salida el puerto D "limpiando" TRISD.

En INICIO ponemos en uno al Carry, y al igual que el anterior, rotamos a la derecha el PortB. La instruccion BTFSS PORTB, 7 dara cuanta de cuando el ultimo led del puerto encienda, el PC se brincara la sig. instruccion.

A continuacion el Carry es uno y le instruccion RRF comenzara con la rotacion en el Puerto D una y otra vez hasta que llegue al extremo que es cuando comanzara a hacer la rotacion a la izquierda en el puerto D (etiqueta LEFT_D).

Cuando el puerto D llegue a su extremo, el carry se pone en uno y se comienza la rotacion de nuevo por el puerto B pero hacia la derecha.

Como ya sabes, en cada visualizacion se llama al retardo para poder ver la accion.

Claro que este programa puede ser modificado y podemos generar rutinas mucho mas complejas, mas rapidas, etc. pero este programa cumple con su objetivo de mostrar el funcionamiento del micro usando dos puertos como salidas.

1 comentario:

megadeth_legohead dijo...

El codigo asm ya no lo puedo descargar :C

Google