Microcontroladores –MTF-1021 –2016 –1er PARCIAL-7ºA
DESPLAZAMIENTO DE REGISTROS Jesús Ángel Aragón Morales
[email protected]
Miriam Puebla Ramos
[email protected]
Amaral Moisés Moisés Romero De Jesús
[email protected]
Julio Michael Méndez Castillo
[email protected]
2 PLANTEAMIENTO
RESUMEN: Esta práctica se resume en la utilización del microcontrolador MSP430G2 para programar,
¿Cuál sería el código de programación del microcontrolador para un desplazamiento de registros de 8 bits?
analizar y comprobar que dicho circuito integrado nos muestre los valores requeridos para que active la función de desplazamiento de registros.
3 DELIMITACIONES
PALABRAS CLAVE: bit, lógica, microcontrolador,
Bajo conocimiento en programación del lenguaje C++ y de la sintaxis para el microcontrolador.
programación.
ABSTRACT:
This practice is summarized in the use of the microcontroller MSP430G2 to Programming, analyze and verify that the integrated circuit show us the values required to activate the shift function registers.
4 JUSTIFICACIÓN Realizar un desplazamiento de registros por medio de códigos de asignación directa y cíclica por medio de compuertas lógicas.
KEYWORDS: bit, logic, microcontroller, programming
5 OBJETIVO GENERAL Generar un desplazamiento de registros con el microcontrolador MSP430G2 programando en IAR y
1 INTRODUCCIÓN
representándolo con una serie de LED’s
La siguiente práctica consistirá en l a utilización de un
microcontrolador
de
Texas
instrument
5.1 Objetivo secundario
MSP430G2, con ello se realizara la práctica de desplazamiento de registros los cuales se
mostrara físicamente con una serie de LED’s, la programación de este microcontrolador será en software IAR embeddedd workbench IDE 6.50.1 en lenguaje c++
1
Aprender a utilizar el microcontrolador MSP430G2 MSP430G2
Microcontroladores –MTF-1021 –2016 –1er PARCIAL-7ºA Operan en un rango de voltaje de 1.8V a 3.6V, con velocidades de operación desde 0 HZ hasta 25 MHz. La memoria de programa varía desde 512 Bytes hasta 256Kbytes. Están diseñados en torno a un CPU de 16 bits, con arquitectura Von Newman, por lo que la RAM, ROM y periféricos residen en el mismo espacio de memoria. No cuentan con buses externos, así que no hay operación en modo microcomputadora, únicamente en modo microcontrolador.
6 MARCO TEÓRICO ¿Qué es un microcontrolador?
Las configuraciones de estos dispositivos incluyen osciladores internos, temporizadores, generadores de PWM, temporizador de seguridad o watchdog timer, A/D de 10,12,14, ó 16 bits, D/A de hasta 12 bits, comparadores analógicos, amplificadores operacionales para acondicionamiento de señales, manejadores para displays LCD, multiplicadores por hardware, USB y DMA para recuperar los resultados del A/D. [1] Figura 1. Microcontrolador
Un microcontrolador es un circuito integrado que en su interior contiene una unidad central de procesamiento (CPU), unidades de memoria RAM y ROM, periféricos de entrada y de salida. Estas partes estar interconectadas dentro de la estructura del microcontrolador y en conjunto forman lo que se conoce como microcomputadora, en otras palabras se puede decir que un microcontrolador es una microcomputadora encapsulada en un circuito integrado. Figura 3. Diagrama a bloques de MSP430G2X53
Operaciones bit a bit
Los operadores bit a bit realizan operaciones AND bit a bit (&), OR exclusivo bit a bit ( ^) y OR inclusivo bit a bit ( |). Sintaxis AND-expression: equality-expression AND-expression & equality-expression exclusive-OR-expression: AND-expression exclusive-OR-expression ^ AND-expression inclusive-OR-expression: exclusive-OR-expression inclusive-OR-expression | exclusive-OR-expression
Figura 2. Diagrama de un microcontrolador
Los operandos de los operadores bit a bit deben tener tipos enteros, pero sus tipos pueden ser diferentes.Estos operadores realizan las conversiones aritméticas habituales; el tipo del resultado es el tipo de los operandos después de la conversión. [2]
Microcontrolador MSP430G2X53 Los Procesadores de Señales Mixtas (Mixed Signal Processor) MSP 430 de Texas Instruments son una familia de microcontroladores con capacidad añadida para operaciones de procesamiento analógico de complejidad simple a media, consumo de corriente ultra bajo, integrada por una muy amplia gama de dispositivos con el mismo núcleo y diferentes capacidades de memoria y periféricos, todos ellos compatibles en software, lo que permite una migración sencilla entre diseños a dispositivos con mayor capacidad de memoria o periféricos adicionales.
2
Microcontroladores –MTF-1021 –2016 –1er PARCIAL-7ºA Tabla 1. Operadores en c Operador
&
^
|
Descripcion El operador AND bit a bit compara cada bit de su primer operando con el bit correspondiente de su segundo operando.Si ambos bits son 1, el bit del resultado correspondiente se establece en 1. De lo contrario, el bit del resultado correspondiente se establece en 0. El operador OR exclusivo(X-OR) bit a bit compara cada bit de su primer operando con el bit correspondiente de su segundo operando.Si un bit es 0 y el otro bit es 1, el bit del resultado correspondiente se establece en 1.De lo contrario, el bit del resultado correspondiente se establece en 0.
Figura 5. Tarjeta de pruebas 1.
Primer Programa (Forma directa)
Para el Programa de forma directa se dezplazaran los registros estableciendo la sucesion asiganndolo directamente a los pines (Pines del puerto 1). Vea el Codigo 1 del Anexo A.
El operador OR inclusivo bit a bit compara cada bit de su primer operando con el bit correspondiente de su segundo operando.Si uno de los dos bits es 1, el bit del resultado correspondiente se establece en 1.De lo contrario, el bit del resultado correspondiente se establece en 0.
7 METODOLOGIA En esta práctica se utilizó el microcontrolador MSP430G2X53 en el cual se le cargo un programa para realizar un desplazamiento de registros, y para visulizar que esto funciona se conectara a una tarjeta de LED’s para ello realizamos 2 programas, en el primero solo ocupamos otput para activar los puertos y el segundo programa relizamos operaciones bit a bit en el cual se utilizaron operadores OR exclusivo (X-OR).(‘esto es opcional, en el caso de este equipo se decidio probar con los dos programas ’)
Figura 4. Microcontrolador MSP430G2X53
3
Proceso del programa (Código 1).Forma directa
Microcontroladores –MTF-1021 –2016 –1er PARCIAL-7ºA 3. 2.
Segundo programa (Con compuertas)
Para este programa se creara un ciclo de efectopingpong(de ida y vuelta) el cual realizara siete iterasiones con dezplazameitno de un registro. Vea el Codigo 3 del Anexo A.
Para este programa se realizara el dezplazamiento de registros por medio de compuertas X-OR con mascaras adecuadas, la cual ara la operacion con el registro anterior, arojando el dezplazamiento deseado. Vea el Codigo 2 del Anexo A.
Tercer programa(Ciclo for con operadores de desplazamiento)
Proceso del programa (Código 2).Forma con compuertas X-OR
4
Proceso del programa (Código 3).Ciclos for con operadores de desplazamiento directo
Microcontroladores –MTF-1021 –2016 –1er PARCIAL-7ºA Resultados del Código 3 de cómo sería el desplazamiento de registro en binario:
8 RESULTADOS Resultado del Código 1 de como seria el desplazamiento de registros en binario: P1OUT &=0X00 P1OUT-BIT 0 P1OUT-BIT 1 P1OUT-BIT 2 P1OUT-BIT 3 P1OUT-BIT 4 P1OUT-BIT 5 P1OUT-BIT 6 P1OUT-BIT 7 P1OUT-BIT 6 P1OUT-BIT 5 P1OUT-BIT 4 P1OUT-BIT 3 P1OUT-BIT 2 P1OUT-BIT 1 P1OUT-BIT 0 P1OUT &=0X00
0000 0000 0000 0001 0000 0010 0000 0100 0000 1000 0001 0000 0010 0000 0100 0000 1000 0000 0100 0000 0010 0000 0001 0000 0000 1000 0000 0100 0000 0010 0000 0001 0000 0000
Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado
for ( i = 0 ; i < 8 ; i++ ) P1OUT=(1 << i);
for ( i = 7 ; i >= 0 ; i-- ) P1OUT=(1 << i);
P1OUT ^= 0x01; P1OUT ^= 0x03; P1OUT ^= 0x06; P1OUT ^= 0x0C; P1OUT ^= 0x18; P1OUT ^= 0x30; P1OUT ^= 0x60; P1OUT ^= 0x0C; P1OUT ^= 0x0C; P1OUT ^= 0x60; P1OUT ^= 0x30; P1OUT ^= 0x18; P1OUT ^= 0x0C; P1OUT ^= 0x06; P1OUT ^= 0x03; P1OUT ^= 0x01;
Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado
Para ambos programas obtuvimos los mismos resultados, el desplazamiento de registros resulto satisfactorio visualizándolo en la tarjeta de pruebas.
Resultado del Coidgo 2 de como seria el desplazamiento de registros en binario: 0000 0000 0000 0001 0000 0001 0000 0011 0000 0010 0000 0110 0000 0100 0000 1100 0000 1000 0001 1000 0001 0000 0011 0000 0010 0000 0110 0000 0100 0000 1100 0000 1000 0000 1100 0000 0100 0000 0110 0000 0010 0000 0011 0000 0001 0000 0001 1000 0000 1000 0000 1100 0000 0100 0000 0110 0000 0010 0000 0011 0000 0001 0000 0001 0000 0000
0000 0000 0000 0001 0000 0010 0000 0100 0000 1000 0001 0000 0010 0000 0100 0000 1000 0000 0100 0000 0010 0000 0001 0000 0000 1000 0000 0100 0000 0010 0000 0001 0000 0000
Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado Resultado
Figura 6. Prueba del primer programa
Resultado Resultado Resultado Resultado Resultado Resultado Resultado
Figura 6. Prueba del segundo programa
5
Microcontroladores –MTF-1021 –2016 –1er PARCIAL-7ºA
9 CONCLUSIONES
11. Anexo A
Logramos identificar como se representa en binario cada puerto de salida, logrando manipular los registros por medio de compuertas X-OR, para la sucesión de los registros. Comprendimos como cargar códigos en nuestro microcontrolador mediante el software IAR. Supimos como poder controlar directamente cada puerto de salida del microcontrolador mediante un código de asignación directa. Logramos el objetivo de la realización de códigos por medio de asignación directa así como de un código con ciclos para el desplazamiento de registros.
Codigo 1. Forma directa
10 REFERENCIAS [1]http://kali.azc.uam.mx/erm/Media/1123021/introduccion _al_msp430.pdf [2]https://msdn.microsoft.com/eses/library/17zwb64t.aspx
6
Microcontroladores –MTF-1021 –2016 –1er PARCIAL-7ºA
Código 2. Compuerta X-OR.
Código 3. Ciclo desplazamiento.
7
for
con operadores de
Microcontroladores –MTF-1021 –2016 –1er PARCIAL-7ºA
8