Microcontroladores-Práctica 8 PDF

Title Microcontroladores-Práctica 8
Course Microcontroladores
Institution Instituto Tecnológico de Tijuana
Pages 10
File Size 724.8 KB
File Type PDF
Total Downloads 49
Total Views 130

Summary

Este archivo corresponde al reporte de practica 8...


Description

TECNOLÓGICO NACIONAL DE MÉXICO INSTITUTO TECNOLÓGICO DE TIJUANA SUBDIRECCION ACADEMICA Departamento de Eléctrica-Electrónica Semestre Enero - Junio 2019 Carrera(s): Ing. Biomédica / Ing. Electrónica

Asignatura: Microcontroladores

Nombre del docente: Ing. Ángel Humberto Corral Domínguez

Practica 8: Lenguaje C para la programación del PIC 16F877A.

Elaborado por: Herrera Duran Osmar Said (15211307) Hernández López José Manuel (13211255)

Tijuana, Baja California a 12 de abril de 2019

Índice

Pág. Objetivos ..................................................................................................................................... 1 Marco Teórico ............................................................................................................................. 1 Procedimiento ............................................................................................................................. 3 Desarrollo .................................................................................................................................... 5 Observaciones y conclusiones..................................................................................................... 8 Referencias .................................................................................................................................. 8 Anexos ........................................................................................................................................ 8

Índice de Figuras Figura 1. Sintaxis de ciclo for. ............................................................................................................ 2 Figura 2. Diagrama a bloques del Microcontrolador y la salida del puerto B conectado a LEDs. ..... 3 Figura 3. Código en C. ........................................................................................................................ 3 Figura 4. Se muestra el paso 2 del Project Wizard del Ambiente de Desarrollo Integrado MPLAB para activar el compilador CCS. ......................................................................................................... 4 Figura 5. Creación de nuevo proyecto................................................................................................. 5 Figura 6 Código en C para implementar en el programa. ................................................................... 5 Figura 7. Compilación del código en C............................................................................................... 6 Figura 8. Circuito desarrollado con el PIC16F877A........................................................................... 8

II

Objetivos •

General Compilar y ejecutar un programa básico en lenguaje C para el microcontrolador PIC 16F877A usando MPLAB y el compilador CCS.



Específicos 1. Comprender y desarrollar el código para realizar la secuencia de leds en lenguaje C. 2. Simular y construir el circuito correspondiente para el desarrollo de la práctica.

Marco Teórico Lenguaje C C es un lenguaje de programación originalmente desarrollado por Dennis Ritchie entre 1969 y 1972 en los Laboratorios Bell, como evolución del anterior lenguaje B, a su vez basado en BCPL. Al igual que B, es un lenguaje orientado a la implementación de Sistemas operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones. Se trata de un lenguaje de tipos de datos estáticos, débilmente tipificado, de medio nivel, ya que dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos. La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-1989. El lenguaje que define este estándar fue conocido vulgarmente como ANSI C. Posteriormente, en 1990, fue ratificado como estándar ISO (ISO/IEC 9899:1990). La adopción de este estándar es muy amplia por lo que, si los programas creados lo siguen, el código es portable entre plataformas y/o arquitecturas.

Programación de microcontroladores PIC en Lenguaje C con CCS De todas estas familias, las más antiguas son los PIC Línea Base y PIC Línea Media, concebidos para ser programados en Lenguaje Assembler, con lo cual las limitaciones de su arquitectura, también limitan la cantidad de código que se puede escribir en Lenguaje C dentro del microcontrolador. Es por ello que a partir de la creación de la familia PIC18F y desde allí en adelante, todos los microcontroladores se concibieron para trabajar en Lenguaje C. Sin embargo el mercado de los microcontroladores PIC Línea Media es muy amplio y para estos usuario Microchip mejoró el núcleo de estos MCU, desarrollando una nueva generación , a la cual ha bautizado como PIC Línea Media Mejorada, los cuales se identifican por su código inicial: PIC16F1xxx o PIC12F1xxx. Esta renovación de los viejos núcleos PIC16F introduce todas las mejoras que han adquirido los PIC18F con el Tiempo. 1

Dichas características son las siguientes: ➢ ➢ ➢ ➢ ➢ ➢ ➢ ➢ ➢ ➢ ➢

Memoria de Programa hasta 32K instrucciones Memoria de Datos hasta 2K Mejora de Periféricos (USART, CCP, PWM , Puertos I/O) Inserción de nuevos Periféricos Modos de muy bajo consumo Mejoras en el Oscilador Interno con un PLL x 4 Ampliación del Set de Instrucciones Ampliación del STACK a 16 niveles Salvado automático de contexto Control del STACK por medio del usuario Mejora del registro FSR y creación de 2 (FSR0 y FSR1)

Ciclo for El ciclo For es una de las instrucciones más sencillas de aprender, y consiste en utilizar mayormente “rangos” en los cuales se define el número de iteraciones que se pueden hacer en este ciclo. Declaración y sintaxis La sintaxis es la siguiente:

Figura 1. Sintaxis de ciclo for.

Donde el inicio es la declaración de una variable que funciona como un “contador” mientras ejecutamos el ciclo. Continuamente el “mientras” especifica los valores o el rango de valores que puede tomar el contador de “inicio” y el “incremento” especifico cuanto se va a incrementar el contador con cada iteración, lo que indicaría que eventualmente el contador saldría de su posible rango de valores y terminaría el ciclo.

2

Procedimiento •

Realice el circuito indicado en el diagrama a bloque de la siguiente figura

Figura 2. Diagrama a bloques del Microcontrolador y la salida del puerto B conectado a LEDs.



Escriba el siguiente programa para el microcontrolador en un editor de texto (puede ser MPLAB) grabando el archivo con extensión de lenguaje c (por ejemplo, prac7.c).

Figura 3. Código en C. 3



Compile el código del programa en lenguaje C usando el compilador CCS, o bien, cree un proyecto en MPLAB usando el compilador CCS para la compilación del código (Nota: Debe tener instalado previamente el compilador CCS). Para crear un proyecto en MPLAB que incluya código en lenguaje C, se hace lo siguiente:

En el menú de Projects selecciones Project Wizard; en el paso dos del procedimiento de creación del proyecto seleccione el Toolsuite CCS C compiler como se indica a continuación (busque el archivo ejecutable del compilador CCS PCW.EXE): ➢ Project o Project Wizard …… ▪

Step Two

Figura 4. Se muestra el paso 2 del Project Wizard del Ambiente de Desarrollo Integrado MPLAB para activar el compilador CCS.

En el paso 4 seleccione el código previamente guardado para incluirlo en el proyecto (para nuestro ejemplo es prac7.c).



Programe el PIC y ejecute el programa. 4

Desarrollo Para implementar el código en C, se crea un nuevo source file y se guarda.

Figura 5. Creación de nuevo proyecto.

Ya creada la nueva hoja de trabajo se realiza el código que se va a implementar para esta práctica.

Figura 6 Código en C para implementar en el programa. 5

Posteriormente se busca la pestaña de compile para copilar el código y detectar errores en la sintaxis, una vez corregido dichos errores el programa vuelve a copilar y generar un conjunto de archivos, entre ellos está el archivo .HEX.

Figura 7. Compilación del código en C.

Finalmente, ya que se compiló, se siguen los pasos descritos en la practica 2 para la programación de un microcontrolador.

6

Desarrollamos la siguiente simulación solo para comprobar el funcionamiento del circuito, así como el montaje en el protoboard.

7

Observaciones y conclusiones Ésta práctica resultó bastante interesante, puesto que, se utilizó lenguajes C para realizar un programa básico en el PIC. Para compilar en lenguaje C en el compilador CCS es necesario abrir un proyecto nuevo y teclear el programa proporcionado, una vez compilado simulamos el programa en PROTEUS, verificamos que funcione dicho programa en la simulación y por ultimo implementamos en Protoboard con el programa grabado en el PIC. EN MPLB sigue los mismos pasos descritos solo que en lugar de elegir compilar en ensamblador se cambia a compilar en lenguaje C. El código es un ciclo for que incrementa hasta que la variable x llegue a 255, en cada incremento tiene un retardo de 300ms y un despliegue de información.

Referencias 1. EDUDEVICES. (2019). Obtenido de edudevices.com.ar: http://www.edudevices.com.ar/download/articulos/MCUsPIC/Programando_PICs_CCS_08 .pdf 2. Villalobos, J. (8 de Abril de 2013). Obtenido de Codigoprogramacion.com: http://codigoprogramacion.com/cursos/tutoriales-c/ciclo-for-en-c-yejemplos.html#.W1gnrNJKj7A

Anexos

Figura 8. Circuito desarrollado con el PIC16F877A.

8...


Similar Free PDFs