Академический Документы
Профессиональный Документы
Культура Документы
Manual de Prácticas de
Introducción a los
Microcontroladores
Materiales:
o PC con el software instalado (Proteus 8/8.1, MikroC 6.0, PicKit2)
o Grabador de PIC’s (PicKit2 ”clone u original”, MasterProg, MiniProg)
o Microcontrolador PIC16F886
o Fuente Alimentacion 5v regulado (Cargador celular o PowerBank con
cable adaptado)
o 3 resistores 330 Ohm
o 3 LED
o Protoboard, alambre para protoboard no. 22 (cable de red UTP)
o Pinzas de corte y punta
Para comenzar…
En la Unidad de Aprendizaje de Introducción a los Microcontroladores
utilizaremos un programa llamado MikroC, el cual es un IDE (“Entorno de
Desarrollo Integrado”), que incluye el editor, compilador y depurador
“debugger”, y que utiliza como lenguaje base una versión de lenguaje C para
microcontroladores.
Para utilizarlo se recomienda descargar la versión prueba “Demo” de la
página del proveedor…
//Nombre_de_programa.c
//Descripción del programa. .
//Declaración de variables
...
//Función principal
void main( ){
//Instrucciones del programa.
...}
Las demás opciones cumplen
distintos propósitos que iras
aprendiendo, pero en un
principio todo deberá estar en
“Disabled” (deshabilitado).
Ejercicio 2
Con el mismo programa que creaste en el ejercicio 1, implementa el uso de
alias, sustituyendo la configuración del puerto y los pines de conexión de los
leds por las etiquetas que prefieras. De igual manera varia el tiempo de cada
intervalo, desde un tiempo mayor a menor, y observa el funcionamiento del
LED.
Conclusiones:
Una vez que todos los pasos se hayan realizado de manera correcta, se tiene
que instalar el software en la computadora y conectar el grabador al puerto
USB de la misma. Al realizar esto, se tiene que ver de la siguiente manera:
Barra menú
Aquí se
observa cuando Configuración
el software ya dispositivo
reconoce tu
PIC
Ventana de Barra de
estado en la progreso
cual se observa
VDD del
que reconoció
dispositivo
al grabador
Fuente del
programa
Memoria del
programa
Memoria datos
EEPROM
Materiales:
o PC con los softwares instalados (Proteus 8/8.1, MikroC, PicKit2)
o Grabador de PIC’s (PicKit2 ”clone u original”, MasterProg, MiniProg)
o Microcontrolador PIC16F886
o Fuente Alimentacion 5v regulado (Cargador celular o PowerBank con
cable adaptado)
o 3 resistores 330 Ohm
o 3 LED (rojo, ámbar y verde)
o Protoboard, alambre para protoboard no. 22 (cable de red UTP)
o Pinzas de corte y punta
ACTIVIDAD 1
Copia textualmente el siguiente código en tu hoja de trabajo de MikroC y
conecta en tu protoboard los leds según los ejercicios con su respectiva
resistencia.
Ciclo infinito.
Conclusiones:
Por ejemplo:
Si se activan los segmentos:
“a,b,c,d,f” se forma el número “0”
Si se activan sólo los segmentos:
“b y c” se forma el número “1”
Si se activan sólo los segmentos:
“a,b,g,e,d,” se forma el número “2”
Si se activan sólo los segmentos:
“a,b,g,c,d,” se forma el número “3”
SEMAFORO2 SEMAFORO1
ROJO
ROJO
AMBAR
AMBAR
VERDE
VERDE
EJERCICIO A: De acuerdo al siguiente diagrama, desarrolla un
programa en el cual ocurra un parpadeo en los luces ámbar del
semáforo cuando se activen antes de cambiar a rojo.
Conclusiones:
Como ya se mencionó
anteriormente, el “punto
y coma”, solo se puede
utilizar al final de un if,
su respectiva condición y
una sola sentencia o
instrucción.
Expresión se
puede decir
que es el
nombre de la
variable.
La instrucción 4
Al realizar alguna es equivalente al
de las operaciones conjunto de
switch-case, se operaciones que
ejecuta la directriz realizarían en el
break y finaliza la default.
estructura.
Ejercicio 1
Utilizando la sentencia de control while crea un programa en el que un
led rojo y verde parpadeen con intervalos y orden de t preferencia
mientras que un botón A sea presionado, al no estar presionado un led
ámbar parpadeara 5 veces con intervalos de 500 ms.
Ejercicio 3
Crea un programa utilizando estructura de control for en el cual 2 leds
se activen por 2 segundos cada vez que la variable “conteo” aumente
una unidad, el máximo valor que podrá adquirir esta variable deberá
ser 7.
Distribución
Los segmentos del display en físico se encuentran distribuidos de la siguiente
manera:
Recuerda que el
COM se refiere a
la conexión a
tierra o voltaje.
Arreglos unidimensionales
Ejemplo 2
Este programa realiza un conteo de 0 a 9 en un display de 7 segmentos
conectado al puerto C del microcontrolador con intervalos de 1 segundo.
A diferencia del ejemplo anterior, se realizara el conteo con un ciclo for y
utilizando un arreglo se seleccionara la combinación binaria
correspondiente.
Arreglo Bidimensional
Los arreglos que se mencionaron en la práctica anterior reciben el nombre de
unidimensionales porque para acceder a un elemento del arreglo solo
tenemos que utilizar un índice. Sin embargo, existen también arreglos con
múltiples dimensiones, a cuyos elementos se debe acceder utilizando
múltiples índices. Los arreglos bidimensionales, también conocidos como
“matrices”, son aquellos en los que se debe hacer referencia a cada elemento
por medio de dos índices.
Un arreglo bidimensional permite almacenar NxM elementos del mismo tipo y
acceder a cada uno de ellos. Al igual que en los arreglos unidimensionales,
se distinguen dos partes importantes: los componentes y los índices. Los
primeros hacen referencia a los elementos que se almacenan en cada una de
sus casillas, y los segundos, por otra parte, especifican la forma de acceder a
cada uno de los elementos. Para hacer referencia a un componente de un
arreglo bidimensional debemos utilizar tanto el nombre del arreglo, como los
índices del elemento (fila y columna). Observa el siguiente ejemplo de cómo
declarar un arreglo bidimensional y asignar valores a cada elemento.
Procedimiento
Ejemplo 1
Ejercicio 1
Conecta tu display multiplexado en fisico, realizando todas las conexiones
pertinentes de resistencias y transistores, y elabora una palabra de 4 letras
que se mantenga estatica.
Ejemplo 2
En este programa se volvera a utilizar la tecnica de multiplexacion de
display de 7 segmentos para mostrar tres palabras distintas que
forman un solo mensaje. Para esto, retomando la practica anterior, se
utilizaran dos ciclos formas, uno contara el numero de veces que se
hace el barrido antes de cambiar de palabra y el otro determinara la
palabra que se esta mostrando (0, 1 o 2). Para facilitar este programa
se utilizara un arreglo bidimensional, en especifico de 3x4, que
guardara una palabra de 4 letras en cada renglon (tres renglones). El
funcionamiento de la multiplexacion es el mismo de la practica
anterior.
Ejercicio 2
Una vez logrado mostrar una palabra, mostraremos 3 palabras, una despues
de otra, las cuales formaran una frase. Conecta fisicamente tu display
multiplexado. Una vez realizado esto, crea un codigo en el que muestres una
frase en la que cada palabra de la frase se muestre durante 4 segundos.
Toma en cosideracion que las palabras de tu frase solo pueden contener 4
letras como maximo.
La matriz 8x8
Una matriz de LEDs consiste en un arreglo de LEDs que pueden ser
encendidos y apagados individualmente desde un microcontrolador. Pueden
pensar en ella como una pantalla de pocos pixeles en los cuales pueden
presentar gráficos y textos, tanto estáticos como en movimiento. Como se
indica en el título, nosotros vamos a trabajar con una matriz de 8x8 (8 filas y
8 columnas).
Para empezar, debemos entender el funcionamiento básico de una matriz,
por lo que vamos a observar la siguiente imagen.
Es importante mencionar que no existe una matriz que tenga los pines ordenados por
filas y columnas como la que se mostró anteriormente, las matrices en la vida real
tienen todos los pines desordenados, por lo que complica un poco la conexión en físico,
sin embargo, en el simulador sí se encuentran en orden sus pines.
Para poder identificar el orden de los pines de la matriz, nuestra guía será la
siguiente:
Pin 9
Pin 1
Pin 1
Procedimiento
Ya sea que se realice un programa en el que se muestre una figura estática
en la matriz o un desplazamiento de una oración, existe una herramienta
que nos ayuda a conocer el valor en decimal de los leds que se están
encendiendo, estos valores son los que se colocaran en el arreglo.
Conexión
Pines de alimentación:
Vss: Gnd
Vdd: +5 voltios
E: Corresponde al pin Enable o de habilitación. Si E(0) esto quiere decir que el LCD no
esta activado para recibir datos, pero si E(1) se encuentra activo y podemos escribir o
leer desde el LCD.
DDRAM y CGROM
La memoria CGROM es una memoria interna donde se almacena una tabla con los
caracteres que podemos visualizar en el lcd.
mikroC tiene una librería para comunicación con LCDs basados en el controlador
HD44780 o compatibles, a través de un interfaz de 4 bits para datos. Para el trabajo con
el módulo LCD se debe añadir la librería Lcd, que contiene las funciones que se
muestran en la tabla a continuación Para poder utilizar estas funciones se debe declarar
previamente un total de 12 variables: 6 que definen los pines del PIC y otras 6 que
permiten programar el sentido de circulación de datos.
Ejercicio de aplicación
Realiza un programa el cual controle un arranque y paro semiautomático de un motor
monofásico, donde el usuario pueda seleccionar el tiempo que desee que el motor
permanezca trabajando. El tiempo se ajustara con botones de adicción y sustracción. Al
terminar el tiempo establecido el motor se apagara y volverá a preguntar al usuario el
tiempo que quiere volver a encender el motor.