Desplazamiento de bit

Hola:

Puedo hacer un desplazamiento por el puerto B con este código.

Código:
; ZONA DE DATOS *********************************************************************

    LIST       P=16F84A            ; Procesador utilizado.
    INCLUDE  <P16F84A.INC>        ; Definición de algunos operandos utilizados.
    __CONFIG   _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC

; ZONA DE CÓDIGOS ********************************************************************

    ORG     0                    ; El programa comienza en la dirección 0.
Inicio
    bsf        STATUS,RP0            ; Acceso al Banco 1.
    clrf    TRISB                ; Las líneas del Puerto B se configuran como salida.
    movlw    b'00011111'            ; Las 5 líneas del Puerto A se configuran como entrada.
    movwf    TRISA
    bcf        STATUS,RP0            ; Acceso al Banco 0.
Principal
     bcf        STATUS,C            ; Este "0" es el que entrará por la izquierda.
    rrf        PORTA,W                ; Rota los bits una posición a la derecha y lo
    movwf    PORTB                ; lleva al Puerto B para que se visualice.
    goto     Principal            ; Se crea un bucle cerrado e infinito.

    END                            ; Fin del programa.
Lo que me falta ahora es con un pulsador en el PORTA, el que sea que se desplace solo 4 bits del PORTB llamado RB4, RB5, RB6 y RB7. Cuando llegue al último bits RB7, vuelva a desplazarse directamente al RB4.

Un ejemplo, si introducimos un pulso (no interruptor) en el RA0, se daplaza el bits a la derecha que es la instrucción rrf.

captura-553383.PNG


Cuando llegue al paso 5), el bit 1 del RB7 del paso 4) vuelve al RB4 del paso 5).

Es todo lo que quiro hacer.
 
Saludos Meta.
Mira este programa, posiblemente es lo que quieres hacer.
Incluye simulación por si deseas ver como funciona.
 

Adjuntos

  • ShiftBits.zip
    8.8 KB · Visitas: 7
Buenísimo. Lo que no se para que pusiste retardo. ¿Antirrebotes del pulsador?
Si, como mencionaste usar un pulsador en RA0, fue solamente por ese motivo.

;*************************25/Feb/2013*************************

Adjunto el programa modificado, ahora con antirrebote por software.

Saludos.
 

Adjuntos

  • ShiftBits II.zip
    15.7 KB · Visitas: 0
Última edición:
Atrás
Arriba