jueves, 15 de marzo de 2018

LABORATORIO NRO. 2



MICROCONTROLADORES 

LABORATORIO 02

Programación básica con bucles de control.


1. COMPETENCIA ESPECIFICA DE LA SESIÓN
  • Manejo de puertos de forma grupal e independiente para manejo de luces 
  • Programación de sonidos mediante sub-rutinas. 
  • Creación de sub-rutinas mediante funciones. 
  • Declaración de variables enteras
2. CONTENIDOS A TRATAR
  • Control de puertos como entradas y/o salidas. 
  • Generación de salida pulsante.
  • Bucles de control.
3. MATERIALES Y EQUIPOS
  • CCS Compiler instalado. 
  • Entrenador de PICS 
  • Pantalla LCD 
  • PIC16F877A 
  • Motor DC 
  • Guía de Laboratorio
  • PC con Software de simulación. 


Descripción de BUCLES DE CONTROL: while, if, if-else, for.


Sentencia while
El bucle while permite ejecutar una o mpñas sentencias en tanto se cumpla una condición. Si la condición deja de cumplirse, se dejan de ejecutar la o las instrucciones y se “sale del bloque while para continuar procesando las instrucciones que se encuentran después del mismo.

while(condicion)
{
código a Repetir
}
donde:
  • condición es la expresión a evaluar
Ejemplo 1:
int contador = 0;
while(contador<=10)
{
    contador=contador+1;
    cout<<"Hola Arequipa";
}
El contador nos muestra que hasta que este llegue al número 10 asignado, solo entonces, este se detendrá y ya no se realizará el código contenido dentro de la sentencia while, de lo contrario mientras el "contador" sea menor o igual a 10, se ejecutará el código contenido, desplegando hasta 11 veces "Hola Arequipa" en pantalla.


Sentencia IF

La instrucción if es, por excelencia, la más utilizada para construir estructuras de control de flujo.
SINTAXIS
Primera Forma
Ahora bien, la sintaxis utilizada en la programación de C++ es la siguiente:
if (condicion)
   {
       Set de instrucciones
   }

Sentencia IF- else
Segunda Forma
Ahora veremos la misma sintaxis pero ahora le añadiremos la parte "Falsa" de la sentencia:

if (condicion)
   {
       Set de instrucciones    //PARTE VERDADERA
   }
else
   {
       Set de instrucciones 2  //Parte FALSA
   }

La forma mostrada anteriormente muestra la union de la parte "VERDADERA" con la nueva secuencia la cual es la parte "FALSA" de la sentencia de decision "IF" en la cual esta compuesta por el:
else
   {
     Set de instrucciones 2  //Parte FALSA
   }
la palabra "else" o "De lo contrario" indica al lenguaje que de lo contrario al no ser verdadera o no se cumpla la parte verdadera entonces realizara el "set de instrucciones 2".

Sentencia For
Esta sentencia nos permite repetir una o varias sentencias una cantidad de veces determinada por 3 parámetros. Forma general del for: Para una sola sentencia .
for(inicialización; condición; incremento) 
{ sentencias;
 }
for(contador; final; incremento)
{
    Codigo a Repetir;
}
donde:
  1. contador es una variable numérica
  2. final es la condición que se evalua para finalizar el ciclo (puede ser independiente del contador)
  3. incremento es el valor que se suma o resta al contador
Hay que tener en cuenta que el "for" evalua la condición de finalización igual que el while, es decir, mientras esta se cumpla continuaran las repeticiones.
Ejemplo 1:
for(int i=1; i<=10; i++)
{
    cout<<"Hola Arequipa";   
}
Esto indica que el contador "i" inicia desde 1 y continuará iterando mientras i sea menor o igual a 10 ( en este caso llegará hasta 10) e "i++" realiza la sumatoria por unidad lo que hace que el for y el contador se sumen. repitiendo 10 veces "Hola Arequipa" en pantalla.

Video Grupal:








Foto del equipo de trabajo:





























Observaciones y Conclusiones:
















Segunda Evaluación CCS C MikroIng.



LABORATORIO NRO. 1


"Microcontroladores" 

HERRAMIENTAS DE PROGRAMACIÓN HARDWARE Y SOFTWARE 



1. COMPETENCIA ESPECIFICA 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.

2. CONTENIDOS A TRATAR

Datasheet para microcontroladores gama media de Microchip.

Estructura interna: memorias, CPU, ALU, W.

3. MATERIALES Y EQUIPOS

CCS Compiler instalado.

Entrenador de PICS.

PIC16F877A.

Guía de laboratorio.

PC con Software de simulación (Proteus).

4. PIC16F877A

- Frecuencia de operación: 0 - 20 MHz.

- Oscilador interno de alta precisión, el rango de frecuencia es de 8MHz a 31MHz seleccionado por software.

- Voltaje de alimentación 2.0 - 5.5 V.

- Consumo: 220 uA (2.0 V, 4 MHz), 11 uA (2.0 V, 32KHz) o 50 nA (Modo espera).

- Ahorro de energía en modo espera.

- Brown-out Reset (BOR) controlado por software.

- Cuenta con 35 pines de entrada y salida

- Alta corriente de fuente y drenador para manejar LED.

- Resistencias Pull-Up programables.

- Memoria Rom de 8Kb tipo Flash.

- Reprogramable hasta 100.000 veces.

- Programable en circuito serial.

- Memoria EEPROM de 256 Bytes reprogramable hasta 1.000.000 de veces.

- Memoria Ram de 368 Bytes.

- Convertidores A/D: 14 canales con resolución de 10 bits.

- Temporizadores independientes: 3.

- Temporizador Watch-Dog.

- Comparadores Analógicos: 2 referencia de voltaje programable.

- Módulo PWM incorporado.

- Módulo USART mejorado (com. serial. RS-485, RS-232 y LIN2.0).

- Puerto Síncrono Mestro MSSP (modo SPI e I2C).



Si desea puede descargar el Datasheet del PIC16F877A aquí.

5. DESARROLLO DEL LABORATORIO

Si desea puede ver el video explicativo del Laboratorio desarrollado.





          





6. OBSERVACIONES Y CONCLUSIONES

Nos debemos fijar en el Datasheet al momento de asignar los pines en la programación, ya que la simulación no coincide con los pines que están asignados ya en el entrenador.
Limpiar la pantalla luego de hacer cambios en ella en importante, ya que, de no ser así, la pantalla se sobre escribirá.
Tenemos q tener en cuenta activar la pila de resistencias vinculadas al teclado matricial, de no ser así el teclado no funcionará.


•Aprendimos a programar los microcontroladores desde un lenguaje de alto nivel, ya que ello le permite al programador un mayor control sobre su programa.
• Si bien es cierto, que trabajar desde un lenguaje de alto nivel tiene sus ventajas, también es cierto que esto hace que el  programador no necesariamente deba tener un conocimiento claro de la estructura interna del microcontrolador.
• Utilizamos el lenguaje de alto nivel para el manejo de los microcontroladores, permite trabajar de forma sencilla con los microcontroladores. Esto colabora enormemente a que  el manejo de los microcontroladores cada día sea menos exclusivo del personal con gran conocimiento en sistemas y electrónica.
Logramos hacer uso de un display LCD con un microcontrolador PIC de manera sencilla haciendo uso de una biblioteca, lo que nos permite saltarnos la programación de la pantalla.