Programa en ensamblador para encender un Led con PIC 16F84A

5

Cómo programar un PIC 16F84A en ensamblador para encender un led

Artículos y tutoriales sobre electricidad y electrónica

En este tutorial se creará un programa en lenguaje de programación ensamblador para hacer que se apague un led presionando un botón. Para esto utilizaremos el PIC 16F84A de la empresa Microchip.

El circuito que se utilizará es el siguiente:

circuito_programa_asm_pic16f84_led

(Clic en la imagen para ampliar).

Los materiales son los siguientes:

  • 3 resistencias de 10K
  • 1 resistencia de 330 Ohms
  • 1 Microcontrolador PIC 16F84A
  • 1 Crystal 4 MHz
  • 2 capacitores de 22pf
  • 2 push button
  • 1 led

Al probar el circuito, se utilizó una fuente de 5V.

El programa en ensamblador es el siguiente:

; **** Codigo by Masterhacks ****
list p=16F84A
#include P16F84A.inc
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
Led equ 0 ; Se define la variable Led como el bit cero de un registro, en este caso PORTB
Pulsa equ 0 ; Se define la variable Pulsa como el bit 0, en este caso PORTA
Reset org 0x00 ; Aqui comienza el MC y se configuran los puertos
 goto Inicio
 org 0x05 ; Origen del codigo
Inicio bsf STATUS,RP0 ; Pasamos de Banco 0 a Banco 1
 movlw b'11111' ; Se mueve 11111 a W
 movwf TRISA ; Se carga W en TRISA
 movlw b'11111110' 
 movwf TRISB
 bcf STATUS,RP0 ; Se pasa del Banco 1 al Banco 0
 bcf PORTB,Led ; Comienza apagado
Bucle btfsc PORTA,Pulsa ; Se pregunta si esta en 0 logico
 goto Apagar ; Si esta en 1 logico, se apaga el led
 bsf PORTB,Led ; Si esta en 0 logico, se enciende el led
 goto Bucle ; se verifica la condicion del Pulsador.-

Apagar bcf PORTB,Led ; Se apagar el led
 goto Bucle

 end

Se explica cada línea del código, por lo que es fácil entenderlo a menos que no se tenga ningún conocimiento del lenguaje.

Para ver el circuito funcionando, así como la simulación en Proteus, puedes ver el siguiente video:


Gracias por apoyar el libre conocimiento con tu donación!
Bitcoin: bc1q4sw9260twfcxatj8mjp7358cyvrf8whzlelyhj
Ethereum: 0xFb93D2a3c9d1A0b83EE629c2dE1725BCa192e581
Litecoin: LbFduJmHvQXcpCnwfUT7aJ4DYoWSL3iQw8
Dogecoin: D7QQVqNR5rk215A4zd2gyzV9P2bLQtZHFV
Transferencia bancaria en México:
Cuenta CLABE: 661610005838513425 Nombre: Masterhacks LATAM Banco: Alternativos

Unete a nuestros grupos:
WhatsApp: https://chat.whatsapp.com/HcazyklpyeU4X3BF657KFQ
Telegram: https://t.me/masterhacks_net
Canal de WhatsApp https://whatsapp.com/channel/0029VaBBLCn5vKAH9NOWCl3K

5 pensamientos sobre “Programa en ensamblador para encender un Led con PIC 16F84A

  1. una pregunta y si quisiera prender y apagar 16 leds pero estos led estan soldados tiene 4 pisos y por los 4 pisos hay 4 led y con este material
    1. 16 led
    2. Pic16f84a
    3. Regulador lm785
    4. 5 Resistencia de 10k
    5. Oscilador de cristal de 4mhz
    6. 2 lentejas de 22 pico faradios
    7. 8 transistor de 2n2222A
    8. 4 resistencias de 500
    9. 1 pic16f84a
    10. 1 protoboard

Deja una respuesta

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