SlideShare una empresa de Scribd logo
Práctica 2 Ensamblador
Timer(PWM)
Pérez Camacho Jesús Asmeth
Ingeniería en Sistemas Computacionales,
Instituto Tecnológico de Tuxtla Gutiérrez,
Tuxtla Gutiérrez Chiapas
killerMstr1@gmail.com
Abstract—En este documento se recopila toda la información
utilizada para el diseño de la práctica en ensamblador.
I. INTRODUCCIÓN
El timer a es un temporizador/contador el cual utilizaremos
para nuestras aplicaciones con distintos fines ya que con el
podemos medir y generar intervalos de tiempo, utilizarlo como
contador de eventos, generar PWM a distintas frecuencias,
muestrear señales etc.
II. DESARROLLO DE CONTENIDOS
Si tenemos un contador de pulsos al cual le insertamos una
señal cuadrada de cierto periodo conocido, entonces después
de cierto tiempo al consultar la cuenta podremos calcular el
tiempo que ha transcurrido desde que iniciamos la cuenta. En
si este es el principio básico de este periférico.
Fig. 1. Modulo Timer
Podemos ver en el diagrama a bloques del Timer_A que hay
un multiplexor de 4 entradas y una salida el cual es controlado
por TASSELx después de ello hay un divisor de frecuencias
controlado por IDx el cual puede dividir la señal por 2, 4 y 8,
después esta señal ya seleccionada y dividida pasa a alimentar
al contador/temporizador de 16 bits almacenando la cuenta en
el registro llamado TAR, además este contador/temporizador
es controlado por los bits MCx los cuales se encargan de
controlar el modo de cuenta del contador/temporizador.
También podemos ver que tanto al divisor de frecuen-
cia como al contador/temporizador cuentan con un bit mas
llamado TACLR el cual se encarga de resetear los valores
tanto del TAR como del IDx. Por ultimo podemos ver que
la única salida con la que cuenta este modulo es la TAIFG,
es decir que depende como configuremos a este modulo en
conjunto de en que momento será enviada la interrupción a la
CPU. A continuación describiremos los bits específicos antes
mencionados junto con los valores que pueden tomar.
1) TAR: En este modo existe un registro de 16 bits llamado
TAR (Timer A Register) el cual es incrementado o decremen-
tado por cada flanco ascendente de la señal cuadrada del reloj,
es decir que en este registro se almacena la cuenta de pulsos
de periodo conocido de la señal cuadrada que incide en el
contador. Este registro es el mas importante de el timer a el
cual se puede tanto leer como escribir en el.
2) TASSELx e IDx : El contador se puede alimentar de
diferentes fuentes de reloj tanto internas como externas, la
selección de esto se hace mediante los bits llamados TASSELx
(Timer A Source Select) y además estas fuentes pueden ser
divididas por 2, 4, 8 con los birs llamados IDx (Input Divider)
ambos se encuentran en el registro llamado TACTLx (Timer A
Control Register) . Tanto TASSELx como IDx son conjuntos
de 2 bits dentro de este registro. (Para mayor información con
respecto a las fuentes de reloj visitar la sección del sistema
de reloj). TASSELx ocupa las posiciones 8 y 9 del registro de
16 bits TACTL y puede adquirir los siguientes valores.
• 00 TACLK Reloj del Timer_A (Timer_A Clock)
• 01 ACLK Reloj auxiliar (Auxiliary Clock)
• 10 SMCLK Reloj sub principal (Semi Master Clock)
• 11 INCLK No disponible para nuestro caso IDx ocupa
las posiciones 6 y 7 del registro de 16 bits TACTL y puede
adquirir los siguientes valores.
• 00 Frecuencia de entrada/1
• 01 Frecuencia de entrada/2
• 10 Frecuencia de entrada/4
• 11 Frecuencia de entrada/8
3) MCx : El modo de cuenta es controlado por estos dos
bits dependiendo del valor de estos dos bits podemos elegir
entre los 4 modos de cuenta disponibles: detenido, ascendente,
continuo, ascendente/descendente. Depende de los modos de
cuenta el momento en el que la interrupción será generada, a
continuación te mostramos una tabla con sus valores, después
de ello su descripción individual mas detallada.
• 00 detenido
• 01 ascendente
• 10 continuo
• 11 ascendente/descendente
A. MODOS DE CUENTA
1) MODO ASCENDENTE : En este modo el conta-
dor/temporizador contara desde cero hasta el valor almacenado
en TACCR0, después de eso la cuenta se reinicia y continua de
nuevo. En la siguiente imagen se puede ver mejor este modo
de cuenta.
Fig. 2. Modo ascendente
La interrupción se genera en el momento en el que la cuenta
en TAR cambia de el valor de TACCR0 a 0. Imaginemos que
tenemos una frecuencia de 4MHZ externa mediante un cristal
de cuarzo conectado en las terminales del puerto dos, con esta
señal alimentaremos a nuestro contador/temporizador, por lo
cual TASSELx debe ser 01, además utilizaremos un divisor
por 4 para obtener una frecuencia de 1MHz y así un periodo
de 1us, para eso IDx debe ser 10.
Lo que deseamos es interrumpir a la CPU cada 1ms por lo
que deben de transcurrir 1000 pulsos de la señal que hemos
configurado para que esto ocurra, para ello cargamos 1000
en TACCR0 y por ultimo iniciaremos la cuenta al poner en
MCx el valor de 01. Lo único que resta es definir la rutina de
servicio a la interrupción además del vector de interrupción
correspondiente para por ejemplo encender y apagar un led
cada 1ms.
2) MODO CONTINUO: En este modo el
contador/temporizador cuenta de manera repetida hasta
el valor máximo permitido el cual es 0xFFFF y después
regresa a cero, así la bandera de interrupción es colocada
cuando la cuenta pasa desde 0xFFFF a 0x0, así podemos
generar interrupciones con periodo de 65535(Tsrc) donde
Tsrc es el periodo de la fuente que seleccionamos con su
respectivo divisor de frecuencia. A continuación una imagen
que ilustra de mejor manera este modo.
Fig. 3. Modo continuo
En el ejemplo anterior este Tsrc es de 1us por tanto con
esas configuraciones se pueden generar interrupciones con
un periodo de 65.535ms. Además de generar estos periodos
podemos hacer uso de los registros TACCR0 y TACCR1, con
ellos podemos generar intervalos de tiempo independientes,
posteriormente veremos como implementar esto para generar
intervalos de tiempo independientes.
3) MODO ASCENDENTE/DESCENDENTE: En este modo
el contador/temporizador cuenta desde cero hasta el valor de
TACCR0 de manera ascendente y después cuenta de manera
descendente hasta cero. Esto nos será útil para la generación
de pulsos simétricos, así el periodo será de el doble del valor
almacenado en TACCR0. A continuación una imagen que
muestra este modo de cuenta.
Fig. 4. Modo ascendente/descendente
En este modo la interrupción se genera cuando la cuenta
pasa de 0x0001 a 0x0000, como podemos ver en todos los
casos la bandera de interrupción TAIFG es generada cuando
la cuenta pasa por cero.
B. TIMER EN CAPTURA
El modo de captura nos servirá para realizar mediciones de
tiempo, como por ejemplo para medir velocidades de computo
o bien para medir periodos de tiempo generados por fuentes
externas. La precisión de la medición depende de muchos
factores como la interferencia que puede generar la CPU o
el hardware con el que se realiza, así como de la fuente de
reloj aplicada además del número de bits involucrados en la
medición.
A continuación un diagrama de bloques de un modulo de
captura y comparación, donde te explicaremos los bits que
interfieren en la configuración de este módulo.
Fig. 5. Diagrama de bloques (Modo captura)
1) CAP: El bit CAP (Capture Mode) nos servirá para
seleccionar este modo ya que el modulo en si puede trabajar
en captura o comparación, este ocupa la posición 8 del registro
llamado TACCTLx.
• 0 Modo de comparación
• 1 Modo de captura El grupo de bits llamado CCISx
(Capture Compare Input Select) nos ayudara a seleccionar de
donde provendrá nuestra señal a medir, este esta en los bits
12 y 13 de TACCTLx.
• 00 Bit CCIxA del encapsulado
• 01 Bit CCIxB del encapsulado
• 10 GND
• 11 VCC Nuestro dispositivo solo cuenta con CCI0A y
CCI1A los cuales se ubican en los puertos P1.1 y P1.2, estos
los configuramos para esta función a través del registro P1SEL
poniendo a 1 los bits 1 y 2 de este registro.
2) CMx: Los bits CMx nos ayudaran a seleccionar el flanco
de captura de la señal de entrada, ya sea flaco de bajada, de
subida o ambos. Cuando una captura ocurre el valor del TAR
es copiado en TACCRx y la bandera de interrupción llamada
CCIFG es colocada, estos bits están en las posiciones 14 y 15
de TACCTLx
• 00 No hay captura
• 01 Captura con flanco ascendente
• 10 Captura en flanco descendente
• 11 Captura en ambos flancos
3) CCI: El bit CCI nos ayudara para leer en cualquier
momento el nivel lógico de la entrada, este esta ubicado en la
posición 3 del registro TACCTLx.
4) SCS: El bit llamado SCS nos ayudara a sincronizar la
entrada con el reloj del contador/temporizador.
• 0 Captura asincrona
• 1 Captura síncrona
5) COV: Un sobre flujo lógico es provisto en cada registro
de captura comparación para indicar que una segunda captura
ha ocurrido antes de que el valor de la primera captura sea
leído.
• 0 No ha ocurrido sobre flujo en la captura
• 1 Ocurrió sobre flujo en la captura
Como podemos ver el registro utilizado para la configu-
ración de este modulo aun tiene muchos bits que no hemos
usado, estos bits que no hemos mencionado serán utilizados
para la configuración del modo de comparación.
C. TIMER EN COMPARACION
Este modo es seleccionado cuando CAP=1, este modo lo
usaremos principalmente para generar PWM o interrupciones
a intervalos específicos en el momento en que TAR cuente al
valor de los registros TACCRx. A continuación un diagrama
de bloques de los módulos de comparación y captura.
Fig. 6. Diagrama de módulo de comparación
La unidad de salida esta presente en todo modulo de captura
comparación esta es la que usaremos para generar señales
PWM cada unidad cuenta con ocho modos de operación
que generan diferentes señales de salida, estos modos de
salida serán configurados por el grupo de tres bits llamados
OUTMODx que se encuentran en TACCTLx. A continuación
una lista con los valores que pueden tomar estos tres bits
además de una descripción de la función que cumplen de
acuerdo a cada valor asignado.
000.-Modo Salida. En este modo la salida es igual al
contenido del bit OUTx en este mismo registro
001.-Modo Colocar. La salida pasa a 1 cuando el conta-
dor/temporizador cuenta al valor en TACCRx y permanece
así hasta que el contador/temporizador sea reiniciado u otro
modo de salida sea seleccionado.
010.-Modo Conmutar/Reiniciar.- La salida es conmutada
cuando el contador/temporizador cuenta al valor en TACCRx y
es reiniciada cuando el contador/temporizador cuenta al valor
de TACCR0.
011.- Modo Colocar/Reiniciar.- La salida es puesta a 1
cuando en contador/temporizador cuenta al valor de TACCRx
Fig. 7. Modo Ascendente (PWM)
Fig. 8. Modo Continuo (PWM)
y es puesto a 0 cuando el contador/temporizador cuenta al
valor de TACCR0.
100.- Modo Conmutar.- La salida es conmutada cuando el
contador/temporizador cuenta al valor de TACCRx, el periodo
de salida es el doble que el periodo del contador/temporizador
101.- Modo Reiniciar.- La salida es puesta a cero cuando
el contador/temporizador cuenta al valor de TACCRx y per-
manece ahí hasta que otro modo de salida sea seleccionado.
110.- Modo Conmutar/Colocar.- La salida es conmutada
cuando el contador/temporizador cuenta al valor de TACCRx,
es puesta a 1 cuando el contador/temporizador cuenta al valor
en TACCR0
Fig. 9. Modo Ascendente/Descendente (PWM)
111.- Modo Reiniciar/Colocar.- La salida es reiniciada
cuando el contador/temporizador cuenta al valor en TACCRx,
después es puesta a 1 cuando el contador/temporizador cuenta
al valor de TACCR0 A continuación unas imágenes donde
podemos ver como es que esto afecta a la señal de PWM en
la salida según cada modo de cuenta y su respectivo modo de
salida.
A partir de conocer tanto el modo de cuenta como el modo
de salida podremos obtener la señal de PWM que mejor nos
convenga con el periodo y ciclo útil que queramos.
Posteriormente para realizar la práctica se declara los módu-
los a utilizar, se direciona los puertos de salida del pwm y se
afecta a la variable correspondiente, para utilizar el módulo del
timer en este caso se afecto la variable TACCR1 para variar la
intensidad del led y se direcciono el puerto P1.2 como salida
del pwm.
III. CONCLUSIÓN
El modulo del timer del msp430g2553 nos ofrece varias
funciones, una de las funciones se representa en esta práctica,
existen diferentes modos de manejo del PWM y en esta
práctica se utilizado afectado la variable TACCR1, no fue
muy complejo, solo se necesitan declarar los módulos y las
variables a utilizar, en esta práctica solo se utiliza un módulo
pero uniendo todos los módulos del LaunchPad msp430g2553
podremos hacer grandes cosas.
[?]
REFERENCES
[1] http://www.ccs.neu.edu/home/noubir/Courses/SWARM/S09/slides/msp430-
clocks-timers.pdf
[2] http://homepages.ius.edu/RWISMAN/C335/HTML/msp430Timer.HTM
[3] http://web.eng.fiu.edu/watsonh/eel4730/slap113.pdf
[4] https://courses.cs.washington.edu/courses/cse466/11au/calendar/04-
Interrupts-posted.pdf
[5] http://dbindner.freeshell.org/msp430/
https://www.youtube.com/watch?v=oOWDnlvPUUA
Fig. 10. Resultados de la práctica

Más contenido relacionado

La actualidad más candente

Modulos ccp v2(ring telefono)
Modulos ccp v2(ring telefono)Modulos ccp v2(ring telefono)
Modulos ccp v2(ring telefono)
panchito24mayo
 
Guía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupcionesGuía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupcionesLuis Zurita
 
Uso del timer0 para el pic 16 f877a con el compilador hi tech
Uso del timer0 para el pic 16 f877a con el compilador hi techUso del timer0 para el pic 16 f877a con el compilador hi tech
Uso del timer0 para el pic 16 f877a con el compilador hi tech
Carlos Buitron Quispe
 
Pwm
PwmPwm
Modulo Timer 0 del PIC16F887
Modulo Timer 0 del PIC16F887Modulo Timer 0 del PIC16F887
Modulo Timer 0 del PIC16F887
Fernando Aparicio Urbano Molano
 
Introducpic2
Introducpic2Introducpic2
Introducpic2conalep
 
Introducpic
IntroducpicIntroducpic
Introducpicconalep
 
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizadorLab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizadorDaniel Pardo
 
Ctrl discreto de un motor de cc en velocidad
Ctrl discreto de un motor de cc en velocidadCtrl discreto de un motor de cc en velocidad
Ctrl discreto de un motor de cc en velocidad
Miguel sosa
 
Ccp2009170309
Ccp2009170309Ccp2009170309
Ccp2009170309
Luis Zurita
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
jbersosa
 
Pwm
PwmPwm

La actualidad más candente (20)

Modulos ccp v2(ring telefono)
Modulos ccp v2(ring telefono)Modulos ccp v2(ring telefono)
Modulos ccp v2(ring telefono)
 
Guía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupcionesGuía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupciones
 
Uso del timer0 para el pic 16 f877a con el compilador hi tech
Uso del timer0 para el pic 16 f877a con el compilador hi techUso del timer0 para el pic 16 f877a con el compilador hi tech
Uso del timer0 para el pic 16 f877a con el compilador hi tech
 
Pwm
PwmPwm
Pwm
 
Modulo Timer 0 del PIC16F887
Modulo Timer 0 del PIC16F887Modulo Timer 0 del PIC16F887
Modulo Timer 0 del PIC16F887
 
Introducpic2
Introducpic2Introducpic2
Introducpic2
 
Introducpic
IntroducpicIntroducpic
Introducpic
 
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizadorLab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
 
Ctrl discreto de un motor de cc en velocidad
Ctrl discreto de un motor de cc en velocidadCtrl discreto de un motor de cc en velocidad
Ctrl discreto de un motor de cc en velocidad
 
Uso del tmr0
Uso del tmr0Uso del tmr0
Uso del tmr0
 
TMR0 Y RB0_INT
TMR0 Y RB0_INTTMR0 Y RB0_INT
TMR0 Y RB0_INT
 
Ccp2009170309
Ccp2009170309Ccp2009170309
Ccp2009170309
 
06.Temporizadores
06.Temporizadores06.Temporizadores
06.Temporizadores
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Pwm
PwmPwm
Pwm
 
Reloj digital
Reloj digitalReloj digital
Reloj digital
 
Micro2 tema 3
Micro2 tema 3Micro2 tema 3
Micro2 tema 3
 
Informe 4 digitales
Informe 4 digitalesInforme 4 digitales
Informe 4 digitales
 
Introduccionpwm
IntroduccionpwmIntroduccionpwm
Introduccionpwm
 
Micro2 tema 2
Micro2 tema 2Micro2 tema 2
Micro2 tema 2
 

Destacado

Material Auxiliar Para Curso BáSico Msp430 55 A 98
Material Auxiliar Para Curso BáSico Msp430   55 A 98Material Auxiliar Para Curso BáSico Msp430   55 A 98
Material Auxiliar Para Curso BáSico Msp430 55 A 98
Texas Instruments
 
Reporte de instalación prolog MAC OS
Reporte de instalación prolog MAC OSReporte de instalación prolog MAC OS
Reporte de instalación prolog MAC OS
Instituto Tecnológico de Tuxtla Gutiérrez
 
INSTALACIÓN DE PROLOG EN WINDOWS
INSTALACIÓN DE PROLOG EN WINDOWSINSTALACIÓN DE PROLOG EN WINDOWS
INSTALACIÓN DE PROLOG EN WINDOWS
Instituto Tecnológico de Tuxtla Gutiérrez
 
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...
Instituto Tecnológico de Tuxtla Gutiérrez
 
SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...
SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...
SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...
Instituto Tecnológico de Tuxtla Gutiérrez
 
UNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓNUNIDAD 3 MODULARIZACIÓN
PRÁCTICA 1 ENSAMBLADOR- JESÚS ASMETH PEREZ CAMACHO
PRÁCTICA 1 ENSAMBLADOR- JESÚS ASMETH PEREZ CAMACHOPRÁCTICA 1 ENSAMBLADOR- JESÚS ASMETH PEREZ CAMACHO
PRÁCTICA 1 ENSAMBLADOR- JESÚS ASMETH PEREZ CAMACHO
Instituto Tecnológico de Tuxtla Gutiérrez
 
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD DEL SUELO PARA EL CULTIVO DEL ...
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD DEL SUELO PARA EL CULTIVO DEL ...SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD DEL SUELO PARA EL CULTIVO DEL ...
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD DEL SUELO PARA EL CULTIVO DEL ...
Instituto Tecnológico de Tuxtla Gutiérrez
 
EJERCICIOS DE RECURSIVIDAD EN HASKELL
EJERCICIOS DE RECURSIVIDAD EN HASKELLEJERCICIOS DE RECURSIVIDAD EN HASKELL
EJERCICIOS DE RECURSIVIDAD EN HASKELL
Instituto Tecnológico de Tuxtla Gutiérrez
 
Introducción al microcontrolador MSP430
Introducción al microcontrolador MSP430Introducción al microcontrolador MSP430
Introducción al microcontrolador MSP430Julio Jornet Monteverde
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
Instituto Tecnológico de Tuxtla Gutiérrez
 

Destacado (12)

Material Auxiliar Para Curso BáSico Msp430 55 A 98
Material Auxiliar Para Curso BáSico Msp430   55 A 98Material Auxiliar Para Curso BáSico Msp430   55 A 98
Material Auxiliar Para Curso BáSico Msp430 55 A 98
 
Reporte de instalación prolog MAC OS
Reporte de instalación prolog MAC OSReporte de instalación prolog MAC OS
Reporte de instalación prolog MAC OS
 
INSTALACIÓN DE PROLOG EN WINDOWS
INSTALACIÓN DE PROLOG EN WINDOWSINSTALACIÓN DE PROLOG EN WINDOWS
INSTALACIÓN DE PROLOG EN WINDOWS
 
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...
 
SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...
SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...
SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...
 
UNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓNUNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓN
 
PRÁCTICA 1 ENSAMBLADOR- JESÚS ASMETH PEREZ CAMACHO
PRÁCTICA 1 ENSAMBLADOR- JESÚS ASMETH PEREZ CAMACHOPRÁCTICA 1 ENSAMBLADOR- JESÚS ASMETH PEREZ CAMACHO
PRÁCTICA 1 ENSAMBLADOR- JESÚS ASMETH PEREZ CAMACHO
 
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD DEL SUELO PARA EL CULTIVO DEL ...
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD DEL SUELO PARA EL CULTIVO DEL ...SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD DEL SUELO PARA EL CULTIVO DEL ...
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD DEL SUELO PARA EL CULTIVO DEL ...
 
EJERCICIOS DE RECURSIVIDAD EN HASKELL
EJERCICIOS DE RECURSIVIDAD EN HASKELLEJERCICIOS DE RECURSIVIDAD EN HASKELL
EJERCICIOS DE RECURSIVIDAD EN HASKELL
 
Introducción al microcontrolador MSP430
Introducción al microcontrolador MSP430Introducción al microcontrolador MSP430
Introducción al microcontrolador MSP430
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADORUNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
 

Similar a PRÁCTICA 2 ENSAMBLADOR - JESÚS ASMETH PÉREZ CAMACHO

Lab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdfLab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdf
sopitamani1
 
Tacometro digital
Tacometro digitalTacometro digital
Tacometro digital
sant1288
 
Arquitectura del plc
Arquitectura del plcArquitectura del plc
Arquitectura del plc
ForrestMamani
 
Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887
Fernando Aparicio Urbano Molano
 
Clase Timer 1
Clase Timer 1Clase Timer 1
Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05
Hamiltonn Casallas
 
TEMPORIZADORES Y CONTADORES.PDF
TEMPORIZADORES Y CONTADORES.PDFTEMPORIZADORES Y CONTADORES.PDF
TEMPORIZADORES Y CONTADORES.PDF
HernandezDeLaHozVict
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06
Hamiltonn Casallas
 
Contadores a y s síncronos
Contadores a y s síncronosContadores a y s síncronos
Contadores a y s síncronos
Diego Ayala
 
Curso Micro Tema 4
Curso Micro Tema 4Curso Micro Tema 4
Curso Micro Tema 4
Luis Zurita
 
Organización de computadoras
Organización de computadorasOrganización de computadoras
Organización de computadoras
yito24
 
Clase no12
Clase no12Clase no12
Clase no12edu7611
 
Monografia contador digital
Monografia contador digitalMonografia contador digital
Monografia contador digitalJuanito Edgar
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesi
David Narváez
 
pwm fast en un microcontrolador 328p.pptx
pwm  fast en un microcontrolador 328p.pptxpwm  fast en un microcontrolador 328p.pptx
pwm fast en un microcontrolador 328p.pptx
jjcordero1
 
Turno electronico
Turno electronicoTurno electronico
Turno electronico
Jomicast
 

Similar a PRÁCTICA 2 ENSAMBLADOR - JESÚS ASMETH PÉREZ CAMACHO (20)

Lab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdfLab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdf
 
preinforme PWM
preinforme PWMpreinforme PWM
preinforme PWM
 
Tacometro digital
Tacometro digitalTacometro digital
Tacometro digital
 
Arquitectura del plc
Arquitectura del plcArquitectura del plc
Arquitectura del plc
 
Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887
 
Clase Timer 1
Clase Timer 1Clase Timer 1
Clase Timer 1
 
Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05
 
TEMPORIZADORES Y CONTADORES.PDF
TEMPORIZADORES Y CONTADORES.PDFTEMPORIZADORES Y CONTADORES.PDF
TEMPORIZADORES Y CONTADORES.PDF
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06
 
final PWM
final PWMfinal PWM
final PWM
 
Contadores a y s síncronos
Contadores a y s síncronosContadores a y s síncronos
Contadores a y s síncronos
 
Curso Micro Tema 4
Curso Micro Tema 4Curso Micro Tema 4
Curso Micro Tema 4
 
Organización de computadoras
Organización de computadorasOrganización de computadoras
Organización de computadoras
 
Clase no12
Clase no12Clase no12
Clase no12
 
Monografia contador digital
Monografia contador digitalMonografia contador digital
Monografia contador digital
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesi
 
pwm fast en un microcontrolador 328p.pptx
pwm  fast en un microcontrolador 328p.pptxpwm  fast en un microcontrolador 328p.pptx
pwm fast en un microcontrolador 328p.pptx
 
Turno electronico
Turno electronicoTurno electronico
Turno electronico
 
Clase 3 cdii
Clase 3 cdiiClase 3 cdii
Clase 3 cdii
 
Timers
TimersTimers
Timers
 

Último

Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
20minutos
 
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
AracelidelRocioOrdez
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
cintiat3400
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
Profes de Relideleón Apellidos
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
ClaudiaAlcondeViadez
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
pablomarin116
 
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docxENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
SandraPiza2
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
Edurne Navarro Bueno
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
MauricioSnchez83
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
danitarb
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
Alejandrino Halire Ccahuana
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
YasneidyGonzalez
 

Último (20)

Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
 
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
 
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docxENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
ENSAYO SOBRE LA ANSIEDAD Y LA DEPRESION.docx
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 

PRÁCTICA 2 ENSAMBLADOR - JESÚS ASMETH PÉREZ CAMACHO

  • 1. Práctica 2 Ensamblador Timer(PWM) Pérez Camacho Jesús Asmeth Ingeniería en Sistemas Computacionales, Instituto Tecnológico de Tuxtla Gutiérrez, Tuxtla Gutiérrez Chiapas killerMstr1@gmail.com Abstract—En este documento se recopila toda la información utilizada para el diseño de la práctica en ensamblador. I. INTRODUCCIÓN El timer a es un temporizador/contador el cual utilizaremos para nuestras aplicaciones con distintos fines ya que con el podemos medir y generar intervalos de tiempo, utilizarlo como contador de eventos, generar PWM a distintas frecuencias, muestrear señales etc. II. DESARROLLO DE CONTENIDOS Si tenemos un contador de pulsos al cual le insertamos una señal cuadrada de cierto periodo conocido, entonces después de cierto tiempo al consultar la cuenta podremos calcular el tiempo que ha transcurrido desde que iniciamos la cuenta. En si este es el principio básico de este periférico. Fig. 1. Modulo Timer Podemos ver en el diagrama a bloques del Timer_A que hay un multiplexor de 4 entradas y una salida el cual es controlado por TASSELx después de ello hay un divisor de frecuencias controlado por IDx el cual puede dividir la señal por 2, 4 y 8, después esta señal ya seleccionada y dividida pasa a alimentar al contador/temporizador de 16 bits almacenando la cuenta en el registro llamado TAR, además este contador/temporizador es controlado por los bits MCx los cuales se encargan de controlar el modo de cuenta del contador/temporizador. También podemos ver que tanto al divisor de frecuen- cia como al contador/temporizador cuentan con un bit mas llamado TACLR el cual se encarga de resetear los valores tanto del TAR como del IDx. Por ultimo podemos ver que la única salida con la que cuenta este modulo es la TAIFG, es decir que depende como configuremos a este modulo en conjunto de en que momento será enviada la interrupción a la CPU. A continuación describiremos los bits específicos antes mencionados junto con los valores que pueden tomar. 1) TAR: En este modo existe un registro de 16 bits llamado TAR (Timer A Register) el cual es incrementado o decremen- tado por cada flanco ascendente de la señal cuadrada del reloj, es decir que en este registro se almacena la cuenta de pulsos de periodo conocido de la señal cuadrada que incide en el contador. Este registro es el mas importante de el timer a el cual se puede tanto leer como escribir en el. 2) TASSELx e IDx : El contador se puede alimentar de diferentes fuentes de reloj tanto internas como externas, la selección de esto se hace mediante los bits llamados TASSELx (Timer A Source Select) y además estas fuentes pueden ser divididas por 2, 4, 8 con los birs llamados IDx (Input Divider) ambos se encuentran en el registro llamado TACTLx (Timer A Control Register) . Tanto TASSELx como IDx son conjuntos de 2 bits dentro de este registro. (Para mayor información con respecto a las fuentes de reloj visitar la sección del sistema de reloj). TASSELx ocupa las posiciones 8 y 9 del registro de 16 bits TACTL y puede adquirir los siguientes valores. • 00 TACLK Reloj del Timer_A (Timer_A Clock) • 01 ACLK Reloj auxiliar (Auxiliary Clock) • 10 SMCLK Reloj sub principal (Semi Master Clock) • 11 INCLK No disponible para nuestro caso IDx ocupa las posiciones 6 y 7 del registro de 16 bits TACTL y puede adquirir los siguientes valores. • 00 Frecuencia de entrada/1 • 01 Frecuencia de entrada/2 • 10 Frecuencia de entrada/4 • 11 Frecuencia de entrada/8 3) MCx : El modo de cuenta es controlado por estos dos bits dependiendo del valor de estos dos bits podemos elegir
  • 2. entre los 4 modos de cuenta disponibles: detenido, ascendente, continuo, ascendente/descendente. Depende de los modos de cuenta el momento en el que la interrupción será generada, a continuación te mostramos una tabla con sus valores, después de ello su descripción individual mas detallada. • 00 detenido • 01 ascendente • 10 continuo • 11 ascendente/descendente A. MODOS DE CUENTA 1) MODO ASCENDENTE : En este modo el conta- dor/temporizador contara desde cero hasta el valor almacenado en TACCR0, después de eso la cuenta se reinicia y continua de nuevo. En la siguiente imagen se puede ver mejor este modo de cuenta. Fig. 2. Modo ascendente La interrupción se genera en el momento en el que la cuenta en TAR cambia de el valor de TACCR0 a 0. Imaginemos que tenemos una frecuencia de 4MHZ externa mediante un cristal de cuarzo conectado en las terminales del puerto dos, con esta señal alimentaremos a nuestro contador/temporizador, por lo cual TASSELx debe ser 01, además utilizaremos un divisor por 4 para obtener una frecuencia de 1MHz y así un periodo de 1us, para eso IDx debe ser 10. Lo que deseamos es interrumpir a la CPU cada 1ms por lo que deben de transcurrir 1000 pulsos de la señal que hemos configurado para que esto ocurra, para ello cargamos 1000 en TACCR0 y por ultimo iniciaremos la cuenta al poner en MCx el valor de 01. Lo único que resta es definir la rutina de servicio a la interrupción además del vector de interrupción correspondiente para por ejemplo encender y apagar un led cada 1ms. 2) MODO CONTINUO: En este modo el contador/temporizador cuenta de manera repetida hasta el valor máximo permitido el cual es 0xFFFF y después regresa a cero, así la bandera de interrupción es colocada cuando la cuenta pasa desde 0xFFFF a 0x0, así podemos generar interrupciones con periodo de 65535(Tsrc) donde Tsrc es el periodo de la fuente que seleccionamos con su respectivo divisor de frecuencia. A continuación una imagen que ilustra de mejor manera este modo. Fig. 3. Modo continuo En el ejemplo anterior este Tsrc es de 1us por tanto con esas configuraciones se pueden generar interrupciones con un periodo de 65.535ms. Además de generar estos periodos podemos hacer uso de los registros TACCR0 y TACCR1, con ellos podemos generar intervalos de tiempo independientes, posteriormente veremos como implementar esto para generar intervalos de tiempo independientes. 3) MODO ASCENDENTE/DESCENDENTE: En este modo el contador/temporizador cuenta desde cero hasta el valor de TACCR0 de manera ascendente y después cuenta de manera descendente hasta cero. Esto nos será útil para la generación de pulsos simétricos, así el periodo será de el doble del valor almacenado en TACCR0. A continuación una imagen que muestra este modo de cuenta. Fig. 4. Modo ascendente/descendente En este modo la interrupción se genera cuando la cuenta pasa de 0x0001 a 0x0000, como podemos ver en todos los casos la bandera de interrupción TAIFG es generada cuando la cuenta pasa por cero. B. TIMER EN CAPTURA El modo de captura nos servirá para realizar mediciones de tiempo, como por ejemplo para medir velocidades de computo o bien para medir periodos de tiempo generados por fuentes externas. La precisión de la medición depende de muchos factores como la interferencia que puede generar la CPU o el hardware con el que se realiza, así como de la fuente de reloj aplicada además del número de bits involucrados en la medición.
  • 3. A continuación un diagrama de bloques de un modulo de captura y comparación, donde te explicaremos los bits que interfieren en la configuración de este módulo. Fig. 5. Diagrama de bloques (Modo captura) 1) CAP: El bit CAP (Capture Mode) nos servirá para seleccionar este modo ya que el modulo en si puede trabajar en captura o comparación, este ocupa la posición 8 del registro llamado TACCTLx. • 0 Modo de comparación • 1 Modo de captura El grupo de bits llamado CCISx (Capture Compare Input Select) nos ayudara a seleccionar de donde provendrá nuestra señal a medir, este esta en los bits 12 y 13 de TACCTLx. • 00 Bit CCIxA del encapsulado • 01 Bit CCIxB del encapsulado • 10 GND • 11 VCC Nuestro dispositivo solo cuenta con CCI0A y CCI1A los cuales se ubican en los puertos P1.1 y P1.2, estos los configuramos para esta función a través del registro P1SEL poniendo a 1 los bits 1 y 2 de este registro. 2) CMx: Los bits CMx nos ayudaran a seleccionar el flanco de captura de la señal de entrada, ya sea flaco de bajada, de subida o ambos. Cuando una captura ocurre el valor del TAR es copiado en TACCRx y la bandera de interrupción llamada CCIFG es colocada, estos bits están en las posiciones 14 y 15 de TACCTLx • 00 No hay captura • 01 Captura con flanco ascendente • 10 Captura en flanco descendente • 11 Captura en ambos flancos 3) CCI: El bit CCI nos ayudara para leer en cualquier momento el nivel lógico de la entrada, este esta ubicado en la posición 3 del registro TACCTLx. 4) SCS: El bit llamado SCS nos ayudara a sincronizar la entrada con el reloj del contador/temporizador. • 0 Captura asincrona • 1 Captura síncrona 5) COV: Un sobre flujo lógico es provisto en cada registro de captura comparación para indicar que una segunda captura ha ocurrido antes de que el valor de la primera captura sea leído. • 0 No ha ocurrido sobre flujo en la captura • 1 Ocurrió sobre flujo en la captura Como podemos ver el registro utilizado para la configu- ración de este modulo aun tiene muchos bits que no hemos usado, estos bits que no hemos mencionado serán utilizados para la configuración del modo de comparación. C. TIMER EN COMPARACION Este modo es seleccionado cuando CAP=1, este modo lo usaremos principalmente para generar PWM o interrupciones a intervalos específicos en el momento en que TAR cuente al valor de los registros TACCRx. A continuación un diagrama de bloques de los módulos de comparación y captura. Fig. 6. Diagrama de módulo de comparación La unidad de salida esta presente en todo modulo de captura comparación esta es la que usaremos para generar señales PWM cada unidad cuenta con ocho modos de operación que generan diferentes señales de salida, estos modos de salida serán configurados por el grupo de tres bits llamados OUTMODx que se encuentran en TACCTLx. A continuación una lista con los valores que pueden tomar estos tres bits además de una descripción de la función que cumplen de acuerdo a cada valor asignado. 000.-Modo Salida. En este modo la salida es igual al contenido del bit OUTx en este mismo registro 001.-Modo Colocar. La salida pasa a 1 cuando el conta- dor/temporizador cuenta al valor en TACCRx y permanece así hasta que el contador/temporizador sea reiniciado u otro modo de salida sea seleccionado. 010.-Modo Conmutar/Reiniciar.- La salida es conmutada cuando el contador/temporizador cuenta al valor en TACCRx y es reiniciada cuando el contador/temporizador cuenta al valor de TACCR0. 011.- Modo Colocar/Reiniciar.- La salida es puesta a 1 cuando en contador/temporizador cuenta al valor de TACCRx
  • 4. Fig. 7. Modo Ascendente (PWM) Fig. 8. Modo Continuo (PWM) y es puesto a 0 cuando el contador/temporizador cuenta al valor de TACCR0. 100.- Modo Conmutar.- La salida es conmutada cuando el contador/temporizador cuenta al valor de TACCRx, el periodo de salida es el doble que el periodo del contador/temporizador 101.- Modo Reiniciar.- La salida es puesta a cero cuando el contador/temporizador cuenta al valor de TACCRx y per- manece ahí hasta que otro modo de salida sea seleccionado. 110.- Modo Conmutar/Colocar.- La salida es conmutada cuando el contador/temporizador cuenta al valor de TACCRx, es puesta a 1 cuando el contador/temporizador cuenta al valor en TACCR0 Fig. 9. Modo Ascendente/Descendente (PWM) 111.- Modo Reiniciar/Colocar.- La salida es reiniciada cuando el contador/temporizador cuenta al valor en TACCRx, después es puesta a 1 cuando el contador/temporizador cuenta al valor de TACCR0 A continuación unas imágenes donde podemos ver como es que esto afecta a la señal de PWM en la salida según cada modo de cuenta y su respectivo modo de salida. A partir de conocer tanto el modo de cuenta como el modo de salida podremos obtener la señal de PWM que mejor nos convenga con el periodo y ciclo útil que queramos. Posteriormente para realizar la práctica se declara los módu- los a utilizar, se direciona los puertos de salida del pwm y se afecta a la variable correspondiente, para utilizar el módulo del timer en este caso se afecto la variable TACCR1 para variar la intensidad del led y se direcciono el puerto P1.2 como salida del pwm. III. CONCLUSIÓN El modulo del timer del msp430g2553 nos ofrece varias funciones, una de las funciones se representa en esta práctica, existen diferentes modos de manejo del PWM y en esta práctica se utilizado afectado la variable TACCR1, no fue muy complejo, solo se necesitan declarar los módulos y las variables a utilizar, en esta práctica solo se utiliza un módulo pero uniendo todos los módulos del LaunchPad msp430g2553 podremos hacer grandes cosas. [?] REFERENCES [1] http://www.ccs.neu.edu/home/noubir/Courses/SWARM/S09/slides/msp430- clocks-timers.pdf [2] http://homepages.ius.edu/RWISMAN/C335/HTML/msp430Timer.HTM [3] http://web.eng.fiu.edu/watsonh/eel4730/slap113.pdf [4] https://courses.cs.washington.edu/courses/cse466/11au/calendar/04- Interrupts-posted.pdf [5] http://dbindner.freeshell.org/msp430/