miércoles, 30 de octubre de 2019

Laboratorio N° 8


PROGRAMACIÓN DE MICRO-CONTROLADORES PIC

INTRODUCCIÓN A PIC-C COMPILER


1. Objetivos:
  • Listar las partes internas generales de un micro-controlador. 
  • Identificar las funciones generales de un micro-controlador
  • Introducción a la programación en PIC C Compiler
  • Cómo utilizar el Entrenador
2. Materiales:


  • CCS Compiler instalado.
  • Entrenador de PICS
  • Pantalla LCD
  • PIC16F877A
  • Guía de Laboratorio. El trabajo se desarrolla de manera GRUPAL.
  • PC con Software de simulación.

3. Marco teórico:


3.1 Micro-controladores PIC


Un PIC es un circuito integrado programable (Programmable Integrated Circuited), el cual contiene todos los componentes para poder realizar y controlar una tarea, por lo que se denomina como un micro-controlador .Los PIC son una familia de micro-controladores tipo RISC fabricados por Microchip Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división de microelectrónica de General Instrument.



Resultado de imagen para funcionamiento de un microcontrolador


El nombre actual no es un acrónimo. En realidad, el nombre completo es PICmicro, aunque generalmente se utiliza como Peripheral Interface Controller (controlador de interfaz periférico).
El PIC original se diseñó para ser usado con la nueva CPU de 16 bits CP16000. Siendo en general una buena CPU, ésta tenía malas prestaciones de entrada y salida, y el PIC de 8 bits se desarrolló en 1975 para mejorar el rendimiento del sistema quitando peso de entrada/salida a la CPU. El PIC utilizaba micro-código simple almacenado en ROM para realizar estas tareas; y aunque el término no se usaba por aquel entonces, se trata de un diseño RISC que ejecuta una instrucción cada 4 ciclos del oscilador.


4. Características:


  • CPU de arquitectura RISC (Reduced Instruction Set Computer).1​
  • Set de 35 instrucciones.1​
  • Frecuencia de reloj de hasta 20MHz (ciclo de instrucción de 200ns).1​
  • Todas las instrucciones se ejecutan en un único ciclo de instrucción, excepto las de salto.1​
  • 8K x 14 palabras de Memoria de Programa FLASH.​
  • 368 x 8 bytes de Memoria de Datos tipo RAM.
  • 256 x 8 bytes de Memoria de Datos tipo EEPROM.
  • Hasta 15 fuentes de Interrupción posibles.
  • 8 niveles de profundidad en la Pila hardware.
  • Modo de bajo consumo (Sleep).
  • Tipo de oscilador seleccionable (RC, HS, XT, LP y externo).
  • Rango de voltaje de operación desde 2,0V a 5,5V.3​4​5​
  • Conversor Analógico/Digital de 10 bits multicanal.
  • 3 Temporizadores.
  • Watchdog Timer o Perro Guardián.
  • 2 módulos de captura/comparación/PWM.
  • Comunicaciones por interfaz USART (Universal Synchronous Asynchronous Receiver Transmitter).
  • Puerto Paralelo Esclavo de 8 bits (PSP).
  • Puerto Serie Síncrono (SSP) con SPI e I²C.

Encapsulados:
Resultado de imagen para pic16f877a ENCAPSULADOS
Diagrama de pins:


Diagrama Interno:


5. VÍDEO EVIDENCIA:

  • Explicación del programa: 

  • Implementación en el entrenador: 









6. OBSERVACIONES:
  • Es necesario conmutar el tercer switch del DIP SWITCH 8 para habilitar el grupo de leds ubicado en la tercer columna la cual corresponde a los pines "Cx".
  • Se observó que a diferencia de Arduino, este micro-controlador no maneja una instrucción que direcciones sus pines físicos mediante números, ya que este permite el manejo por puertos.
7. CONCLUSIONES:
  • El PIC C Compiler es un software que permite realizar código en lenguaje C y compilarlo para generar archivos de extensión .cof y .hex.
  • El software PICkit 2 permite realizar la comunicación entre el PIC y la PC, también tiene funciones como cargar código hexadecimal al micro-controlador, leer, escribir, borrar códigos del dispositivo, entre otras.
  • El código hexadecimal permite visualizar de forma más sencilla la información subida al micro-controlador, ya que si el código estuviera en binario sería mucho más complicado de leer e interpretar.
  • El micro-controlador PIC16F877A es el más potente de la familia 16F87XA, debido a sus características de memoria FLASH y RAM, lo cual lo hace muy popular en el mercado.
  • Mediante la investigación logramos analizar varias de las características del micro-controlador PIC16F877A, siendo estas su capacidad de memoria RAM y ROM, sus modos de oscilación, sus distintos fusibles de configuración, los registros internos que posee y su arquitectura física, determinando así el tipo de funciones que puede realizar este micro-controlador y sus limitaciones.


domingo, 6 de octubre de 2019

Laboratorio N° 7

Proyecto Pastillero

Rutinas de la Ruleta

1. VÍDEO EVIDENCIA:

  •  Implementación Ruleta: 







2. OBSERVACIONES:
  • Se observaron los camios realizados en el programa para poder realizar el cambio a ruleta, fue significativo ya que se aplican nuevas variables y mensajes en el LCD.
  • Al realizar los cambios de programación, para iniciar las vueltas de la ruleta, se tenia que dar un pequeño empujón ya que para dar giros continuos existía una falla en la parte física que impedía el trabajo.
  • Para poder modificar la parte física se realizó el funcionamiento de los finales de carrera para realizar el conteo de las vueltas en la ruleta.
3. CONCLUSIONES
  • Se logró realizar la modificación de Pastillero a Ruleta, mediante cambios en la programación como lo son nuevas variables, mensajes en el LCD y la aplicación de finales de carrera para el conteo de vueltas.
  • Se comprendieron las nuevas funciones y funcionamientos de las modificaciones realizadas en este laboratorio.
  • Se concluye que el número de vueltas utilizado en el programa se realizó en el bloque de Void Contador, y para este se suma de uno en uno con cada pulso del botón.
  • Se utilizaron nuevas funciones, para poder controlar por ejemplo los finales de carrera y gracias a estos realizar el conteo de vueltas en cada pulso y el control sea más óptimo.
  • Se realizó la programación y la implementación en placa de manera satisfactoria.

Laboratorio N° 6

Proyecto Pastillero

Rutinas del pastillero Hora-Minuto-Segundo

1. VÍDEO EVIDENCIAS:

  •  Programación Pastillero-Segundos:






  •  Implementación Pastillero-Segundos: 





2. OBSERVACIONES:
  • Al realizar los cambios para poder mostrar los segundos en el display, pudimos observar que se necesitaron de las conversiones a segundos. 
  • Se observó la necesidad de cambiar de buzzer y LCD ya que ambos generaban fallas a la hora de probar en el material físico.
  • La conversión de minutos y horas se realiza de manera casi que obligatoria ya que el programa Arduino así lo requiere. 
3. CONCLUSIONES
  • Se logró realizar la presencia de los segundos en el LCD, ya que así lo requería el programa y al inicio declararla como nueva variable "segundos".
  • Se habilitaron nuevas variables en el programa, lo que nos permitió realizar el aumento de los segundos en el LCD, y así lograr el reto planteado en laboratorio.
  • Se comprendió de manera optima el funcionamiento de el programa con la nueva modificación en el  bloque físico, por este medio se concluye con la modificación de manera esperada.


Laboratorio N° 5

Proyecto Pastillero

Pruebas del pastillero Hora-Minutos


1. VÍDEO EVIDENCIAS:

  •  Programación Pastillero:






  •  Implementación Pastillero: 








2. OBSERVACIONES:
  • Se observó que en la programación que se nos brinda por medio de la plataforma de Cousera, solamente nos brinda el tiempo en horas y minutos mas no en segundos, lo cual puede verse en la implementación.
  • Se realizaron cambios de jumpers en la implementación, ya que estos se encontraban en mal estado.
  • La conversión de minutos y horas se realiza de manera casi que obligatoria ya que el programa Arduino así lo requiere.
3. CONCLUSIONES
  • Se realizaron las conversiones de Horas-Minutos a mili segundos, ya que el programa así lo solicita para poder realizar el funcionamiento de este.
  • Se aplicaron de manera adecuada la implementación del pastillero tanto física como parte de programa. 
  • Se logro comprender el principio de funcionamiento gracias a la programación que nos brindó el programa de Coursera.