viernes, 15 de marzo de 2019

LABORATORIO NRO 3

LABORATORIO NRO 3

PROGRAMACIÓN CON DISPLAY DE 7 SEGMENTOS

1. OBJETIVOS
  • Conocer el Display de 7 segmentos y su funcionamiento 
  • Conocer las técnicas de multiplexación 
2. MATERIALES Y EQUIPOS

  • 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. FUNDAMENTO TEÓRICO

3.1. Tipos de variables


Todos los programas necesitan, en algún momento, almacenar números o datos ingresado por el usuario. Estos datos son almacenados en variables que deben tener un tipo. Para declarar una variable en la programación se debe hacer de la siguiente forma:

tipo nombreVariable;

Si se quiere asignar el valor se designa así:

tipo nombre_variable = valor inicial;



3.1.1 bool

Por lo general utiliza 1 byte de memoria, valores: true o false.

3.1.2 char

Utiliza generalmente 1 byte de memoria, permite almacenar un carácter, valores; 256 caracteres.

3.1.3 unsigned short int


Utiliza generalmente 2 bytes de memoria, valores: de 0 a 65 535

3.1.4 short int

Utiliza generalmente 2 bytes de memoria, valores: de -32768 a 32767.

3.1.5 unsigned long int

Utiliza generalmente 4 bytes de memoria, valores: de 0 a 4 294 967 295.

3.1.6 long int
Utiliza generalmente 4 bytes de memoria, valores: de -2 147 483 648 a 2 147 483 647.

3.1.7 int (16 bits)

Utiliza generalmente 2 bytes de memoria, valores: de -32 768 a 32 767.

3.1.8 int (32 bits)

Utiliza generalmente 4 bytes de memoria, valores: de -2 147 483 648 a 2 147 483 647.

3.1.9 unsigned int (16 bits)

Utiliza generalmente 2 bytes de memoria, valores: de 0 a 65 535.

3.1.10 unsigned int (32 bits)

Utiliza generalmente 2 bytes de memoria, valores: de 0 a 4 294 967 295.

3.1.11 double

Utiliza generalmente 8 bytes de memoria, valores: de 2.2e-308 a 3.4e-38.

3.1.12 float

Utiliza generalmente 4 bytes de memoria, valores: de 1.2e-308 a 3.4e-38.
Atención!
El tamaño de las variables en memoria puede variara de un PC a otro.




3.2. Display de siete segmentos

3.2.1. Principio de funcionamiento

Para controlar el número que queremos dibujar primero tenemos que identificar con que tipo de display estamos trabajando (Cátodo o Ánodo común), una ves identificado nos basamos en la siguiente tabla de verdad dado el caso que corresponda.


Tabla de verdad display 7 segmentos anodo y catodo comun

Tabla de verdad display 7 segmentos anodo y catodo comun
En nuestro entrenador, se usan los display de ánodo común para mostrar el número. Esta tabla la colocamos en la programación en el orden de 0 a 9, para que se envien los datos correctamente al display
3.2.1. Multiplexación
El multiplexado nos ayuda a que no usemos tantos pines de nuestro microcontrolador usando los cuatro display que estan disponibles. Esta técnica se basa en encender y apagar cada dígito de manera muy rápida, de forma tal que este cambio sea imperceptible a los ojos, aproximadamente cada 5ms.Por tanto, las ventajas son:
– Reducción de componentes en la placa.
– Economizamos nuestro proyecto.
– Menor utilización de pines.

Resultado de imagen para display de siete segmentos en paralelo

4. VÍDEO



5. OBSERVACIONES
  • Se crearon subrutinas qe funcionaban repetidamente en la programación, para lo cual solo basto que sean llamadas en otras.
  • En el entrenador para que opere correctamente se debe accionar los switch de los puertos a ser usados, además de presionar un pulsador con enclavamiento.
  • Se observó que se necesitaron declarar varias variables para habilitar y deshabilitar algunos pines
  • Se llamo a un retardo para que evitar que se produzcan falsas pulsaciones
  • Se creo una tabla para los display referidos al anodo común para que cuando introduzcamos el valor deseado en sistema decimal, este se pueda mostrar en el display

6.CONCLUSIONES
  • Se conoció el funcionamiento de los display de siete segmentos, su configuración interna y como se debe realizar su conexiado
  • Se concluye que cuando aplicamos la técnica de multiplexación se obtiene diversos beneficios, como son la reducciónde utilización de los pines del microcontrolador, por lo tanto reduciendo el costo.
  • Se uso un bucle for para crear un tren de pulsos que sirve al encender un sounder ya que este necesita que la señal varíe
  • Se descompuso el numero que se quería mostrar usando un bucle
  • Se conocieron los tipos de variables, cuantos bits pueden almacenar, como deben ser declaradas y se entendió la importancia de las mismas en la programación
7. INTEGRANTES
  • Corimanya Castelo, Laura Milagros

sábado, 9 de marzo de 2019

LABORATORIO NRO 2

LABORATORIO NRO 2

HERRAMIENTAS DE PROGRAMACIÓN HARDWARE Y SOFTWARE

1. OBJETIVOS

  • Manejo de puertos de forma grupal e independiente para manejo de luceS
  • Programación de sonidos mediante subrutinas.
  •  Creación de Subrutinas mediante funciones.
  • Declaración de variables enteras
2. MATERIALES Y EQUIPOS

  • 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. FUNDAMENTO TEÓRICO

3.1. Bucles de control

Los bucles son partes de un programa que se repiten mientras una condición sea cumplida. Muchas veces es necesario que una operación se ejecute u par de veces, y el tiempo que dura este depende de las condiciones de salir del bucle.

3.1.1. While

SINTAXIS

While (expresión) {
comandos

}

Los comandos se ejecutan repetidamente hasta que la condición se falsa. Se puede hacer un bucle infinito si la condición sigue sin cambios dentro del bucle

3.1.3. If

SINTAXIS

If (expresión)
operación 

Si el resultado de la expresión es verdadero la operación se realiza y el programa continúa con la ejecución, si la expresión es falsa solo se continúa con la ejecución

3.1.3. If-else

SINTAXIS

If (expresión)
operación 1
else
operación 2

Si el resultado de la expresión encerrada entre parentesis es verdadero se procede a realizar la operación 1, de ser falsa se realiza la operación 2. Una vez realizada alguna de las operaciones se continúa la ejecución


3.1.3. For

SINTAXIS

For (expresión inicial; condición; modiica el valor de las variable) {
operaciones
}


Es similar al bucle while solo que en la declaración se debe especificar el valor inicial de la variable, después de cada iteración el valor de la expresión inicial se modifica de acuerdo a la declaración. La iteración continúa hasta que la expresión sea falsa

4. VÍDEO



5. OBSERVACIONES
  • Para realizar la programación se tuvo que crear una instrucción inicial que permita mostrar solo una vez la salida, esto debido a que en la otra instrucción primero se mueve el bit a la derecha para luego ser mostrado
  • Se observó que se necesitaron declarar varias variables para habilitar y deshabilitar algunos pines
  • Se conocieron nuevas intrucciones como el output_toggle que permite alternar el valor de la salida y salida = salida << 1; para correr un orden de bit en el puerto
  • Se debe colocar punto y coma después de cada instrucción para que al compilar el programa no se muestre error
  • Se llamo a un retardo para que evitar que se produzcan falsas pulsaciones

6.CONCLUSIONES
  • Se manejo puertos de forma grupal e independiente para activar salidas de forma unitaria y vectorial
  • Se emplearon subrutinas para manejar luces
  • Declaramos variables enteras en la programación, para lo cual se de be consignar el tipo de variable, su nombre y su valor
  • Usamos la instrucción If para que si se cumple cierta condición se ejecuten otras operaciones
  • Usamos el bucle while para que los comandos se ejecuten mientras la condición sea verdadera
  • Se entendió como trabaja cada instrucción y como deben ser empleadas
7. INTEGRANTES
  • Corimanya Castelo, Laura Milagros

viernes, 1 de marzo de 2019

LABORATORIO NRO 1

LABORATORIO NRO 1

HERRAMIENTAS DE PROGRAMACIÓN HARDWARE Y SOFTWARE

1. OBJETIVOS

  • 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
2. MATERIALES Y EQUIPOS

  • 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. FUNDAMENTO TEÓRICO

3.1. Introducción a microcontroladores

El microprocesador para ser usando en una aplicación real debe ser conectado con componentes tales como memoria o componentes buses de transmisión de datos. Sin embargo en el microcontrolador todos las componentes estan integradas en el mismo chip. No necesita de otros componentes especializados para su aplicación ya que cuenta con los circuitos necesarios incorporados. De esta forma se ahorra tiempo y espacio necesario para construir un dispositivo.

Los microcontroladores están siendo usados en multitud de sistemas presentes en nuestra vida diaria, como pueden ser juguetes, horno microondas, frigoríficos, televisores, computadores, impresoras, módems, el sistema de arranque de nuestro coche, etc. Y otras aplicaciones como la instrumentación electrónica para gobernar procesos y brindar una respuesta automática, control de sistemas en una nave espacial, etc.


3.2. PIC 16F877a

3.2.1. Descripción

Este microcontrolador de 8 bits basado en FLOS de CMOS integra la poderosa arquitectura PIC® de Microchip en un paquete de 40 o 44 pines y es compatible con los estándares Dispositivos PIC16C5X, PIC12CXXX y PIC16C7X. El PIC16F877A cuenta con 256 bytes de memoria de datos EEPROM, autoprogramación, un ICD, 2 comparadores, 8 canales de 10 bits de analógico a digital (A / D), 2 funciones de captura / comparación / PWM, el puerto serial síncrono puede configurarse como Interfaz Periférica Serial de 3 hilos (SPI ™) o el bus de Circuito Inter-Integrado de 2 hilos (I²C ™) y un Transmisor de Receptor Asíncrono Universal (USART). Todas estas características lo hacen ideal para aplicaciones A / D de nivel más avanzado en automoción, industrial,

3.2.2. Caracteristicas


Memoria de programa de flash (palabras de 14 bits).............8192
Memoria de datos SRAM (bytes)..........................................368
Memoria de datos EEPROM (bytes)......................................256
Lineas de E/S.....................................................................33
Canales A/D.........................................................................8
PWM...................................................................................2
USART................................................................................sí
Comparadores.....................................................................sí


3.2.3. Disposición de pines
Resultado de imagen para pic16f877a

3.2.4. Puertos de entrada/salida, gama media
  • Recursos comunes (TMR0, Perro Guardián, Modo de Reposo, Reset de conexión de alimentación, interrupciones).
  • Convertidor A/D de 8 bits con 5 canales de entrada.
  • 2 Módulos de Captura/Comparación/PWM (CCP).
  • Puerto Síncrono Serie (SSP).
  • Interfaz de Comunicaciones Serie (SCI).
3.2.5. Bancos de memorias
La memoria de datos esta organizada en 4 bancos numerados, cada uno se extiende hasta la memoria 7Fh, existen los registros de funciones especiales (los cuales no pueden ser modificados) y los de propósito general(en los cuales podemos guardar datos de nuestra programación)


CURSO: Simulando Sistemas Embebidos con Microcontroladores PIC


4. VÍDEO

https://drive.google.com/file/d/1QG0cisPGO_ZcnT5hY9dxXd1aaIspDFIn/view?usp=sharing


5. OBSERVACIONES
  • Se logro reconocer la diferencia entre un microprocesador y un microcontrolador, en el que el primero necesita elementos externos para que pueda operar correctamente mientras que l segundo lleva los componentes incorporados en su estructura interna
  • Se reconoció que existen los bancos de memoria ne los microcontroladores y que estos poseen registros entre los cuales algunos pueden ser usados para guardar datos y otros que ya tienen un propósito específico

6.CONCLUSIONES
  • Se concluye que el microcontrolador sirve para ejecutar una determinada tarea la cual es programada y debido a su reducido tamaño suele incorporarse en el dispositivo que gobierna
  • Se identifico las principales características y partes internas del PIC16F877a que es un dispositivo de gama media
  • Se realizo la programación en el software PIC C Compiler, el cual se compilo y cargo el archivo .hex o .cof al simulador ISIS PROTEUS y el archivo .hex al PIC16F877a por medio del software PicKit2
  • Se vio las principales características del entrenador y como se encuentra conectado, así como sus puertos de entrada y salida
7. INTEGRANTES
  • Corimanya Castelo, Laura Milagros