Vous êtes sur la page 1sur 8

INSTITUTO POLITCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA

Ingeniera en Comunicaciones y Electrnica


LABORATORIO DE MICROPROCESADORES PRCTICA 3: INSTRUCCIONES BSICAS

GRUPO 6CM1

ALUMNO Hernndez Lpez Audomaro


Profesor: M. en C. Armando Martnez Ros

Fecha de realizacin de la prctica:

lunes 5 de marzo de MMXII

OBJETIVO
Comprobar la operacin y el funcionamiento de los bancos de memoria

MATERIAL Y DISPOSITIVOS USADOS Protoboard PIC 18F4550 Tablilla de desarrollo LEDs y resistores Cable USB y conector tipo B Software MPLab y HID Bootloader

DESARROLLO DE LA PRCTICA
La prctica se constituye de dos partes y un ejercicio agregado:

Escribir un programa usando lenguaje ensamblador para el PIC18F4550 que lea un dato de 4 los bits menos significativos por el puerto B, le reste 10 y muestre el resultado en el puerto A. SUSTRACCIN Escribir un programa en lenguaje ensamblador para el PIC18F4550 que realice la operacin lgica OR con dos datos escritos en el puerto A y B respectivamente. El resultado se debe mostrar en el puerto D. OR

EJERCICIO

Modifique el programa del ejercicio 2 para que se muestre en el puerto D el


resultado de la operacin lgica AND y despus el resultado del producto de los dos puertos.

OPERACIN ARITMTICA DE SUSTRACCIN


El enunciado propone la enmienda de restarle el valor de 10 decimal, a una entrada binaria de 4 bits; es decir, que a los bits ingresados mediante el dip-switch, se le reste el correspondiente binario del 10 decimal. A partir de lo propuesto, y con las explicaciones del docente en el aula de clases, se construy el siguiente cdigo:
ORG 0X1000 ; Direccin a partir de la cual se graba la informacin en el micro, para evitar sobrescribir informacin propia del dispositivo. Main: MOVLF 0X0F; Se habilitan los puertos del ADC como entradas digitales MOVWF ADCON1 MOVLW b'00001111' ; Se habilita de RB0 a RB3 como entradas MOVWF TRISB CLRF TRISA; Se limpia el registro del puerto A Resta: MOVLW .10 ; Implementa 10 decimal a W SUBWF PORTB,0 ; Resta 10 decimal al valor en binario del puerto B MOVWF PORTA ; Transfiere lo existente del puerto A a W GOTO Resta

Posteriormente a la compilacin, se hicieron las simulaciones correspondientes en el MPLAB v8.83, con los estmulos y las variables en pantalla, grabando despus en el PIC 18F4550 con el HID BootLoader. A continuacin, se complementa la explicacin del proceso con diversos diagramas.

Diagrama elctrico donde se muestran los elementos usados y los puertos correspondientes del PIC.

Diagrama de flujo de la operacin de sustraccin

ORG 0X1000

movwf ADCON1

movwf TRISB

Resta

Movlw .10

Mowf PORTA

SUBWF PORTB, 0

Diagrama a bloques de los elementos usados

Dip-Switch

PIC Puertos B

PIC Puertos A Latches de salida

Resultado de la sustraccin (LEDs)

OPERACIN LGICA OR
Para esta propuesta prctica, se tuvo que tomar en cuenta lo siguiente: o Habra 8 pines de entrada (2 puertos), ya que se requiere una emulacin de la compuerta OR para 4 bits. o Para emular tal compuerta, se declaran 2 variables auxiliares en el cdigo para poder trabajar con la informacin de los registros sin prdidas. La enmienda consistira en comparar un bit del puerto A, contra otro del puerto B, aplicando posteriormente la operacin lgica OR; lo anterior, para una comparacin de 4 bits simultneos. Implementando lo anterior, se construy el siguiente cdigo.
VAR equ 0x00 ;implementa la variable VAR en la direccin 0hex

VARB

org Main: call

equ 10H ; implementa la variable VARB en la direccin 10 hex ORG 0x0000 goto Main 0x1000 Puertos ;Se invoca a la subrutina para configurar puertos I/0

clrf PORTA ;restablece puerto A clrf PORTB ;restablece el puerto B movf PORTB,0 ;transfiere la entrada B a W movwf VAR ;guarda el contenido de W en la variable VAR movf PORTA,0 ;mover la entrada A a w movwf VARB ;guarda lo existente de W en VARB iorwf VAR,0 ;Ejecuta la operacin lgica entre W y VAR y el resultado lo manda de nuevo a W movwf PORTD ;Transferencia de W a los puertos D (de salida) goto Inicio

Puertos ; Funcin o subrutina que configura los puertos I/O movlw 0x0F ;Configura las entradas con el ADC como digitales movwf ADCON1 movlw .15 ;Transfiere el dato 15 decimal a W movwf TRISA ;para configurar 4 lneas de A como entradas movlw 0x0F ;Mueve los datos de w a f y configura movwf TRISB ; 4 lneas de B como entradas movlw b'00000000' ;Transfiere el valor 00000000bin a W movwf TRISD ;Transferencia de W a f y define todas las ;lneas del puerto D como salidas return END

A posteriori, se efectuaron las simulaciones adecuadas con los estmulos en el PC, para comprobar el correcto funcionamiento del cdigo en cuestin. Ahora se presentan diagramas para complementar la explicacin del algoritmo y de la implementacin fsica del circuito. Diagrama de flujo del proceso seguido por el cdigo de OR-4 bits

ORG 0X1000

VAR equ 0x00 VARB equ 10H

CALL Puertos

movf PORTB,0 movwf VAR

iorwf

VAR,0

movf PORTA,0 movwf VARB

movwf

PORTD

movlw 0x0F movwf ADCON1

movlw .15 movwf TRISA

movlw 0x0F movwf TRISB

movlw b'00000000 movwf TRISD

Diagrama elctrico

Diagrama a bloques de los elementos del circuito

Dip-Switch 4 bits

Puerto de entrada A

Operacin lgica OR (Procesamiento)

Puerto de salida D

Dip-Switch 4 bits

Puerto de entrada B LEDs

EJERCICIOS Modifique el programa del ejercicio 2 para que se muestre en el puerto D el resultado de la operacin lgica AND
VAR VARB equ equ ORG 0x00 ; Implementacin de variables con sus correspondientes 10H ; localidades 0x0000

org 0x1000 Main: call Puertos

; Funcin para la configuracin de puertos I/O

Ini; Identificador clrf PORTA ;Restablece el puerto A clrf PORTB ;Restablece el puerto B movf PORTB,0 ;Transfiere el dato del puerto B a w movwf VAR ;Almacena el contenido de W en VAR movf PORTA,0 movwf VARB ;Almacena el contenido de W en VARB andwf VAR,0 ;Implementa la operacin lgica AND y guarda en W movwf PORTD ;Transfiere de W a los puertos de salida D goto Ini Puertos movlw 0x0F digitales movwf movlw movwf movlw movwf movlw movwf return END ADCON1 .15 ;Mueve 15 decimal a W TRISA ; para configurar 4 pines de A como entradas 0x0F ;Mueve 0x0Fhex a W TRISB ; para configurar 4 lneas de B como entradas b'00000000' ; Configura todas las lneas de D como salidas TRISD

;Configura mediante el ADC las entradas como

PRODUCTO entre los puertos A y B, mostrando el resultado en puerto D

VAR VARB

equ

0x00

org Main:

equ ORG 0x0000 goto Main 0x1000

;Implementacin de variables y sus correspondientes localidades 10H ;go to start of main code

call Puertos Ini ; Identificador clrf PORTA clrf PORTB movf PORTB,0 movwf VAR movf PORTA,0 movwf VARB mulwf VAR,0 multiplicacin y guarda en W movwf PORTD goto Ini Puertos movlw movwf movlw movwf movlw movwf movlw movwf return END

;Subrutina para configurar puertos E/S ;Restablece el puerto A ;Restablece el puerto B ;Transfiere el dato del puerto B a w ;Almacena el contenido de W en VAR ;Almacena el contenido de W en VARB ;Implementa la operacin aritmtica ;Transfiere de W a los puertos de salida D

de

0x0F

;Configura mediante el ADC las entradas como digitales

ADCON1 .15 ;Mueve 15 decimal a W TRISA ; para configurar 4 pines de A como entradas 0x0F ;Mueve 0x0Fhex a W TRISB ; para configurar 4 lneas de B como entradas b'00000000' ; Configura todas las lneas de D como salidas TRISD

CONCLUSIONES Y OBSERVACIONES
Esta prctica deja diversas lecciones al estudiante, entre ellas: tener mucho precaucin en el manejo de los PICs, as como hacer un diagrama de flujo antes de programar en lenguaje ensamblador. La primera hace referencia a la anomala presentada al tratar de comunicar la tarjeta de desarrollo con la PC (HID Bootloader), cambiando de tarjeta y de PC en alternadas ocasiones. La segunda mencin concierne a los problemas presentados sobre la marcha en la construccin del cdigo, solventados el da de entrega en el Laboratorio gracias a la lluvia de ideas de diversos colegas que presentaron propuestas y soluciones a los obstculos existentes en la programacin del cdigo. En otro tenor, la prctica tambin devela una introduccin y una pequea proporcin de todo el podero de un microcontrolador (microprocesador) para ejecutar diversas tareas encomendadas al cumplimiento de cierto objetivo, as como la eficiencia que puede llegar a tener, apuntalando as todo lo visto durante cursos anteriores en lo relativo a los procesos digitales. Para finalizar, se hace el imprescindible apunte, concerniente al somero y elemental manejo del IDE MPLab a pesar de no ser la ms reciente versin, pero que sin embargo queda el propsito personal de lograr un manejo fluido del entorno para cumplir con las enmiendas durante el curso de manera ms que satisfactoria.

Vous aimerez peut-être aussi