Sunteți pe pagina 1din 13

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA


UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA

PRACTICA N° 3

SIMULACION DE PUERTOS EN MPLAB

NOMBRE :ORDAZ HERNANDEZ LAURA ITZEL

PPROFESOR: BRAVO LEON JOSE LUIS

GRUPO: 6CM4

FECHA SEP 20
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA
OBJETIVO: simulación de puertos en mplab ide

OBJETIVO:

Que el alumno conozca mas instrucciones del compilador MPLAB así como visualizar los registros
al crear un programa y observar el funcionamiento del acumulador y en los registros de memoria

MARCO TEÓRICO

MPLAB es un ambiente de desarrollo integrado (IDE, por sus siglas

en inglés) creado por Microchip Technology para dar soporte a la

realización de proyectos basados en microcontroladores PIC. Incluye

varios módulos que permiten llevar a cabo las distintas etapas de un

proyecto: Edición, Ensamblaje, Simulación y Programación.

MPLAB IDE puede también integrar funciones de emulación y programación del sistema en
desarrollo. Microchip ofrece además gratuitamente la edición estudiantil del compilador ANSI
C18 para los microcontroladores de la familia /18. Igualmente ofrece el compilador C30 para
microcontroladores de la familia dsPIC para procesamiento digital de señales. Ambos se integran al
MPLAB IDE.En los proyectos desarrollados por la empresa se utilizó MPLAB IDE v8.50, para la
familia 16 y la versión MPLAB IDE v8.63 y v.8.89, para la familia 18.

El simulador de MPLAB permite al usuario seguir paso por paso cada instrucción del programa,
insertar breakpoints, generar entradas digitales en cualquier bit de los puertos y observar el
contenido de cualquier registro interno del microcontrolador, así como de las localidades de la
memoria de datos y de código, la EEPROM y el stack. MPLAB incluye un cronómetro para el cálculo
de tiempos de ejecución y otras opciones. El simulador funciona igualmente para programas escritos
en lenguaje ensamblador ó en C.

Al realizar la simulación paso por paso, el usuario elige de un menú de opciones, cuáles registros y
funciones desea observar. En este ejemplo, en la ventana mostrada se encuentra el texto del
programa, el cual puede editarse directamente.
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA
 Los pines de entradas y salidas presentan las siguientes características en sus puertos IO

 3 Registro independientes para Configurar, Escribir y Leer cada PUERTO (TRISx, LATx y
PORTx).
 Selección de resistencia PULL-UP solo para el Puerto B.
En las siguientes imágenes se detallaran los registros involucrados a las Entradas y Salidas de
cada PUERTO;

A continuación se explicará cómo configurar, escribir o leer un Pin de cada PUERTO;

 TRISX: Escribiendo en cada bit (“1” lógico = Entrada y “0” lógico = Salida).
 LATX: Escribiendo en cada bit la salida tendrá un nivel de Voltaje (“1” lógico = 5v | “0” lógico
= 0v).
 PORTX: Este registro es de solo Lectura (5v =”1” lógico | 0v =“0” lógico).

CONFIGURACIÓN DE LOS PINES IO DE UN PUERTO

 TRISA = 0b11111111; Configura todos los pines del Puerto A como Entrada.
 TRISA = 0b00000000; Configura todos los pines del Puerto A como Salida.
 TRISA = 0b00001111; Los pines Altos como Salida y el resto como Entrada.
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA

ESCRITURA DE PINES EN UN PUERTO

 LATA = 0b11111111; Todos los pines del Puerto A con una salida de 5v.
 LATA = 0b00000000; Todos los pines del Puerto A con una salida de 0v.
 LATA = 0b00001111; Los pines Altos a 0v y los pines Bajos a 5v.

LECTURA DE UN PUERTO

 Valor = PORTA [ RA0 ] : El estado lógico del pin A0 se escribe en la variable valor
 Valor = PORTA : El estado lógico del todo el Puerto A se escribe en valor.
Para poder Habilitar la resistencia PULL-UP en un pin determinado, es necesario que dicho pin este
configurado como entrada y luego escribir “0” lógico en el bit RBPU del registro INTCON2.

REGISTROS PORTC, TRISC, LATC


Para los PIC18FX550:
 PORTC de 7 bits.
 Pin RC3 no disponible.
 Acerca de los pines RC4 y RC5:
 No tienen bits asociados en el registro TRISC.
 Como puertos digitales, solo funcionan como entradas.
 Los pines del puerto C están multiplexados con los periféricos EUSART, MSSP y USB. Para su
correcta configuración revise el periférico correspondiente.
 El registro LATC (Data Latch Register) está mapeado en memoria de datos. Operaciones de
escritura/lectura/modificación en LATC pueden escribir/leer el valor de salida del latch asociado
al puerto C.
 NOTA:
 En un reset (POR – Power-on Reset), estos pines, excepto RC4 y RC5, son configurados
como entradas digitales.
 Para usar los pines RC4 y RC5 como entradas digitales, el módulo USB debe estar
deshabilitado (UCON[3] = 0), y el transceiver USB debe estar deshabilitado UCFG(3)=1
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA
CARACTERÍSTICAS DEL PIC 18F4550

 ADC de 10 bits y 13 canales


 Tecnología nanoWatt que brinda características y funciones de bajo consumo y ahorro de energía
 Voltaje de operación 4.2V a 5.5V

 2 módulos de captura/comparación/PWM
 1 timer de 8 bits y 3 de 16 bits
 EUSART, SPP, SPI, I²C.

 20 fuentes de interrupciones (3 externas)
 Resistencias de pull-ups en el puerto B programables
 Función del pin MCLR opcional

 Brown-out Reset de valor programable
 Power-on Reset
 Power-up Timer y Oscillator Start-up Timer

 Soporta 100,000 ciclos de borrado/escritura en memoria flash
 Soporta 1,000,000 ciclos de borrado/escritura en memoria EEPROM
 Retención de datos mayor a 40 años

 Protección de código y datos programable
 Encapsulado DIP de 40 pines
 Microcontrolador con módulo USB especificación 2.0. Soporta Low speed 1.5Mb/s y full speed

 12Mb/s. 32 endpoints (16 bidireccionales). 1kB de memoria de doble acceso para el USB
 Hasta 35 pines I/O disponibles
 Memoria de programa flash de 32 kB

 RAM de 2048 Bytes
 EEPROM de datos de 256 Bytes
 Velocidad de la CPU 12 MIPS

 Oscilador externo hasta 48 MHz
 Oscilador interno seleccionable entre 8 frecuencias desde 31kHz hasta 8MHz
 Opciones de oscilador dual permiten que la velocidad de la CPU y del módulo USB sean diferentes
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA

PIC18F4550
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA
EQUIPO Y MATERIAL
Programa MPLAB IDE instalado
Archivo .asm
DESARROLLO
 Crear una carpeta con el nombre practica 3
 Copiar en la carpeta el archivo forma.asm y renombrar como practica3
 Abrir mplab
 Del menú principal seleccionar proyect
 Seleccionar al asistente del proyecto proyect wizard
 Después seleccionar el dispositivo a emplear el cual será el pic 18f4550
 Oprima next y seleccione la opción microchip
 Asigne la carpeta practica 1 como el lugar donde se guardara el proyecto
 Seleccione la ruta de destino de proyecto
 Y seleccione el archivo practica1.asm
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA
 para comenzar el programa seleccionaremos la practica3asm

Posteriormente inserte este código en el achivo


 Del menú seleccione selecconar view y activare la visualización de los registros con la
opción watch
 Wreg
 Port A
 PORB
 PCL
 TRISA
 TRSB
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA

 Editar el programa en la dirección 0x1000 y ejecutar el programa del menú principal elegir la
opción debugger y seleccionar la herramienta
Dirección Instrucción TRISA TRISB PCL W PORTA PORTB
001000 Mai movlw 0x0f 0x3f 0xFF 0x00 0X30 0X00 0X30
n:
001002 movwf ADCON1 0x3f 0xFF 0x02 0X0F 0X00 0X30
001004 movwf TRISA 0x3f 0xFF 0x06 0X0F 0X00 0X30
001006 movlw 0x00 0x3f 0xFF 0x08 0X0F 0X00 0X30
001008 movwf TRISB 0x3f 0xFF 0x0A 0X0F 0X00 0X30
00100ª
NOTA: EN ESTE CASO EL PROGRAMA TENIA UNA INSTRUCCIÓN MAS POR LO CUAL EL
REGISTRO PCL SALTA POR DOS INSTRUCCIONES
 en la opción debugger seleccionar stimulus en la columna de pin register seleccione RA0
RA1 RA2 RA3
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA
Se debe osbervar que PORTA cambia al seleccionar RA0 RA1 RA2 RA3
ESTADOS ASIGNADOS A PORTA
RA0 Set high
RA1 Set low
RA2 Set low
RA3 Set low

DIRECCION INSTRUCCIÓN TRISA TRISB PCL W PORTA PORTB


00100C Leer: movf porta 0x0f 0x00 0x0c 0X00 0X00 0X30
00100C addlw 0x30 0x0f 0x00 0X0E 0X00 0X00 0X30
001010 movwf portb 0x0f 0x00 0X10 0X30 0X00 0X30
001012 goto leer 0x0f 0x00 0X12 0X30 0X00 0X30

ESTADOS ASIGNADOS A PORTA


RA0 Set low
RA1 Set high
RA2 Set low
RA3 Set high

DIRECCION INSTRUCCIÓN TRISA TRISB PCL W PORTA PORTB


00100C Leer: movf porta 0x0f 0x00 0x0c 0X31 0X0A 0X31
00100C addlw 0x30 0x0f 0x00 0X0E 0X01 0X0A 0X31
001010 movwf portb 0x0f 0x00 0X10 0X31 0X0A 0X31
001012 goto leer 0x0f 0x00 0X12 0X31 0X0A 0X3A
ESTADOS ASIGNADOS A PORTA

RA0 Set high


RA1 Set low
RA2 Set high
RA3 Set low

DIRECCION INSTRUCCIÓN TRISA TRISB PCL W PORTA PORTB


00100C Leer: movf porta 0x0f 0x00 0x0c 0X0A 0X0A 0X3A
00100C addlw 0x30 0x0f 0x00 0X0E 0X05 0X0A 0X3A
001010 movwf portb 0x0f 0x00 0X10 0X35 0X0A 0X3A
001012 goto leer 0x0f 0x00 0X12 0X35 0X0A 0X35
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA
ESTADOS ASIGNADOS A PORTA
RA0 Set low
RA1 Set high
RA2 Set high
RA3 Set low

DIRECCION INSTRUCCIÓN TRISA TRISB PCL W PORTA PORTB


00100C Leer: movf porta 0x0f 0x00 0x0c 0X35 0X00 0X35
00100C addlw 0x30 0x0f 0x00 0X0E 0X06 0X00 0X35
001010 movwf portb 0x0f 0x00 0X10 0X36 0X00 0X35
001012 goto leer 0x0f 0x00 0X12 0X36 0X00 0X36

COCLUCIONES
se puede observar el cambio en los registros PORTB Y W debido a que es en PORTB donde se
traslada la suma de ox30 podemos ver cómo va incrementando los datos en PORTB y como los
registros TRISA Y TRISB NO se involucran en el programa
BIBLIOGRAFÍA
Manual del pic 18f4550
Introducción a los microcontroladores, José Adolfo González V., McGraw Hill
. www.microchip.com
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA

S-ar putea să vă placă și