28
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 2016Abril 2016 Octavo A ING. MECATRÓNICA Ixmiquilpan, Hidalgo, Abril 2016.

Aplicaciones del microcontrolador MSP430

Embed Size (px)

DESCRIPTION

uso del dispositivo msp430 de Texas Instrument, demostrando con algunos ejemplos. -código simple activación de puertos-interrupciones-temporizadores-proyecto final de semáforo de 4 vias

Citation preview

Page 1: 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.

Page 2: Aplicaciones del microcontrolador MSP430

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

Page 3: Aplicaciones del microcontrolador MSP430

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.

Page 4: Aplicaciones del microcontrolador MSP430

pág. 4

CONFIGURACIÓN DE PUERTOS Y

CONFIGURACIÓN DE PUERTOS POR

INTERRUPCIÓN

Page 5: Aplicaciones del microcontrolador MSP430

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

Page 6: Aplicaciones del microcontrolador MSP430

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

Page 7: Aplicaciones del microcontrolador MSP430

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

Page 8: Aplicaciones del microcontrolador MSP430

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.

Page 9: Aplicaciones del microcontrolador MSP430

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

Page 10: Aplicaciones del microcontrolador MSP430

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.

Page 11: Aplicaciones del microcontrolador MSP430

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

Page 12: Aplicaciones del microcontrolador MSP430

pág. 12

CONFIGURACIÓN DE PUERTOS POR

TEMPORIZADORES

(TIMER)

Page 13: Aplicaciones del microcontrolador MSP430

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

Page 14: Aplicaciones del microcontrolador MSP430

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

Page 15: Aplicaciones del microcontrolador MSP430

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

Page 16: Aplicaciones del microcontrolador MSP430

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

Page 17: Aplicaciones del microcontrolador MSP430

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.

Page 18: Aplicaciones del microcontrolador MSP430

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

Page 19: Aplicaciones del microcontrolador MSP430

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.

Page 20: Aplicaciones del microcontrolador MSP430

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.

Page 21: Aplicaciones del microcontrolador MSP430

pág. 21

PROYECTO

SEMAFORO DE 4 VIAS (USANDO SISTEMA DE

POTENCIA A 127V AC).

Page 22: Aplicaciones del microcontrolador MSP430

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

Page 23: Aplicaciones del microcontrolador MSP430

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.

Page 24: Aplicaciones del microcontrolador MSP430

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.

Page 25: Aplicaciones del microcontrolador MSP430

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

Page 26: Aplicaciones del microcontrolador MSP430

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

Page 27: Aplicaciones del microcontrolador MSP430

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

Page 28: Aplicaciones del microcontrolador MSP430

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)