



Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Este documento contiene una guía de laboratorio para el microcontrolador PIC 16F84A de la Universidad Nacional San Antonio Abad del Cusco. El laboratorio aborda el tema de la entrada y salida en el microcontrolador y cómo interactuar con dispositivos periféricos. El estudiante aprenderá a configurar los puertos A y B como salida o entrada, y escribir programas para controlar LEDs y realizar operaciones de suma de nibbles. El documento incluye soluciones de ejercicios y referencias a recursos adicionales.
Tipo: Diapositivas
1 / 5
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!




ECP 1 de 5
ECP 2 de 5
;* Nombre : apPrenderLED.asm * ;* Proposito : enciende un led en el puerto B * ;* de acuerdo el estado del puerto A * ;* Autor : Edwin Carrasco * ;* FCreacion : 22/09/2009 * ;* FModificacion : ------- * ;****************************************************** *
list p=16f84 ;Tipo de dispositivo
;Zona de etiquetas
STATUS EQU 0x PORTA EQU 0x PORTB EQU 0x RP0 EQU 0x
ORG 0 Goto INICIO ORG 5
bsf STATUS, RP0 ; Pone en 1 el bit 5 del registro STATUS (ir al banco 1) clrf PORTB ; Configura B como salida movlw b'00000100' ; Se configura el pin 2 del puerto A como entrada movwf PORTA bcf STATUS, RP0 ; Pone en 0 el bit 5 del registro STATUS (ir al banco 0) clrf PORTB ; Pone en 0 el puerto B
btfss PORTA, 2 ; Si (RA2 = 1 ) goto APAGAR ; => apagar goto ENCENDER ; [] encender
bsf PORTB, 0 ; Pone en 1 el bit RB goto BUCLE
ECP 4 de 5
goto BUCLE movlw 0xff movwf PORTB
goto FIN
END ;Fin del programa
;* Nombre : apSumaNibbles * ;* Proposito : calcula la suma de dos nibbles * ;* ingresados por el puerto B * ;* Autor : Edwin Carrasco * ;* FCreacion : 23/09/2009 * ;* FModificacion : ------- * ;****************************************************** *
list P=16F84A include "p16f84a.inc" ;Configuración del 16F84A
CBLOCK 0x0C ;define la posición del inicio de las variables Temp ENDC
ORG 0x goto INI ORG 0x
bsf STATUS,RP0 ;Banco 1 movlw 0xFF movwf PORTB ;PuertaB entrada clrf PORTA ;Puerta salida
bcf STATUS,RP0 ;Banco 0 clrf PORTA ;Las lineas de salida de PuertaA a 0
movf PORTB,W ; PuertoB => W andlw 0x0F ; Nible0(W) => W movwf Temp ; W => Temp swapf PORTB,W ; Swap(PuertoB) => W andlw 0x0F ; Nible0(W) => W addwf Temp,W ; Temp + W => W
ECP 5 de 5
movwf PORTA ; W => PuertA goto BUCLE END