MICROCONTROLADORES

PIC16F628A- INSTRUCCIONES BSF Y BCF.

Podemos decir de forma inicial que las instrucciones del PIC16F628A son del tipo RISC es decir que tienen un tamaño estándar.

Son de 14 bits para la familia 16FXXXX en total se manejan 36 instrucciones.

Normalmente están orientadas a manipular bits, registros o literales.

  • BSF f, b = bit set file. Coloca a “1” el bit “b” del registro f.

F-> es un registro (dirección de registro).

b-># bit del registro de 0 a 7.

  • BCF f, b = bit clear file.

Coloca a 0 el bit “b” del registro “f”

f->Registro (Dirección del registro).

b->#bit del registro de 0 a 7.

  • nop: No opera y solo consume un ciclo de instrucción.
  • Goto k: retorno, iteral, desplazamiento o salto

Etiqueta: goto inicio.

PROGRAMA 1 EN ASSEMBLER: ENCENDIDO DE VARIOS LEDS CON EL MCLR DESHABILIDADO.

Explicación básica (lo señalado en negrita).

; PIC16F628A Configuration Bit Settings //configuración del oscilador, MCLR, perro guardián y demás.

 

; Assembly source line config statements

 

#include “p16f628a.inc” // invocación del microcontrolador.

 

; CONFIG

; __config 0xFF59

 __CONFIG _FOSC_INTOSCCLK & _WDTE_OFF & _PWRTE_OFF & _MCLRE_OFF & _BOREN_ON & _LVP_OFF & _CPD_OFF & _CP_OFF //configuración del oscilador, MCLR, perro guardián y demás.

    LIST P=16F628A

    #include <P16F628A.INC>

    org 0x00

    bsf STATUS,5; ir al banco 1.

    bcf TRISB,0;  puerto 0 salida

    bcf TRISB,1;  puerto 1 salida

    bcf TRISB,2;  puerto 2 salida

    bcf TRISB,3;  puerto 3 salida

    bcf STATUS,5; ir al banco 0

    bsf PORTB,0 ; puerto 1 alto

    bsf PORTB,1 ; puerto 2 alto

    bsf PORTB,2  ; puerto 3 alto

    bsf PORTB,3   ; puerto 4 bajo

    end

 

Si vas a habilitar el Master Clear, debes configurar la siguiente línea.

 __CONFIG _FOSC_INTOSCCLK & _WDTE_OFF & _PWRTE_OFF & _MCLRE_ON & _BOREN_ON & _LVP_OFF & _CPD_OFF & _CP_OFF //configuración del oscilador, MCLR, perro guardián y demás.

 

ENVIANDO PULSOS DE RELOJ

CONTENIDOS MÁS RELEVANTES.

soy el administrador del sitio web. si tienes alguna duda, no dudes en contactarme

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *