0% encontró este documento útil (0 votos)
645 vistas29 páginas

Encender LED con PIC18F4550 y botón

Este documento presenta la práctica número 1 de la asignatura Microprocesadores e Interfaces de la Facultad de Ciencias de la Computación de la BUAP. El objetivo es encender un LED a través de un botón pulsador utilizando el microcontrolador PIC18F4550. Se describe el hardware, software y procedimiento para programar el PIC18F4550 en ensamblador usando MPLAB y simular el circuito en Proteus.

Cargado por

Adrián Juárez
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
645 vistas29 páginas

Encender LED con PIC18F4550 y botón

Este documento presenta la práctica número 1 de la asignatura Microprocesadores e Interfaces de la Facultad de Ciencias de la Computación de la BUAP. El objetivo es encender un LED a través de un botón pulsador utilizando el microcontrolador PIC18F4550. Se describe el hardware, software y procedimiento para programar el PIC18F4550 en ensamblador usando MPLAB y simular el circuito en Proteus.

Cargado por

Adrián Juárez
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Benemrita Universidad Autnoma de Puebla

Facultad de Ciencias de la Computacin

Prctica No. 1
Encender un led a travs de un push botton con el PIC18F4550
01/02/2013

Programa Educativo
Microprocesadores e Interfaces

Docente
M.C. Nicols Quiroz Hernndez

Perodo
Primavera 2013

Integrantes del Equipo


Nayeli Prez Torres Felicitas Martnez Martn Miriam Luna Prez Adrin Alfonso Jurez Hernndez Luis Daniel Oidor Jurez 200725645 200724939 200633306 200826219 200722955

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Prctica No. 1

Laboratorio de Nombre de la Prctica

Microprocesadores e Interfaces Encender un Led a travs de un push botton con el PIC18F4550

Introduccin

Encenderemos un led a travs del microcontrolador PIC18F4550 de la empresa Microchip que est programado en ensamblador, con el propsito de conocer la arquitectura del mismo y realizar todo el desarrollo en MPLAB y la simulacin en PROTEUS. Con esta prctica estaremos aplicando los conocimientos ya expuestos en clase de acuerdo al programa educativo, donde se hace referencia a las caractersticas bsicas de la familia PIC18F, como est constituido este microcontrolador, la organizacin interna que tiene y la estructura, as como el manejo de interrupciones, el conjunto de instrucciones que contiene este microcontrolador, sus mtodos de direccionamiento y la estructura de programacin bsica como lo es ensamblador.

Objetivos Identificar y conocer las caractersticas de los microcontrolador PIC18F4550. Ubicar los pines del PIC18F4550 e identificar sus funciones (Puertos, Oscilador, AD, PWM, Tx, Rx). Identificar los pines VDD, VSS, ~MCLR, PGD y PGC para programar el microcontrolador. Conocer y manejar el software MPLAB para el desarrollo de proyectos, simular y programar un microcontrolador. Realizar un programa en ASM para encender y apagar un LED, conectado a RB0, mediante un push boton pulsador conectado a RB4. Realizar la simulacin del circuito en ISIS PROTEUS, cargando el archivo con la extensin .hex al PIC18F4550. Programar el microcontrolador mediante Pickit2

FCC-BUAP

Pgina 2

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Marco terico

En el siguiente imagen se muestran los puertos disponibles en el PIC18F4550, sus ubicaciones y las posibles funciones de cada pin.

Figura 1. Diagrama de pines del PIC18F4550

En la siguiente tabla estn las instrucciones en ensamblador para programar el microcontrolador.

FCC-BUAP

Pgina 3

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Figura 2. Conjunto de instrucciones del PIC18F4550


FCC-BUAP Pgina 4

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Hemos visto que un microcontrolador es considerado como una computadora, pues posee una ALU (Unidad de Aritmtica y Lgica), registros, buses y unidad de control, es decir tiene una CPU (Unidad Central de Procesamiento). La mayora de los dispositivos de lgica secuencial, entre ellos los CPU, son de naturaleza sncrona. Es decir, estn diseados y operan en funcin de una seal de sincronizacin. Esta seal, conocida como seal de reloj, usualmente toma la forma de una onda cuadrada peridica. Calculando el tiempo mximo en que las seales elctricas pueden moverse en las varias bifurcaciones de los muchos circuitos de un CPU, los diseadores pueden seleccionar un perodo apropiado para la seal de reloj. Para el correcto funcionamiento del microcontrolador debemos definir la frecuencia del oscilador pues determinar los ciclos de instruccin; podemos utilizar un oscilador interno o externo, sin embargo es recomendable utilizar un oscilador de cristal externo para evitar un mal funcionamiento frente a las variaciones de temperatura dentro del microcontrolador. A continuacin mostramos la tabla del registro de configuracin del oscilador.

Figura 3. Registro OSCCON para la configuracin del oscilador.

FCC-BUAP

Pgina 5

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Podemos ver que por default tiene cargado el valor: 0100 X000, pero para esta prctica se utilizar una frecuencia de 4MHz y, y trabajaremos con el oscilador interno, por lo cual tendremos que modificar los bits de configuracin a: 01100010= 62 hex.

Clculos
Dado que se configur el oscilador interno del microcontrolador a 4MHz, se tiene:

Ciclo de reloj:

Ciclo de instruccin:

Para limitar la corriente que circula por el LED se propone una resistencia de 330:

Y para limitar la corriente del pin de Reset y el botn pulsador a 0.5mA, utilizar una resistencia de 10k.

FCC-BUAP

Pgina 6

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

4 Desarrollo A

EQUIPO

MATERIAL - 1 PIC18F4550 - 3 LEDs, - 2 push botton - 1 resistencia de 330 - 2 resistencias de 10k - 1 oscilador de 4 MHz. DIAGRAMA

- Multmetro - Programador para PICs - Protoboard

U1
2 3 4 5 6 7 14 13 33 34 35 36 37 38 39 40 RA0/AN0 RC0/T1OSO/T1CKI RA1/AN1 RC1/T1OSI/CCP2/UOE RA2/AN2/VREF-/CVREF RC2/CCP1/P1A RA3/AN3/VREF+ RC4/D-/VM RA4/T0CKI/C1OUT/RCV RC5/D+/VP RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK RA6/OSC2/CLKO RC7/RX/DT/SDO OSC1/CLKI RB0/AN12/INT0/FLT0/SDI/SDA RB1/AN10/INT1/SCK/SCL RB2/AN8/INT2/VMO RB3/AN9/CCP2/VPO RB4/AN11/KBI0/CSSPP RB5/KBI1/PGM RB6/KBI2/PGC RB7/KBI3/PGD RD0/SPP0 RD1/SPP1 RD2/SPP2 RD3/SPP3 RD4/SPP4 RD5/SPP5/P1B RD6/SPP6/P1C RD7/SPP7/P1D RE0/AN5/CK1SPP RE1/AN6/CK2SPP RE2/AN7/OESPP RE3/MCLR/VPP 15 16 17 23 24 25 26

19 20 21 22 27 28 29 30 8 9 10 1

R2
10k

D1
LED-RED 18 VUSB PIC18F4550

R3
330

R1
10k

DESARROLLO DE LA PRCTICA Para el desarrollo de esta prctica vamos a crear un nuevo proyecto en MPLAB, y tambin creamos un nuevo archivo, el cual contendr toda la configuracin por software y el programa en ensamblador. Al terminar de codificar, vamos a compilar nuestro proyecto y si todo est correcto vamos a poder simular instruccin por instruccin en el simulador de MPLAB. Tambin al compilar si est bien nuestro programa nos va a generar un archivo con extensin .hex, con el cual vamos a programar el microcontrolador o en su caso se cargara en la simulacin hecha en PROTEUS. Conectamos el microcontrolador con todos los dems componentes para ver los resultados en forma real y podemos apreciar el funcionamiento del proyecto. A continuacin detallaremos como crear un nuevo proyecto en MPLAB y hacer una simulacin en PROTEUS, para que posteriormente se haga referencia de las siguientes prcticas a este punto de la creacin de un proyecto.

FCC-BUAP

Pgina 7

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Procedimiento en MPLAB:

Figura 4.1 Abrimos el programa MPLAB. Vamos a generar un proyecto nuevo, por lo cual vamos a la barra de herramientas y seleccionamos Project Project wizard.

Figura 4.2 Abrir el asistente


FCC-BUAP Pgina 8

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

El asistente para generar el proyecto nos va a dar la bienvenida y le damos en continuar.

Figura 4.3 Bienvenida del asistente Tenemos que seleccionar el PIC con el cual vamos a trabajar, por lo cual procedemos a buscar el PIC18F4550, una vez que ya lo seleccionamos damos click en siguiente.

Figura 4.4 Seleccin del PIC


FCC-BUAP Pgina 9

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Posteriormente seleccionaremos el Active Toolsuite Microchip MPASM Toolsuite, y damos en siguiente.

Figura 4.5 Seleccin del Active Toolsuite A continuacin proporcionaremos en nombre del proyecto y la carpeta de trabajo. Damos click en Browser

Figura 4.5 Browser para la carpeta de trabajo y nombre del proyecto

FCC-BUAP

Pgina 10

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Escogemos la carpeta de trabajo y proporcionamos el nombre de nuestro proyecto y damos click en guardar.

Figura 4.6 Asignar carpeta y nombre del proyecto Le damos siguiente y nos mostrara si queremos agregar a nuestro proyecto un archivo ya existente o podemos seguir sin agregar ningn archivo. Y proseguimos a darle siguiente.

Figura 4.7 Agregar archivos al proyecto


FCC-BUAP Pgina 11

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Y finalizamos el asistente.

Figura 4.8 Finalizar el asistente Ahora agregamos un nuevo archivo al proyecto.

Figura 4.9 Agregar un nuevo archivo al proyecto

FCC-BUAP

Pgina 12

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Le damos nombre con la extensin ASM y le decimos guardar.

Figura 4.10 Nombre al nuevo archivo del proyecto Vamos a ver que tenemos nuestro archivo vaco.

Figura 4.11 Archivo vaco

FCC-BUAP

Pgina 13

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Proseguimos a codificar en nuestro archivo.

Figura 4.12 Codificar Despus de haber terminado de programar, compilamos nuestro archivo.

Figura 4.13 Compilar


FCC-BUAP Pgina 14

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Cuando termina de compilar podremos ver si esta correcto o hay errores de sintaxis, en este caso nos indica que est correcto.

Figura 4.14 Estado de la compilacin Vamos a simular nuestro programa aqu en MPLAB, as que nos vamos a Debugger Select tool MPLAB SIM.

Figura 4.15 Simular en MPLAB


FCC-BUAP Pgina 15

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Con esto se van a desplegar nuevos iconos que nos van a permitir simular nuestro cdigo

Figura 4.16 Nuevos iconos para la simulacin Ahora seleccionamos Debugger Stimulus New workbook. Nos ayuda a introducir datos al microcontrolador

Figura 4.17 New workbook

FCC-BUAP

Pgina 16

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Vamos abrir el stop watch para poner en cero el conteo de instrucciones ejecutadas.

Figura 4.18 Abrir el stop watch Abrimos Settings que nos ayudar para poner la frecuencia del oscilador

Figura 4.19 Seleccionar settings

FCC-BUAP

Pgina 17

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Seleccionamos View Watch. Que esto nos servir nos ayudar a monitorear nuestros registros Por ahora podremos cerrar MPLAB y vamos a simular en PROTEUS si funciona nuestro programa, para realizar la simulacin vamos a realizar lo siguiente:

Procedemos a simular con el botn run.

Figura 4.20 Correr la simulacin

FCC-BUAP

Pgina 18

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Paramos la simulacin con el botn de pausa y podremos ver como se modificaron los campos del stop watch como los ciclos de instruccin.

Figura 4.21 Parar la simulacin Vamos a ver como en la simulacin cambian los ciclos de instruccin ya que son los que realizo durante este proceso.

Figura 4.22 Modificacin de los ciclos de instruccin


FCC-BUAP Pgina 19

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Tambin podemos realizar la simulacin paso a paso, esto se puede lograr por medio de un botn que trae MPLAB.

Figura 4.23 Simular instruccin por instruccin SIMULAR EN PROTEUS Abrimos PROTEUS para poder introducir el circuito y cargar el archivo con extensin .hex

Figura 5.1 Abrir PROTEUS


FCC-BUAP Pgina 20

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

En la opcin de devices podemos seleccionar los diferentes dispositivos y componentes que contenga nuestro circuito para que funcione de manera eficiente.

Figura 5.2 Seleccionar dispositivos Nos aparecer la siguiente pantalla en la cual podemos introducir el nombre de nuestro componente y seleccionarlo

Figura 5.3 Insertar nombre del componente


FCC-BUAP Pgina 21

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Cundo realizamos una bsqueda de nuestros componentes as nos aparecer.

Figura 5.4 Resultados de la bsqueda Le damos ok, y nos aparecer el componente del lado izquierdo para que lo podamos insertar cuando sea necesario.

Figura 5.5 Dispositivo cargado


FCC-BUAP Pgina 22

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Lo seleccionamos y lo insertamos en nuestro diseo.

Figura 5.6 Insertar dispositivo o componente As insertamos todos nuestros componentes hasta tener el circuito completo.

Figura 5.6 Insertar todos los componentes y conectarlos

FCC-BUAP

Pgina 23

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Para que se simule tenemos que insertar nuestro cdigo en el PIC que est en PROTEUS, pero para esto vamos a dar doble click en el PIC y nos aparecer la edicin del componente.

Figura 5.6 Cargar archivo .hex En el campo de PROGRAM FILE tenemos que indicarle donde se encuentra nuestro programa con la extensin .HEX donde este archivo se genera al compilar correctamente y este es el que nos servir para programarlo fsicamente y virtualmente.

Figura 5.7 Seleccionar el archivo .hex


FCC-BUAP Pgina 24

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Le damos ok y ok, y podremos simular nuestro programa.

Figura 5.8 Correr simulacin Y podremos observar como est simulado.

Figura 5.9 Simulacin corriendo

FCC-BUAP

Pgina 25

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Programar el PIC con el Pickit 2


En esta parte presentamos una gua bsica sobre el uso del dispositivo de programacin de Microprocesadores "PICkit 2" , ya que es una herramienta muy utilizada en la electrnica. Esta una gua simple para ayudar a las personas que por primera vez quieren empezar a utilizar esta herramienta . Primero debemos conocer los pines del dispositivo PICKit 2 y los dems componentes de este.

Figura 6.1 Pines del Pickit 2 Lo conectamos a la tarjeta de desarrollo donde deben de coincidir los pines y abrimos nuestro software. Y va a detectar nuestro PIC conectado y nos va aparecer algo similar a esto.

Figura 6.2 Aplicacin del programador


FCC-BUAP Pgina 26

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Una Vez establecida la conexin con nuestro microprocesador PICkit 2 v2.5 posee dos botones de uso simple para traspaso de Datos que son: Auto Import Hex +Write Device (sirve para seleccionar un programa de tu computadora y en el pic). Read Device + Export Hex File ( sirve para leer un programa de un pic y copiarlo a tu computadora.

Figura 6.3 Cargar archivo

Prctica Real
A continuacin mostramos el circuito conectado ya de una forma real.

Figura 7.1 Circuito conectado


FCC-BUAP Pgina 27

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Podemos observar el push botton con el cual se activar el led

Figura 7.2 Push botton Se puede observar que al presionar el push botton se enciende el led.

Figura 7.3 Encendiendo el led con el push botton

Figura 7.3.1 Encendiendo el led con el push botton

FCC-BUAP

Pgina 28

Prctica No.1
Encender un Led a travs de un push botton con el PIC18F4550

Figura 7.3.2 Encendiendo el led con el push botton

Resultados y conclusiones

Hemos visto el funcionamiento del PIC as como la arquitectura que tiene, y los pines de los puertos de E/S con los que se interactan para poder realizar que se encienda un led a travs de un PIC programado en ensamblador.

Anexos

Referencias

[Link]

FCC-BUAP

Pgina 29

También podría gustarte