viernes, 11 de octubre de 2019

LABORATORIO NRO. 8

MICROCONTROLADORES

Laboratorio Nº 8

Herramientas de Programación 

de Hardware y Software

1. CAPACIDAD TERMINAL:

● Utilizar al microcontrolador en aplicaciones de control electrónico.

● Desarrollar y ejecutar programas en un microcontrolador PIC.

● Programar y configurar interfaces básicas del microcontrolador.



2. COMPETENCIA ESPECÍFICA DE LA SESIÓN:



● Listar las partes internas generales de un microcontrolador. 

● Identificar las funciones generales de un microcontrolador.

● Introducción a la programación en PIC C Compiler.

● Cómo utilizar el Entrenador.



3. CONTENIDOS A TRATAR: 


Datasheet para el microcontroladores de gama media de Microchip. Estructura interna, memorias, CPU, ALU, W.



4. RESULTADOS:


Diseñan y optimizan sistemas y procesos para cumplir con las condiciones establecidas y gestionando adecuadamente los recursos materiales y humanos.

5. MATERIALES Y EQUIPO:

Programa CCS Compiler:

CCS C Compiler / PIC C Compiler es un compilador C muy optimizado, completo, bastante sencillo y fácil de manejar. Es un amplio conjunto de herramientas donde se encuentran todas esas utilidades necesarias para la optimización del código y para gestionar todos los aspectos del desarrollo de software.

Esta herramienta contiene:

•  Operadores estándar del lenguaje de programación C.
•  Una amplia biblioteca repleta de funciones específicas para registros de PIC.
•  Incluye más de 307 funciones integradas, simplifican el proceso de acceso al hardware, obteniendo siempre una producción eficiente y un código en lenguaje de programación C muy optimizado.Destacando: 
    •  Temporizadores y módulos PWM.
    •  Convertidores A / D.
    •  Controladores LCD.
    •  Memoria externa bus.
    •  Datos on-chip EEPROM.
    •  Manejo inteligente de interrupciones, entre otras muchas.

Entrenador de PICS:
Uno de los microcontroladores más conocidos y populares pertenecen a Microchip, debido a su bajo costo, herramientas e información abundante en Internet, actualización continua de su entorno de programación MPLAB, herramientas de software de terceros para programación en C o Basic, fácil programación y robustez. La tarjeta de desarrollo HFK-010U a sido diseñada para trabajar con los microcontroladores PIC de diferentes tamaños, desde 8 pines para las series PIC10F y PIC18F, hasta PICs de las series PIC18F de 40 pines, cuenta con programador en circuito mediante puerto USB, lo que facilitará y ahorrará tiempo al usuario cuando realice su proyecto, este programador es compatible con PICKIT2 de Microchip, también pudiendo usarse el programador desde MPLAB. 




Pantalla LCD:
Es una pantalla de cristal líquido o LCD (Liquid Crystal Display) es una pantalla delgada y plana formada por un número de píxeles en color o monocromos colocados delante de una fuente de luz o reflectora. 



El mas conocido de los LCDs de caracteres es de la fabrica Hitachi (HD44780), obviamente existen mucha variedad en cuanto a compatibles con este modelo, así que cualquiera compatible a este tipo se puede usar. El LCD se puede manejar en modo de 4 BIT u 8 BIT, siendo mas usual el primero, ya que necesita menos pines del microcontrolador. También existe la posibilidad de usar el LCD con el puerto B o puerto D, debajo del LCD existen 2 dipswitch con los cuales se hace la selección del puerto. 

PIC16F877A:
Es un microcontrolador de MicroChip Technology familia a la cual se le denomina PIC, fabricado por tecnología CMOS. Tiene ventajas como su consumo de potencia que es muy bajo y ademñas es completamente estático (el reloj puede detenerse y los datos de la memoria no se pierden). Tiene una memoria de programa tipo FLASH, lo que representa gran facilidad en el desarrollo de prototipos y en su aprendizaje, pues permite reprogramarlo nuevamente sin ser borrado con anterioridad.

  • Memoria de Programa de 2Kwords.
  • Memoria RAM con 224 registros.
  • Memoria EEPROM de 128 bytes.
  • Comparadores analógicos.
  • USART (puerto serie) compatible con nuestro módulo FT232 para USB.
  • Oscilador interno de 4MHz, externo hasta 20MHz.
  • 2 Timer de 8bits.
  • 1 Timer de 16 Bits.
  • 32 instrucciones.
  • Módulo de PWM.
  • Módulo de CCP.
  • Módulo ADC de 10 bits.
6. TAREAS GUIADAS DENTRO DEL LABORATORIO:


1.    Asegúrese de tener instalado en su computadora los siguientes programas: ISIS PROTEUS, PIC C COMPILER y PICKIT2.
2.  Abra el compilador CCS Compiler y transcriba el código mostrado en el link. Luego descargue dicho programa hacia el PIC utilizando PICKIT2.


CÓDIGO A TRANSCRIBIR:
#include <16f877a.h>          // Incluimos archivo con PIC a utilizar
#use delay (clock=20M)        // Indicamos al compilador que trabajaremos a 20Mhz
#fuses HS, NOPROTECT, NOWDT   // Configuración básica de los fusibles

void main ()                  // FUNCION PRINCIPAL del programa, indispensable
{                            // Si la función tiene más de una instrucción, va entre llaves  
   while (true)               // Bucle de REPETICION, si es "true", significa repetición infinita
   {
      output_high(PIN_C3);    // Pone a "1" el pin C3 (envía 5 voltios)
      delay_ms(200);          // "Congela el tiempo" durante 200 ms
      output_low(PIN_C3);     // Pone a "0" el pin C3 (envía cero voltios o GND)
      delay_ms(200);          // "Congela el tiempo" durante 200 ms
   }                         // Este proceso se repite indefinidamente por estar dentro de
                              // while(true)
}



3.    Compile el programa y utilice los archivos generados hex y cof para realizar la simulación del proyecto anterior.
4.    Transfiera el archivo generado HEX al entrenador utilizando el programa PICKIT2 y verifique el correcto funcionamiento del mismo.

7. TAREAS A EVALUAR:
Realice las modificaciones que se sugieren al programa, experimente y responda las preguntas planteadas:

1. Simule el programa en ISIS PROTEUS utilizando el archivo COF y depure el mismo paso a paso.



                
2. Modifique el programa para diseñar un “semáforo” con 3 salidas (leds) de tal manera que el led ROJO encienda durante 10 segundos, luego encienda el led AMBAR durante 3 segundos y finalmente encienda el led VERDE durante 8 segundos.





3. Reemplace la instrucción output_high(PIN_C0); por output_bit(PIN_C0, 1); ¿Funciona igual?

  • Por medio de la simulación se aprecia, que se opera la misma ejecución pese a haber cambiado la instrucción, la modificación hecha indica que el dato bit que es del led C3 estará en un estado "1" o activo.



4. Elimine o comente la instrucción “while(true)”; ¿qué sucede?

  • Al eliminar esta instrucción, la ejecución se realiza con normalidad pero, en este caso solo se ejecuta una sola vez.

5. Presione el pulsador de RESET, ¿qué sucede?


  • El RESET hace volver a la instrucción a su estado inicial, sin embargo de la misma manera, sólo se ejecuta una vez.



8. EVIDENCIA DEL LABORATORIO (VIDEO):




Link del vídeo: https://youtu.be/Zcax9Mz2cOU

CURSO DE MIKROINGENIERÍA:

Se realizó el cuestionario del primer laboratorio en la plataforma:

                                   








Se completaron todas las preguntas del mismo.

9. OBSERVACIONES:

  • El módulo HFK-010U cuenta con una gran variedad de componentes que lo integran, brindando del mismo modo un alto campo para poder realizar múltiples aprendizajes y proyectos.
  • Debemos considerar siempre las especificaciones de las hojas de datos de los mismos componentes para realizar el conexionado correcto.
  • Respecto a la programación, está dotado de una interfaz fácil de manejar y programar, siendo más prácticas las funciones.

10. CONCLUSIONES:


  • La interfaz de programación se desarrolló por medio de la comunicación de dos software (PIC C Compiler y PicKit2), siendo la primera para realizar el programa y sus respectivas modificaciones; para luego compilar, comunicar y ejecutar el mismo con el módulo usando el PicKit.
  • Se tuvo conocimiento que al momento de compilar la programación se generan dos archivos que son relevantes en el desarrollo de este laboratorio; siendo el archivo ".hex" para dar la escritura en el microcontrolador y tanto el ".hex" como ".cof" se podían emplear en el programa ISIS Proteus, resaltando la diferencia que con el ".hex" únicamente se podría visualizar el estado del módulo y en cambio la otra si te permitía simular el proceso en virtual.
  • Se empleó un solo comando muy conocido, como lo es el "while", cuya función era generar un bucle de las instrucciones que estuviesen bajo su poder o en otras palabras, que estuviesen entre las llaves respectivas.
  • Se realizó el funcionamiento de las modificaciones propuestas en muestra operativa de los Led's, demostrando la correcta citación propuesta. 

No hay comentarios:

Publicar un comentario