Set de instrucciones mplab

Solo disponible en BuenasTareas
  • Páginas : 11 (2528 palabras )
  • Descarga(s) : 0
  • Publicado : 20 de marzo de 2011
Leer documento completo
Vista previa del texto
UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA - SOGAMOSO – INGENIERÍA ELECTRÓNICA

MANEJO DE PUERTOS Y SET DE INSTRUCCIONES

PABLO LUIS RODRIGUEZ Cod 49-054794, JORGE ESTEBAN BLANCO R Cod 49-054515, neotrix22@hotmail.com, jorgeesteban.blanco@uptc.edu.co

RESUMEN: INTRODUCCION

EQUIPOS NECESARIOS  Fuente de alimentación.  Multímetro. DESARROLLO DEL LABORATORIO Para el desarrollo delos problemas dados, se uso un microcontrolador pic 16F84A; se implemento el esquema de la figura 1.

OBJETIVOS  Manejar los puertos del microcontrolador PIC para entrada y salida de datos.  Manejar el set de instrucciones de los microcontroladores PIC mediante diversos problemas propuestos.

MATERIALES        PIC 16F84A. Resistencias. Condensadores. Pulsadores Diodos Leds 74 LS245 Dipswitch

Figura Nº 1. Esquemático del circuito implementado

Como primera medida para cada uno de los programas de coloco el siguiente encabezado:

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA - SOGAMOSO – INGENIERÍA ELECTRÓNICA

;*************PROGRAMA QUE POR EL PUERTO B SACA LAS OPCIONES DEL PUERTO A*** ;*************************JORGE ESTEBAN BLANCORODRIGUEZ******************************** ;***************************PABLO LUIS RODRIGUEZ RODRIGUEZ******************************* ;**************************** ING ELECTONICA UPTC COD:49-054515************* ;ZONA DE DATOS*********************************************************** __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC LIST P=16F84A INCLUDE ;ZONA DEDATOS************************************************************************** ORG 0 STATUS,RP0 ;ACESO AL BANCO 1 clrf TRISB ;LAS LINEAS DEL PUERTO B SE CONFIGURAN COMO SALIDAS movlw b'00011111' ;LAS 5 LINEAS DEL PUERTO A SE CONFIGURAN COMO movwf bcf PRINCIPAL TRISA STATUS,RP0 ;ACESO AL BANCO 0

INICIO bsf

ENTRADAS

1. Puerto1: El puerto B (salida) es controlado por el bit 0 del puerto A (entrada), de modo que: Si el bit 0 del puerto A = 1, se enciendentodos los leds de salida. Si el bit 0 del puerto A = 0, se encienden todos los leds del nibble alto. Para resolver este problema se genera el siguiente código:
PRINCIPAL movf PUERTO A EN W movwf sublw W btfsc goto goto todos movlw goto niblesaltos movlw goto salidab movwf PORTB goto PRINCIPAL ;FIN DEL PROGRAMA ;EL CONTENIDO DE W SE DEPOSITA EN EL PUERTO B ;SE HACE UN BUCLE CERRADO E INFINITO PORTA,WF b'00000001' F,0 todos niblesaltos b'11111111' salidab b'11110000' salidab ;CARGA EL REGISTRO DE DATOS DEL ; carga w en f ; REALIZA LA RESTA ENTRE LA CONSTANTE Y ; SALTA SI EL BIT 0 DEL REGISTRO F ES CERO

; carga 11111111 en el registro w

; carga 11111111 en el registro w

END

2. Puerto2: Compara el dato del puerto de entrada A con un número (por ejemplo, el 13). Puede darse dosposibilidades: Si puerto A = Numero, se encienden todos los leds de salida. Si puerto A ≠ Numero, se activan los todos los leds pares y se apagan los impares.

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA - SOGAMOSO – INGENIERÍA ELECTRÓNICA

Para resolver este problema se genera el siguiente código: PRINCIPAL movf W sublw btfsc goto goto todos movlw b'11111111' goto salidab pares movlwb'01010100' goto salidab salidab movwf PORTB PUERTO B goto END PRINCIPAL ;SE HACE UN BUCLE CERRADO E INFINITO ;EL CONTENIDO DE W SE DEPOSITA EN EL ; carga 11111111 en el registro w b'00001010' STATUS,Z pares todos ; REALIZA LA RESTA ENTRE LA CONSTANTE Y W ; salta si no son iguales PORTA,W ;CARGA EL REGISTRO DE DATOS DEL PUERTO A EN

;FIN DEL PROGRAMA

3. Puerto3: Compara el dato introducido por elpuerto A con un número predeterminado. Pueden darse dos posibilidades: Si puerto A ≥ Numero, se encienden todos los leds de salida. Si puerto A < Numero, se activan los todos los leds impares y se apagan los pares. (puerto B) Para resolver este problema se genera el siguiente código:
PRINCIPAL movlw num ; carga num a w subwf PORTA,W ; resta porta menos w y lo almacena en w btfsc STATUS,C ;salta...
tracking img