Sei sulla pagina 1di 14

Prctica 1.

Manejo de puertos digitales

Laboratorio de Microprocesadores y
Microcontroladores

UNAM FES Aragn

En esta prctica se presentar al alumno las herramientas en


hardware y software usadas en el diseo e implementacin de
aplicaciones con microcontroladores PIC. Adems, se realizar la
compilacin, simulacin e implementacin de un proyecto enfocado a
la configuracin y manejo de puertos digitales de entrada-salida.

Universidad Nacional Autnoma de Mxico


Facultad de Estudios Superiores Aragn
Laboratorio de Microprocesadores y
Microcontroladores
Prctica 1

Contenido
Descripcin .......................................................................................................................................3
Objetivos ..........................................................................................................................................3
Objetivos Especficos................................................................................................................. ..3
Introduccin ................................................................................................................................... 4
Trabajo en casa ...............................................................................................................................7
Material y equipo de laboratorio .................................................................................................8
Trabajo en laboratorio ..............................................................................................................................8
Problema de diseo .................................................................................................................. .8
Anlisis y Diseo........................................................................................................................ ..9
Desarrollo. Captura y compilacin ..............................................................................................9
Desarrollo. Validacin mediante simulacin..............................................................................10
Desarrollo. Armado del circuito .................................................................................................10
Implementacin .........................................................................................................................10
Resultados .................................................................................................................................11
Referencias ...............................................................................................................................11
Bibliografa .................................................................................................................................11
Mesografa ................................................................................................................................11
Anexo 1..........................................................................................................................................12
Cdigo fuente .............................................................................................................................12
Anexo 2...........................................................................................................................................13
Circuito prctica 1 .....................................................................................................................13
Anexo 3...........................................................................................................................................14
Fuente de 5V ..............................................................................................................................14

Prctica 1. Manejo de puertos


digitales
Descripcin
En esta prctica se presentar al alumno las herramientas en hardware y
software usadas en el diseo e implementacin de aplicaciones con
microcontroladores PIC como son entornos de desarrollo, simuladores,
compiladores, simuladores y programadores.
El proyecto a realizar consiste en una solucin basada en un
microcontrolador PIC16F887 que realiza el clculo del complemento a dos
de una entrada digital de 8 bits.
Los datos se introducirn a travs de un dipswitch y el resultado se
visualizar en un 8 leds.

Figura 1. Ejemplo de circuito con microcontrolador PIC16F887 armado.

Objetivos
Presentar al alumno las herramientas en hardware y software usadas
en el diseo e implementacin de aplicaciones con microcontroladores
PIC. Adems, se realizar la compilacin, simulacin e implementacin
de un proyecto enfocado a la configuracin y manejo de puertos
digitales de entrada-salida.

Objetivos Especficos
Presentar al alumno las generalidades de la arquitectura de los
microcontroladores PIC de gama media a travs de la arquitectura de
un microcontrolador 16F887.

Presentar al alumno el uso de herramientas en software como MPLAB


IDE, MPLAB SIM para el diseo y simulacin de aplicaciones.
Presentar al alumno el uso de herramientas en hardware como
programadores y armado de circuitos en protoboard para la
implementacin de soluciones.
Analizar y entender un cdigo fuente en lenguaje ensamblador para un
microcontrolador PIC16F887 para el control de puertos digitales.

Introduccin
Un microprocesador es un dispositivo electrnico que posee generalmente
slo la Unidad Central de Proceso (CPU). Para funcionar, el
microprocesador necesita de circuitos externos que le permitirn realizar el
control de procesos para el que fue programado, a estos elementos se les
llama sistema mnimo.
Se dice que el microprocesador tiene una arquitectura abierta porque
dependiendo del sistema a controlar, podemos variar las caractersticas de
los elementos que se conectan al microprocesador.
En este caso, un sistema mnimo para un microprocesador de aplicacin
general est formado por:
Memoria de Programa. Una memoria permanente donde se
almacenan las instrucciones para el control del proceso o
programa.
Memoria de datos. Una memoria de tipo voltil que es usada para
almacenar datos del programa del usuario.
Oscilador principal. Un circuito que genera un pulso constante para
sincronizar las actividades del microprocesador.
Puertos de entrada y salida. Los circuitos integrados que permitirn
que el microprocesador se conecte a otros perifricos como
teclado, pantalla, impresora, alarma, sensores de temperatura, etc.
(puertos de entrada y salida).
Al unir todos estos elementos a un microprocesador obtenemos una
computadora digital.

Figura 2. Diagrama a bloques de una computadora digital.


Los microcontroladores son circuitos integrados que incluyen las unidades
funcionales de una computadora digital: unidad central de proceso (UCP),
memoria y puertos de entrada/salida, todo en un mismo chip.
Una vez programado, el microcontrolador se encargar de controlar uno o
varios procesos. Ya que todos los elementos que necesita para trabajar se
encuentran dentro del mismo circuito integrado, se dice que es una
arquitectura cerrada y una vez programado es de propsito especfico.
Los microcontroladores PIC tienen una arquitectura Harvard RISC de 8 bits,
con un procesador ortogonal-segmentado (pipe-line). Microchip ofrece una
gran cantidad de modelos de microcontroladores los cuales divide en
familias como enana, bsica, media y alta, dependiendo de las
caractersticas de cada modelo; adems de ofrecer gran cantidad de
informacin para desarrollar aplicaciones con sus microcontroladores y de
herramientas de desarrollo en hardware y software de bajo costo.
El PIC16F887 tiene tres unidades de memoria:
Memoria de instrucciones. En esta memoria se almacena el programa
que ser ejecutado por el microcontrolador. En el caso del PIC 16F887
tiene un tamao de 8Kx14 y es una memoria de tipo FLASH. Esta
memoria suele ser usada de slo lectura, es decir como una memoria
ROM, pero implementa un procedimiento que permite ser programada
durante la ejecucin del programa, por lo que pueden usarse regiones
libres para almacenar datos de usuario que persistirn a pesar de que
se pierda la alimentacin elctrica. Esta caracterstica permite tambin
el cargado de un nuevo programa o secciones del programa a travs
de un puerto de comunicaciones sin necesidad de un grabador o
programador
Memoria de datos (RAM). Esta memoria es una memoria de tipo RAM
usada para datos de usuario. En la memoria RAM existen bits de

propsito especfico usados para la configuracin y estado de la


arquitectura del microcontrolador y de sus dispositivos perifricos que
incorpora. Cada registro tiene un tamao de 8 bits.
Memoria de datos (EEPROM). Esta memoria es usada para guardar 256
registros de 8 bits con datos de usuario que no se perdern aun
cuando la alimentacin elctrica se suspenda.
En particular, la memoria RAM consiste en dos bloques conocidos como
registros de propsito general y registros con funciones especficas. Estas
secciones se distribuyen a lo largo de la memoria que a su vez es dividida en
4 bancos numerados desde el banco 0 hasta el banco 3 como se aprecia en
la figura 2.
Los registros de propsito general se utilizan para almacenar datos de
usuario, es decir valores temporales que son resultado de operaciones
previas. En un lenguaje de alto nivel, el uso de registro de propsito general
equivaldra al lugar donde se almacena el valor de una variable.
Los microcontroladores PIC tienen una arquitectura basada en bancos de
registros, esto es, los elementos usados tanto para el control como para el
estado de la CPU y de los perifricos estn implementados como registro en
la memoria principal. Estor registros son los que llamamos registros con
funciones especficas.
Estos registros no deben ser usados para almacenar datos de usuario ya
que el contenido de cada registro modifica la configuracin de algn
elemento de la arquitectura como puede ser el encendido o apago de los
temporizadores, el convertidor analgico digital o algn puerto de
comunicaciones digitales, lo que podra interferir con el correcto
funcionamiento del sistema. Ejemplos de registros con funcin especfica
son los registros STATUS, TRISB y PORTB.
Antes de poder leer o escribir un registro es importante seleccionar el
banco donde este registro se encuentra. Como se aprecia en la figura 2, los
registros SFR utilizados ms frecuentemente poseen una copia en dos o
ms bancos, por lo que no importa en qu banco estemos localizados, ser
posible modificar su contenido.
Para realizar una seleccin de un banco es necesario modificar el contenido
de dos bits del registro STATUS, los bits RP1 y RP0 segn se muestra en la
tabla 2.
RP1
0
0
1
1

RP0
0
1
0
1

Banco
0
1
2
3

Figura 2. Distribucin de bancos de la memoria RAM.


Para modificar

Trabajo en casa
El cuestionario se encuentra en lnea en la pgina www.proyectolati.org aula virtual-

Material y equipo de laboratorio


Equipo de cmputo con el siguiente software y caractersticas
MPLAB IDE de Micropchip 8.6 o superior
Acceso a internet
Memoria USB
Fuente de 5 volts
Programa practica1.asm
Protoboard
PIC16f887
8 resistencias de 470
8 LEDs o una barra de LEDs
Dipswitch de 8 interruptores
Cable calibre 22 o 24 colores rojo, azul, naranja y amarillo

Figura 3. Material para la prctica 1.

Trabajo en laboratorio
Problema de diseo
Como parte de un sistema de deteccin de errores es necesario contar con
un mecanismo de complemento a dos. Los datos son ingresados por un bus
de 8 bits, son procesados y posteriormente son lanzados a un nuevo bus a
la siguiente etapa del sistema de deteccin. Disea un programa en
lenguaje ensamblador para un microcontrolador PIC16F887 que lea 8 bits a
travs del puerto B y entregue su complemento a dos a travs del puerto D.
Posteriormente, prueba tu programa en el simulador MPLAB SIM e
implementa tu circuito fsicamente para su validacin.

Anlisis y diseo
1.

Identifica la distribucin de las terminales en el diagrama del


microcontrolador PIC16F887 del puerto B y del puerto D, as como
las terminales dedicadas a la alimentacin del circuito.
2. Comenta con sus compaeros como se realiza la configuracin del
puerto B como entrada digital y del puerto D como salida digital.
3. Comenta con sus compaeros como se calcula el completo a dos de
un nmero binario.
4. Describe ms detalladamente el diagrama de flujo para el problema
de diseo planteado considerando la configuracin de puerto y el
proceso de conversin a complemento a dos con base en el
siguiente diagrama.

Figura 4. Diagrama de flujo de mayor nivel de abstraccin.

Desarrollo. Captura y compilacin


1. Crea una carpeta llamada <practicas microcontroladores> en la
unidad C y dentro de ella crea una carpeta llamada <practica 01>.
2. Crea un proyecto en MPLAB IDE llamado practica 01 dentro de la
ruta <c:\practicas microcontroladores\practica 01> usando el asistente de
proyectos (Project Wizard).
3. Crea y agrega al proyecto un nuevo archivo de cdigo fuente
llamado <main.asm> y captura el cdigo fuente de la prctica 1
descrito en el anexo 1 y guarda tu archivo.
4. Compila el proyecto presionando F10. Si existen errores revise su
cdigo fuente y corrija los errores hasta que el programa sea
compilado con xito.

Desarrollo. Validacin mediante simulacin


1. Activa el simulador MPLAB SIM en el men <Debugger Select
tool MPLAB SIM>.
2. Abre la ventana watch desde el men <View watch> y agrega
los registros en la lista de smbolos:
a. STATUS
b. PORTB
c. TRISB
d. PORTD
e. TRISD
f. WREG
g. ANSELH
3. Crea una nueva ventana del generador de estmulos asncronos
desde el men <Debugger Stimuls New Work Book> y agrega
los pines desde RB0 hasta RB1 con la accin <Set High> y
nuevamente los mismos pines con la accin <Set Low>.
4. Realiza la simulacin paso a paso del programa presionando F8
mientras visualizas el cdigo fuente y la ventana watch. Analiza el
contenido de cada smbolo de la ventana watch y comenta cual es
el estado o configuracin del microcontrolador.
5. Realiza la simulacin de entradas digitales a travs del puerto B
presionando en el botn correspondiente en el generador de
estmulos asncronos mientras sigue simulando paso a paso con F8.
6. Valida que el programa de la prctica 1 lea 8 bits del puerto B y
refleja la lectura en el puerto D.

Desarrollo. Armado del circuito


1. Arma el circuito que se muestra en el anexo 2.
2. Programa tu microcontrolador con el cdigo de ejecutable
3. Alimenta tu circuito con 5V cuidando la correcta polarizacin.
Puedes armar una fuente de 5V tomando como base el diagrama
del anexo 3.
4. Valida la correcta operacin de tu circuito. Si su circuito no
funciona correctamente comprueba la alimentacin con un
multmetro, de persistir la falla comprueba la directiva
config
para que sta tenga configurado el oscilador interno y
deshabilitados el botn de reinicio (NOMCLR), el perro guardin
(NOWDT) y bajo voltaje de programacin (NLPV) particularmente,
compila y programa nuevamente.

Implementacin
1.

Modifica el programa de la prctica 1 para que calcule el


complemento a dos del dato ledo en el puerto B y el resultado lo
entregue en el puerto D.
2. Realiza la simulacin del nuevo programa.

10

3. Programa tu microcontrolador con la nueva versin del programa.

Resultados
1. Captura dos pantallas de la simulacin donde se muestre el
funcionamiento del programa y gurdalas en una memoria USB. Las
capturas debern mostrar la ventana watch con los valores
calculados del complemento a dos.
2. Toma una fotografa de la operacin del circuito.
3. Realiza un documento escrito que contenga los siguientes
elementos:
a. Cartula: Deber incluir
i. Institucin
ii. Nmero de prctica
iii. Nombre de la prctica
iv. Nombre del alumno
v. Horario
vi. Fecha de entrega
b. Objetivos: Particular y especficos
c. Descripcin de la prctica: Trabajo realizado en clase
d. Resultados obtenidos:
i. Parciales o totales obtenidos de la realizacin de la
prctica
ii. Problemas circunstanciales del desarrollo de la
prctica
e. Conclusiones

Referencias
Bibliografa
ANGULO J. (2000). Microcontroladores PIC. Espaa. Paraninfo.
GONZALEZ J. (1992).Introduccin a los Microcontroladores. Espaa.
Graw-Hill.
MYKE P. (2001). Programming and Customizing the PIC
Microcontroller. McGraw-Hill. Mxico.
PALACIOS E. (2006). Microcontrolador PIC16F84, Desarrollo de
proyectos Mxico: Alfaomega Ra-Ma.
TAFANERA A. (2000). Teora y diseo con Microcontroladores PIC.
Mxico. Autores Editores.
TORRES P. (1994). Microprocesadores y Microcontroladores Aplicados
a la Industria. Madrid. Paraninfo.

Mesografa
Microchip (2011) http://microchip.com

11

Anexo 1
Cdigo fuente
CONFIG _CONFIG1, _INTOSCIO & _MCLRE_OFF & _WDT_OFF &
_LVP_OFF & _CPD_OFF & _CP_OFF & _BOR_OFF & _PWRTE_ON &
_FCMEN_OFF & _IESO_OFF
LIST P=16F887
#INCLUDE <P16F887.INC>
ORG 00h
Inicializacion
BCF STATUS, RP1
BSF STATUS, RP0
MOVLW b'11111111'
MOVWF TRISB
MOVLW b'00000000'
MOVWF TRISD
BSF STATUS, RP1
BSF STATUS, RP0
CLRF ANSELH
BCF STATUS, RP1
BCF STATUS, RP0

;Cambio al banco 1

CLRF

;Borra el Registro del Puerto D

PORTD

;Configurar puerto B como entrada


;Configurar puerto D como salida
;Cambio al banco 3
;Puerto B configurado como digital
;Cambio al Banco 0

Principal
MOVF PORTB, W
MOVWF PORTD
GOTO Principal
END

12

;Mueve el contenido de PORTB a W


;Mueve el contenido de W a PORTD

Anexo 2
Circuito prctica 1

13

Anexo 3
Fuente de 5V

Material

14

Batera 9V o eliminador 12V


1 Resistencia de 470
1 LED rojo
1 Capacitor de 100uF
2 Capacitores de 0.1uF
1 Regulador de Voltaje 7805

Potrebbero piacerti anche