Aplicaciones del microcontrolador MSP430
-
Upload
robertsanty -
Category
Documents
-
view
281 -
download
9
description
Transcript of Aplicaciones del microcontrolador MSP430
pág. 1
UNIVERSIDAD TECNOLÓGICA DEL VALLE
DEL MEZQUITAL
DISEÑO DE PROGRAMAS PARA MICROCONTROLADOR
MSP430 (SECUENCIAS, INTERRUPCIONES Y
TEMPORIZADORES)
PROYECTO DEMOSTRATIVO FINAL (SEMAFORO DE
4 VIAS)
REPORTE
Que para aprobar la materia de
OBTATIVA I (MICROCONTROLADORES)
P R E S E N T A
CHRISTIAN GARCIA MARTIN
ROBERTO CARLOS CHAPARRO SANTANA
ESPINOZA MAQUEDA CÉSAR AARÓN
RODRÍGUEZ TREJO JOHAN GERARDO
Generación: Enero 2016– Abril 2016
Octavo A
ING. MECATRÓNICA
Ixmiquilpan, Hidalgo, Abril 2016.
pág. 2
Contenido INTRODUCION ............................................................................................................................... 3
OBJETIVO ........................................................................................................................................ 3
DESARROLLO ................................................................................................................................. 5
CONFIGURACIÓN DE PUERTOS DE ENTRADAS Y SALIDAS ............................................ 5
PRACTICA 1 ................................................................................................................................. 5
PRACTICA 2 ................................................................................................................................. 6
PRACTICA 3 ................................................................................................................................. 7
CONFIGURACIÓN DE PUERTOS POR INTERRUPCIÓN ...................................................... 8
PRACTICA 4 ................................................................................................................................. 8
PRACTICA 5 ................................................................................................................................. 9
PRACTICA 6 ............................................................................................................................... 10
CONFIGURACIÓN DE PUERTOS POR TEMPORIZADORES ............................................. 13
PRACTICA 7 Semáforo de una vía ........................................................................................... 13
PRACTICA 8 Semáforo de dos vías .......................................................................................... 16
PRACTICA 9 Semáforo de tres vías ......................................................................................... 18
PROYECTO .................................................................................................................................... 21
SEMAFORO DE 4 VIAS (USANDO SISTEMA DE POTENCIA A 127V AC). ...................... 21
Etapa 1.......................................................................................................................................... 22
Etapa 2.......................................................................................................................................... 25
Etapa 3.......................................................................................................................................... 25
pág. 3
INTRODUCION
El siguiente reporte, muestra la elaboración de programas, diseñados para el dispositivo
microcontrolador MSP430; dispositivo que permite el control de procesos, mediante señales
análogas y digitales.
Este bloque de programas, se demuestran la configuración de puertos, la configuración de
puertos por interrupciones y la configuración de temporizadores
La realización de estos programas para la configuración del microcontrolador, están
realizados en el software IAR Embedded Workbench IDE
De igual manera, se demostrara en este reporte, la aplicación que tiene este dispositivo,
realizando un semáforo de 4 vías.
OBJETIVO
Realizar la activación y configuración de los puertos del dispositivo microcontrolador
Texas MSP430.
Elaborar un prototipo en el que se logre demostrar la aplicación del dispositivo MSP430, en
este caso, elaborar un semáforo de 4 vías, haciendo uso de un sistema de control de
potencia para la activación de las salidas a 127V.
pág. 4
CONFIGURACIÓN DE PUERTOS Y
CONFIGURACIÓN DE PUERTOS POR
INTERRUPCIÓN
pág. 5
DESARROLLO
CONFIGURACIÓN DE PUERTOS DE ENTRADAS Y SALIDAS
PRACTICA 1
//Se realiza un programa en el que se configurar los puertos P1.0, P1.1, P1.2, P1.3, P1.4,
P1.5, P1.6 y P1.7, pertenecientes al puerto de salida P1DIR.
La configuración de salida, para la activación de los puerto, queda con las dirección siguiente:
P1DIR |= 0xFF;
TABLA DE CONFIGURACION PARA LAS SALIDAS/ENTRADAS DEL MICRO
Suma de
16 bits
Suma de
16 bits
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
BIT = 8 BIT = 4 BIT = 2 BIT = 1 BIT = 8 BIT = 4 BIT = 2 BIT = 1
De acuerdo al código sexagesimal. El valor de bits, es hasta 16.
Valor 0 = 0
Valor 1 = 1 Valor 9 = 1
Valor 2 = 2 Valor 10 = A
Valor 3 = 3 Valor 11 = B
Valor 4 = 4 Valor 12 = C
Valor 5 = 5 Valor 13 = D
Valor 6 = 6 Valor 14= E
Valor 7 = 7 Valor 15 = F
Ilustración 1. Configuración de puertos
pág. 6
Valor 8 = 8
PRACTICA 2
//Se realiza un programa en el que se configuran los puertos pares correspondientes a la
dirección de los puertos P1DIR.
La configuración de salida, para la activación de los puerto pares, queda con las dirección
siguiente: P1DIR |= 0x55;
TABLA DE CONFIGURACION PARA LAS SALIDAS/ENTRADAS DEL MICRO
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
BIT = 8 BIT = 4 BIT = 2 BIT = 1 BIT = 8 BIT = 4 BIT = 2 BIT = 1
De acuerdo a la suma de los bits, la suma de los bits del lado izquierdo, son 5, y del lado
derecho, de la misma forma suman 5.
Por lo tanto, el código para la activación de puertos es 55;
Ilustración 2. Configuración de puertos
pág. 7
PRACTICA 3
//Se realiza un programa en el que se configuran los puertos impares correspondientes a la
dirección de los puertos P1DIR
La configuración de salida, para la activación de los puerto pares, queda con las dirección
siguiente: P1DIR |= 0xAA;
TABLA DE CONFIGURACION PARA LAS SALIDAS/ENTRADAS DEL MICRO
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
BIT = 8 BIT = 4 BIT = 2 BIT = 1 BIT = 8 BIT = 4 BIT = 2 BIT = 1
De acuerdo a la suma de los bits, la suma de los bits del lado izquierdo, son 10, y del lado
derecho, de la misma forma suman 10.
Y de acuerdo a el código haxagesimal, es valor del número 10=A
Por lo tanto, el código para la activación de puertos es AA;
Ilustración 3. Configuración de puertos
pág. 8
CONFIGURACIÓN DE PUERTOS POR INTERRUPCIÓN
PRACTICA 4
//Encender todos los puertos P1DIR, e interrumpir por el P1.0 y después apagar todos los
puertos.
La configuración de salida, para la activación de los puertos, queda con las dirección
siguiente: P1DIR |= 0xFE;
Y la dirección para la interrupción: P1IE |= 0x01;
TABLA DE CONFIGURACION PARA LAS SALIDAS/ENTRADAS DEL MICRO
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
BIT = 8 BIT = 4 BIT = 2 BIT = 1 BIT = 8 BIT = 4 BIT = 2 BIT = 1
De acuerdo a la suma de los bits, la suma de los bits del lado izquierdo, son 15, y del lado
derecho; la suma sin tomar en cuenta el bit de interrupción (color verde), suman 14.
Y de acuerdo a el código hexagesimal, es valor del número 15=F y 14=E.
Por lo tanto, el código para la activación de puertos es FE
Ilustración 4. Configuración de puertos por interrupción.
pág. 9
PRACTICA 5
//Encender todos los puertos de P1DIR, e interrumpir por el P1.7, al realizar esta
interrupción únicamente se quedarán encendidos los puertos pares (P1.0, P1.2, P1.4 y
P1.6).
La configuración de salida, para la activación de los puertos pares, queda con las dirección
siguiente: P1DIR |= 0x55;
Y la dirección para la interrupción: P1IE |= 0x80;
TABLA DE CONFIGURACION PARA LAS SALIDAS/ENTRADAS DEL MICRO
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
BIT = 8 BIT = 4 BIT = 2 BIT = 1 BIT = 8 BIT = 4 BIT = 2 BIT = 1
De acuerdo a la suma de los bits, la suma de los bits del lado izquierdo, son 5, y del lado
derecho; la suma sin tomar en cuenta el bit de interrupción (color verde), suman 5.
Por lo tanto, el código para la activación de puertos es 55.
Ilustración 5. Configuración de puertos por interrupción
pág. 10
PRACTICA 6
Se configura el microcontrolador para que enciendan todos los leds conectados al puerto
P2DIR. (Puerto 2).
Cuando se realiza una interrupción por el P2.0, se encenderá P2.1, después de un tiempo
(Delay), se enciende P2.2, después de un tiempo, se enciende P2.3, después de un tiempo se
enciende P2.4 y finalmente después de un tiempo se enciende P2.5
Ilustración 6. Configuración de puertos por interrupción.
pág. 11
La configuración de salida, para la activación de los puertos P2, queda con las dirección
siguiente: P2DIR |= 0x3E;
Y la dirección para la interrupción: P2IE |= 0x01;
TABLA DE CONFIGURACION PARA LAS SALIDAS/ENTRADAS DEL MICRO
P2.5 P2.4 P2.3 P2.2 P2.1 P2.0
BIT = 2 BIT = 1 BIT = 8 BIT = 4 BIT = 2 BIT = 1
De acuerdo a la suma de los bits, la suma de los bits del lado izquierdo, son 3, y del lado
derecho; la suma sin tomar en cuenta el bit de interrupción (color verde), suman 14
Según el código hexagesimal, el valor 14=E.
Por lo tanto, el código para la activación de puertos es 3E
.
,
A cada puerto de salida, se le agrega un ciclo While de tiempo (delay), para poder hacer la
espera de tiempo de encendido de cada puerto.
Ilustración 7. Ciclos While para el tiempo de encendido de cada puerto
pág. 12
CONFIGURACIÓN DE PUERTOS POR
TEMPORIZADORES
(TIMER)
pág. 13
CONFIGURACIÓN DE PUERTOS POR TEMPORIZADORES
PRACTICA 7 Semáforo de una vía
Generar un código para lograr simular el encendido de un semáforo. Usando tres salidas por
el Puerto 1 (P1DIR).
Para lograr hacer el simulado de un semáforo simple o semáforo de una via, es posible
realizarlo de dos diferentes forma, usando RETARDOS o haciendo uso de los
temporizadores.
Para el primer código (RETARDO) se presenta de la siguiente forma.
Ilustración 8. Semáforo de una vía, con uso de RETARDOS
pág. 14
La desventaja de este código para simular un semáforo de una vía, es que el uso de Tiempos,
crece dependiendo el tiempo que se le asigne a cada salida (Foco de semáforo).
Para el otro caso, haciendo uso de Temporizadores, se presenta de la siguiente forma.
Para este código, se hace uso de la sentencia While, para ciclar el encendido de LEDS
Ilustración 9. Semáforo de una vía, con uso de Temporizadores
Llamado de temporizadores
Llamado del TIMER_A0
haciendo uso de un
contador para determinar
los tiempos
pág. 15
La configuración de puertos para este semáforo queda de la siguiente manera
La configuración de salida, para la activación de los puertos, queda con las dirección
siguiente: P1DIR |= 0x07;
TABLA DE CONFIGURACION PARA LAS SALIDAS/ENTRADAS DEL MICRO
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
BIT = 8 BIT = 4 BIT = 2 BIT = 1 BIT = 8 BIT = 4 BIT = 2 BIT = 1
Color
Rojo
Color
Amarillo
Color
Verde
pág. 16
PRACTICA 8 Semáforo de dos vías
Generar un código para lograr simular el encendido de un semáforo de dos vías. Usando 6
salidas por el Puerto 1 (P1DIR).
Para el caso de este semáforo, únicamente se realizara el código con el uso de
Temporizadores
La secuencia para el encendido de semáforos, es de la siguiente manera
Semáforo
1
Semáforo
2
Verde Rojo
Amarillo Rojo
Rojo Verde
Rojo Amarillo
pág. 17
La configuración de puertos para este semáforo de dos vías queda de la siguiente manera
La configuración de salida, para la activación de los puertos, queda con las dirección
siguiente: P1DIR |= 0x3F;
TABLA DE CONFIGURACION PARA LAS SALIDAS/ENTRADAS DEL MICRO
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
BIT = 8 BIT = 4 BIT = 2 BIT = 1 BIT = 8 BIT = 4 BIT = 2 BIT = 1
Semáforo 2 Semáforo 1
De acuerdo a la suma de los bits, la suma de los bits del lado izquierdo, son 3, y del lado
derecho; la suma total es de 15.
Según el código hexagesimal, el valor 15=E.
Por lo tanto, el código para la activación de puertos es 3F.
Ilustración 10. Semáforo de dos vías, utilizando Temporizadores.
pág. 18
PRACTICA 9 Semáforo de tres vías
Generar un código para lograr simular el encendido de un semáforo de tres vías. Usando 6
salidas por el Puerto 1 (P1DIR) y por puerto 2 (P2DIR).
Para el caso de este semáforo, únicamente se realizara el código con el uso de
Temporizadores
La secuencia para el encendido de semáforos, es de la siguiente manera
Semáforo
1
Semáforo
2
Semáforo
3
Verde Rojo Rojo
Amarillo Rojo Rojo
Rojo Verde Rojo
Rojo Amarillo Rojo
Rojo Rojo Verde
Rojo Rojo Amarillo
pág. 19
Para este semáforo, se tiene que hacer uso del puerto 2 (P2DIR), para poder mandar a llamar
a mis salidas del puerto 2, se realiza la siguiente sintaxis.
#define Luces P1OUT
#define Luces2 P2OUT
El primero (Luces) hace llamado a los pines del Puerto (P!DIR), y el segundo (Luces2) hace
llamado a los puerto del (P2DIR).
La configuración de puertos para este semáforo de tres vías queda de la siguiente manera
La configuración de salida, para la activación de los puertos, queda con las dirección
siguiente: P1DIR |= 0xFF; y P2DIR = 0X01;
Ilustración 11. Semáforo de tres vías, usando temporizadores.
pág. 20
TABLA DE CONFIGURACION PARA LAS SALIDAS/ENTRADAS DEL MICRO
P2DIR P1DIR
P2.1 P2.0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
BIT=
2
BIT
= 1
BIT =
8
BIT =
4
BIT =
2
BIT =
1
BIT =
8
BIT =
4
BIT =
2
BIT =
1
Semáforo 3 Semáforo 2 Semáforo 1
Para este caso, se usa todo el puerto 1 (P1DIR), por eso el código queda con la salida FF, y
debido a que solo se utiliza una salida del puerto 2, el código queda con la llamada de 01.
De esta manera, en el ciclo While, al activar una salida de los puerto (P1DIR), se usara la
llamada #deifne Luces, y para hacer llamada de los puerto (P2DIR), se usara la llamada
#define Luces2.
pág. 21
PROYECTO
SEMAFORO DE 4 VIAS (USANDO SISTEMA DE
POTENCIA A 127V AC).
pág. 22
El desarrollo de este proyecto se dividirá en 3 etapas, la cual consiste en las siguientes:
Etapa 1: Código en software IAR
Etapa 2: Sistema de control (micro).
Etapa 3: Sistema de potencia.
Etapa 1
Código en software IAR
Antes de realizar el código, se debe determinar la secuencia para activar las salidas del micro,
debido a que se trata de un semáforo de 4 vías, la secuencia es larga y prolongada.
Por lo tanto, la secuencia queda determinada de la siguiente manera.
Secuencia de activación
SEMAFORO
1
SEMAFORO
2
SEMAFORO
3
SEMAFORO
4
V1 V2 V3 V4
A1 A2 A3 A4
R1 R2 R3 R4
Secuencias SEMAFORO 1 SEMAFORO 2 SEMAFORO 3 SEMAFORO 4
//1 V1 R2 R3 R4
//2 A1 R2 R3 R4
//3 R1 V2 R3 R4
//4 R1 A2 R3 R4
//5 R1 R2 V3 R4
//6 R1 R2 A3 R4
//7 R1 R2 R3 V4
//8 R1 R2 R3 A4
pág. 23
Elaboración de código.
La primer aparte del código, se realizan rutinas y configuraciones de puertos.
Las rutinas permitirán que la secuencia sea dada de forma correcta, haciendo conteo y estado
de espera para cada salida. Se realiza la llamada de relojes y temporizadores
Ilustración 12. Primera parte del codigo, llamados y rutinas.
pág. 24
La segunda parte del código, hace referencia al ciclo While, que permitirá ciclar y ejecutar
la secuencia las veces que sean necesarias.
En este caso, se ejecutan las salidas, activando los puertos que se vallan llamando.
Cada línea (//1, //2, //3, etc.), se van ejecutando de forma seriada, permitiendo activar cada
uno de los puertos a llamar, el ciclo While, permitirá ciclar las vece3s que sean necesarias,
ejecutando tantas veces las líneas.
Ilustración 13. Segunda parte del código, secuencia de activación.
pág. 25
Etapa 2
Etapa de control (Micro).
TABLA DE CONFIGURACION PARA LAS SALIDAS/ENTRADAS DEL MICRO
P2DIR P1DIR
P2.3 P2.2 P2.1 P2.0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
BIT =
8
BIT
=4
BIT
= 2
BIT
= 1
BIT
= 8
BIT
= 4
BIT
= 2
BIT
= 1
BIT
= 8
BIT
= 4
BIT
= 2
BIT
= 1
Semáforo 4 Semáforo 3 Semáforo 2
Semáforo 1
Para este caso, se usa todo el puerto 1 (P1DIR), por eso el código queda con la salida FF, y
debido a que solo se utilizan 4 salida2 del puerto 2, el código queda con la llamada de 0F;
pero se usaran todos, por cualquier otro detalle a realizar. Entonces queda como 3F.
Etapa 3
En esta etapa final, corresponde el implementar un sistema de control de potencia, para
activar focos a 127 volts, suprimiendo el uso de LEDS.
Los materiales a usar, son los siguientes.
12 relevadores de 5V de activación
12 Opto acopladores 4N32
12 resistencias de 330ohms.
12 Focos (4 verdes, 4 amarillos, 4 rojos)
12 soquets para los focos.
Microcontrolador MSP430
Fuente de alimentación 5V DC
Fuente de alimentación 127V AC
pág. 26
Para armar el sistema de 4 semáforos, nos basamos en el siguiente diagrama:
En base al diagrama anterior, se conectan todos y cada una de las salidas. En el diagrama, la
carga a activar, le hace referencia un LED, sin embargo, esta salida es remplazada por un
bombillo a 127 V AC.
DataSheets
Antes de conectar, es recomendable observar los datos oficiales de estos dos elementos y
conocer a que voltajes y cómo es posible conectar cada uno de ellos.
Opto acoplador 4N32
Ilustración 14. DataSheet 4N32
pág. 27
Relevador 5V
Para el uso de este dispositivo, únicamente se usaran los pines (5 y 4), para permitir dejar
pasar la corriente de la fuente de 127V.
Cuando al dispositivo le llega un voltaje a su bobina (pines 1 y 2), acciona su relé interno,
permitiendo abrir y cerrar sus contactos internos.
Por lo tanto, con la ayuda de este diagrama se conectan todos los relés y opto acopladores a
cada salida y/o pulso del microcontrolador.
Ilustración 16. Sistema de control de potencia.
Ilustración 15.diagrama de conexión del relevador a 5V
pág. 28
Finalmente, se conectan los bombillos y la alimentación de 127 Volts.
Ilustración 17.secuencia de activación (bombillo Rojo).
Ilustración 18. Secuencia de activación (bombillo Verde)