Anda di halaman 1dari 15

BENEMRITA UNIVERSIDAD AUTNOMA DE PUEBLA

MATERIA:
DESARROLLO DE SISTEMAS BASADOS
EN MICROCONTROLADORES Y DSPs

CARRERA:
INGENIERA EN MECATRNICA

PRCTICA 1:

MICROCONTROLADORES PIC18

EQUIPO 11:
EDUARDO DE LA LUZ GONZALEZ

FLORES PEREZ KARLA JOCELYN

CATEDRTICO:
M.C. NICOLAS QUIROZ HERNANDEZ

OTOO 2017
INTRODUCCIN
Antes de la aparicin de los microprocesadores y posteriormente de los
microcontroladores, los diseos de los circuitos electrnicos eran enormes y
requeran gran cantidad de clculos matemticos y la implementacin de muchos
componentes, tales como resistencias, transistores, entre otros; pero ahora con los
microprocesadores, por su parte, son un solo dispositivo que internamente contiene
todo lo necesario para poder llevar a cabo sus acciones. Este contiene su propio
CPU, memorias RAM y ROM y dispositivos de entrada y salida. Por lo tanto, es
superior al microprocesador debido a su reducido tamao y capacidad de ser
implementado en circuitos electrnicos.

OBJETIVOS
GENERAL:
Aplicar la teora aprendida en la clase de Microcontroladores hacia la prctica para
conocer el principio del uso de los microcontroladores y como implementarlos para
mejores usos.

ESPECFICOS:
Identificar las caractersticas de los microcontroladores (uC) PIC de la familia
PIC18.
Identificar los pines del PIC18F4550.
Analizar el funcionamiento de los puertos, oscilador y reset.
Conectar el circuito de reset (MClr) del PIC.
Identificar el software MPLAB en lenguaje ensamblador.
Realizar un programa en lenguaje ensamblador para sumar dos datos de 4
bits (Puerto B) y mostrar el resultado en 5 leds conectados en puerto D.
Realizar la simulacin del cdigo en ensamblador.
Simular en el software Proteus el circuito completo.
Programar el microcontrolador (Pickit2, ICD2, Master-Pro, etc.)

Conocimiento previo
Conocimientos de la arquitectura del PIC18F4550 y de su conjunto de
instrucciones. Manejo de puertos, Reset y oscilador.
Conocimientos de circuitos electrnicos (leds).
Manejo del software MPLAB y PROTEUS.
MARCO TERICO

Un microcontrolador es un circuito integrado digital monoltico que contiene todos


los elementos de un procesador digital secuencial sncrono programable de
arquitectura Harvard o Princeton (Von Neumann), est especialmente orientado a
tareas de control y comunicaciones.

Ventajas de los microcontroladores PIC de Microchip:

Amplia gama: gran variedad de familias que permiten adaptar el uC a las


necesidades de cada aplicacin.
Gran variedad de unidades funcionales embebidas (temporizadores, USART,
I2C, SPI, unidades de comparacin/captura/PWM, Convertidores A/D, USB,
receptores/transmisores de RF, Ethernet, etc.).
Precios competitivos.
Buen soporte (datasheet, libros, notas de aplicacin, seminarios, mucha
informacin disponible en internet).

Caractersticas fundamentales:

Arquitectura RISC avanzada Harvard: 16- bit con 8- bit de datos.


77 instrucciones.
Desde 18 a 80 pines.
Hasta 64K bytes de programa (hasta 2 Mbytes en ROMless).
Multiplicador Hardware 8x8.
Hasta 3968 bytes de RAM y 1KBytes de EEPROM.
Frecuencia mxima de reloj 40Mhz. Hasta 10 MIPS.
Pila de 32 niveles.
Mltiples fuentes de interrupcin
Perifricos de comunicacin avanzados (CAN y USB).
Tabla 1: Caractersticas de la familia PIC18.

Imagen 1: Diagrama de bloques del PIC18.


Imagen 2: Asignacin de pines del PIC18F4550(55).

ARQUITECTURA DEL PIC18F4550


La arquitectura de un microcontrolador permite definir la estructura de su
funcionamiento, las dos arquitecturas principales usadas en la fabricacin de
microcontroladores son: arquitectura de Von Neumann y arquitectura Harvard.
Adems, estas arquitecturas pueden tener procesadores de tipo CISC o de tipo
RISC.
Para el caso del microprocesador PIC18F4550, dispone de buses diferentes para el
acceso a memoria de programa y memoria de datos (Arquitectura Harvard):
Bus de la memoria de programa:
21 lneas de direccin.
16/8 lneas de datos (16 lneas para instrucciones/8 lneas para datos).
Bus de la memoria de datos:
12 lneas de direccin.
8 lneas de datos.
Esto permite acceder simultneamente a la memoria de programa y a la memoria
de datos. Es decir, se puede ejecutar una instruccin (lo que por lo general requiere
acceso a memoria de datos) mientras se lee de la memoria de programa la siguiente
instruccin (proceso pipeline).
MEMORIA DEL PIC18F4550
El C PIC18F4550 dispone de las siguientes memorias:
Memoria de programa: memoria flash interna de 32.768 bytes.
o Almacena instrucciones y constantes/datos.
o Puede ser escrita/leda mediante un programador externo o durante
la ejecucin programa mediante unos punteros.
Memoria RAM de datos: memoria SRAM interna de 2048 bytes en la que
estn incluidos los registros de funcin especial.
o Almacena datos de forma temporal durante la ejecucin del
programa.
o Puede ser escrita/leda en tiempo de ejecucin mediante diversas
instrucciones.
Memoria EEPROM de datos: memoria no voltil de 256 bytes.
o Almacena datos que se deben conservar aun en ausencia de tensin
de alimentacin.
o Puede ser escrita/leda en tiempo de ejecucin a travs de registros.
Pila: bloque de 31 palabras de 21 bits.
o Almacena la direccin de la instruccin que debe ser ejecutada
despus de una interrupcin o subrutina.
Memoria de configuracin: memoria en la que se incluyen los bits de
configuracin (12 bytes de memoria flash) y los registros de identificacin (2
bytes de memoria de slo lectura).
MEMORIA DEL PROGRAMA
El C PIC18F4550 dispone una memoria de programa de 32.768 bytes de
memoria de (0000H-7FFFH). Las instrucciones ocupan 2 bytes (excepto
CALL, MOVFF, GOTO y LSFR que ocupan 4). Por lo tanto la memoria de
programa pueden almacenar hasta 16.384 instrucciones.
La operacin de lectura en posicin de memoria por encima de 7FFFH da
0como resultado (equivalente a la instruccin NOP).
Direcciones especiales de la memoria de programa.
o Vectorizacin del Reset es 0000H.
o Vectorizacin de las interrupciones de alta prioridad es la 0008H.
o Vectorizacin de las interrupciones de baja prioridad es la 0018H.
ALMACENAMIENTO DE INSTRUCCIONES EN LA MEMORIA DEL PROGRAMA.
Primero se almacena la parte baja de la instruccin y luego la parte alta (para
las instrucciones de 4 bytes primero los bytes menos significativos y luego
los ms significativos).
Las instrucciones siempre empiezan en direcciones pares.
MEMORIA DE DATOS.
El C PIC18F4550 dispone una memoria RAM de datos 2.048 bytes (8
bancos de 256 bytes). Adems dispone de 160 bytes dedicados a los
registros de funcin especial (SFRs) situados en la parte alta del banco 15.
Para acceder a un byte de la memoria RAM de datos primero debe
seleccionarse el banco al que pertenece el byte mediante el registro de
seleccin de banco (BSR) y a continuacin direccionar el byte dentro del
banco.

DESARROLLO
Material y Equipo requerido
1 PIC18F4550
5 Leds
5 Resistencias de 330
1 Resistencia de 10 K
1 dipswitch de 8
1 Tablilla de experimentos (Breadboard)
1 Fuente de 5 V
1 Multmetro
1 Programador
1 Computadora
1 Software MPLAB, Proteus y software del programador (PICKit).

Algoritmo
Para comenzar con el desarrollo de esta practica, es poner de manera clara los
objetivos de la prctica a realizar, y siguiendo los proceso de programacin como
comnmente, se necesita desarrollar el diagrama de flujo del seguimiento de
nuestro algoritmo para poder facilitar hacer el cdigo a la hora de programar.
INICIO

Configuracin de bits

Oscilador 4 MHz

Configuracin del Puerto B como entrada

Configuracin del Puerto D como salida

Leer Puerto B

Separar en 2 operandos Op1 y Op2 en Puerto B

Sumar Op1 y Op2

Puerto D Suma

Simulacin en MPlab
1. Lo primero que tenemos que hacer es abrir el programa MPLAB, el cual
podemos bajar gratuitamente de la pgina de Microchip.

Imagen 3. Inicio de proyecto de MPLAB.


2. Despus de abrir el programa, nos vamos a al men Project y damos clic
en la opcin `Project Wizard y se nos aparecer la siguiente ventana; y
daremos clic en siguiente. En la siguiente ventana que aparece debemos
elegir el tipo de microcontrolador que vayamos a utilizar, que en nuestro caso
ser el PIC18F4550, y damos clic en siguiente.
3. Despus en la ventana que sigue solo tenemos que ver que estn
seleccionadas las opciones Microchip MPASM Toolsuite y la de MPASM
Assembler (mpasmwin.exe), despus de verificar esto damos clic en
siguiente.
4. En la siguiente ventana solo debemos ponerle un nombre al proyecto y elegir
la carpeta o lugar de donde deseemos guardarlo, despus damos clic en
siguiente dos veces y por ultimo Finish.
Para poder empezar a escribir un nuevo cdigo (en este caso en ensamblador), lo
que tenemos que hacer es dar clic en la opcin New File y se aparecer la ventana
en blanco donde podremos comenzar a escribir el cdigo de ensamblador.

Imagen 4. Plantilla para configurar el PIC18F4550.

Agregamos la plantilla proporcionada por el profesor para este PIC18F4550. La


guardamos con el nombre de PIC18F4550.asm. En este apartado ingresamos las
directivas de cmo se debe ensamblar.
Para compilar el programa damos clic en la pestaa Project > Build All>Clic en
Relocatable
En nuestra carpeta del programa se creara un archivo Primer.hex cuando se
compile exitosamente, que ser el ejecutable para nuestro PIC18F4550.
Ya elaborado nuestro programa en MPLAB se dispone hacer la simulacin en
proteus de nuestro circuito.
Simulacin en Proteus
Una vez hecho y simulado el programa en MPLAB, procedemos a hacer la
simulacin del circuito antes de programar el PIC y conectarlo en la tablilla de
experimentos, para eso utilizaremos el software Proteus, donde procederemos a
buscar los componentes que necesitaremos que en nuestro caso sern:
PIC 18F4550
Resistencias de 10K y 330
Dip Switch de 8
Fuente de 5V.
5 Leds.
Los cuales podemos encontrar presionando el botn P de la izquierda y se abrir
una ventana donde solo hay que escribir el nombre del componente y seleccionar
el adecuado.
Despus de que ya hemos seleccionado los componentes necesarios, pasamos a
conectarlos de acuerdo al diagrama siguiente.
Imagen 5. Conexiones en Proteus del PIC18F4550.

Ahora solo falta programar el PIC y comenzar la simulacin, para eso lo nico que
tenemos que hacer es dar clic sobre el PIC y se abrir una ventana, donde
debemos elegir de donde hayamos guardado el archivo generado por MPLAB con
la extensin .hex, despus damos clic en OK y listo ya podemos hacer nuestra
simulacin de nuestro programa.

Programacin el PIC
Existen varios software para programar el microcontrolador (Pickit2, ICD2, Master-
Pro, etc.), en nuestro caso se utiliz el Pickit2 el cual viene con el programador o
se puede descargar gratuitamente de la red[1]. Una vez instalado el programa,
conectamos el cable USB a nuestro ordenador y a nuestro programador y
ejecutamos el software instalado, se nos aparecer la siguiente pantalla.

Imagen 6. Interfaz del Pickit 2.


Teniendo correctamente conectado el PIC en la tarjeta del programador se pulsa
la pestaa Tools y del men despegable se selecciona Check Comunication
para verificar la comunicacin del PIC y el software.

Imagen 7. Verificacin de la Comunicacin.

Tras realizar esto el programador nos otorga informacin sobre el tipo de PIC y se
habilitara el botn Read que nos servir para leer la memoria del PIC, el botn
Write el cual una vez cargado el programa deseado en el buffer del software nos
servir para proceder a programar nuestro PIC, el botn Verify sirve para
verificar el PIC conectado, el botn Erase nos sirve para borrar la memoria del
PIC y dejarlo en blanco y por ultimo; el botn Blank Check se utiliza para
corroborar que el PIC conectado realmente est en blanco.
Despus de hacer todo lo anterior, para programar un cdigo previamente creado
es necesario pulsar la pestaa File y en el men seleccionamos Impor Hex;
despus solo hay que elegir el archivo a programar de donde lo hayamos
guardado.

Imagen 8. Eleccin del cdigo.

Una vez realizado esto podremos observar que el cdigo se carg correctamente
y por ultimo procedemos a grabar el PIC pulsando el botn Write, y listo el PIC
ya est programado.
Imagen 9. Grabacin del PIC.

RESULTADOS OBTENIDOS
Se muestran las siguientes imgenes resultantes tras seguir lo explicado en el
desarrollo.
Conforme a lo explicado anteriormente, se obtuvieron los resultados de manera
correcta.
CONCLUSIONES
Como primera observacin, la parte para programar el PIC lo realiz el profesor en
la clase por lo que las imgenes del procedimiento las obtuvimos del proceso de
otra programacin de PIC y no del nuestro.
Dentro de lo explicado en la clase y lo implementado en la prctica, se obtuvieron
con xito los resultados deseados, no hubo problemas a la hora de ejecutar los
programas. Cabe resaltar que la prctica que se realiz introduce de manera muy
til al tema de Microcontroladores y como utilizarlos en la prctica, teniendo en
cuenta que cuando se avance, ir teniendo una mayor complejidad los programas
a disear.

REFERENCIAS
[1] Software-informer, Pickit2, Septiembre 2017. [Online] Available:
http://pickit2.software.informer.com/download/
[2] Microchip, MPLAB IDE Archives, Semptiembre 2017. [Online] Available:
http://www.microchip.com/pagehandler/en-us/devtools/dev-tools-parts.html
[3] DatasheetCatalog, PIC18F4550, Semptiembre 2017. [Online] Available:
http://ww1.microchip.com/downloads/en/devicedoc/39632c.pdf
[4] Microchip. (2006). PIC18F2455/2550/4455/4550 DataSheet. Septiembre 2017, de Microchip
Technology Inc. Sitio web: http://ww1.microchip.com/downloads/en/devicedoc/39632c.pdf

Anda mungkin juga menyukai