11/29/2014

MSP-EXP430G2 LaunchPad & CCS: Configuración de Entradas y Salidas

Como ya sabemos todo microcontrolador posee periféricos para poder interactuar con el exterior, por su puesto los dispositivos MSP430 de TI también pueden configurarse para que se comporten como de periféricos de entrada o de salida. Cada puerto se asocia normalmente con un máximo de 8 pines que pueden ser individualmente configurados como una entrada o una salida, incluso cambiar su función en medio de un programa.
Es importante tener en cuenta que para los sistemas de baja potencia el MSP430 es capaz de controlar directamente dispositivos (suponiendo que trabajen bien a 3.3V), por el contrario la mayoría de dispositivos tendrá que ser controlado con algún sistema intermedio (transistores, buffers, optoacopladores, etc.), para evitar dañar el MSP430 con altas tensiones o corrientes.

Bueno revisemos la guía de usuario de la familia del microcontrolador (MSP430x2xx Family User’s Guide) a usar para tener una idea más clara de las opciones de configuración que tiene cada puerto o cada pin.
  • Registro PxDIR: Configura los pines como entras o salidas ya sea que se manipule el registro completo o se haga bit por bit. Si el bit es cero es una entrada, por el contrario si es uno es una salida.
  • Registro PxIN: Este es un registro de lectura y refleja la señal de entrada del puerto ya sea un estado bajo o uno alto.
  • Registro PxOUT: Es para escribir en un puerto o en un bit del puerto ya sea un estado alto o bajo, las resistencias de pull up/down se deshabilitan.
  • Registro PxREN: Habilita o deshabilita las resistencias de pull up/down. Si el bit es cero se deshabilita, por el contrario si es uno se habilita.
  • Registro PxSEL: Se usa para determinar si se usa E/S digitales o para otras funciones especificas que tiene cada pin.
Veamos algunos ejemplos para que se comprender un poco mas este tema:
  • P1OUT = 0xFF; Coloca todo el puerto uno en alto
  • P1OUT = 0x00; Coloca todo el puerto en estado bajo
  • P1DIR |= 0x01; Pin P1.0 como salida
  • P1OUT |= 0x02; Solo el pin P1.2 del puerto en alto, los demás quedan intactos
  • P1DIR &= ~ 0x03; P1.0 y P1.2 como entrada 
  • P1OUT |= 0x80 + 0x40; El pin P1.7 y pin P1.6 en alto, los demás quedan intactos
  • P1SEL = 0x00; Todo el puerto como entradas y salidas digitales
  • P1OUT &= ~ 0x01; Coloca el pin P1.0 en estado bajo
En la siguientes publicaciones veremos algunos ejemplos ya en acción, espero que esta información les sea de utilidad.

11/21/2014

Amplificador de audio con el integrado LM836

Saludos a todos los lectores!! Hace ya unos meses un amigo por encargo que le diseñara unos circuitos para que practicaran sus alumnos sobre soldadura y algo de electrónica no tan compleja y le pareció buena la propuesta de hacerse de un pequeño amplificador de audio.

En esta ocasión no es una publicación de un circuito completo y con toda su explicación, es un pequeño resumen de lo que realice en conjunto con otro buen amigo (Angel Tenorio) y esta basado en el LM386, si se da una pequeña revisada en el datasheet podemos ver que el fabricante nos da algunas recomendaciones sobre las aplicaciones y circuitos que podemos armar, no se le realizo mucho solo se agrego ciertas partes para que el circuito quedara completo por su puesto realizamos el ruteado y listo aquí unas fotos del resultado.

Se utilizaron dos LM386 uno para cada lado del audio (izquierdo y derecho) y un potenciometro doble para que al momento de variar el audio estos cambien al mismo tiempo.

Primero les dejo el circuito base con el que se inicio, como se observan no son muchos los componentes utilizados pero se tiene buenos resultados.

11/15/2014

MPLAB X & C18: Encender y apagar un LED con un boton

Seguimos con las publicaciones en C18, en ejemplos anteriores hemos visto la manera de manipular un puerto como salida ahora toca el turno de ver como se manipula un pin como salida, para ello tenemos un botón conecto al pin RE0 con su resistencia de pull-down también se ha colocado un LED con su debida resistencia en el pin RE1 y se agrego una resistencia a +5V en el pin MCLR par que el circuito funcione correctamente, así queda el circuito que utilizaremos:

11/01/2014

MPLAB X & C18: LEDs Secuenciales

Seguimos con las publicaciones en C18 y ahora encenderemos 8 LEDs conectados al puerto B con sus debidas resistencias y en el Master Clear una resistencia de 10KΩ a VCC para que nuestro circuito funcione correctamente. Utilizaremos el PIC18F4620 y nuestra tarjeta entrenadora de PICs para ver los resultados. El circuito debe estar alimentado a 5 Volts, a continuación el circuito que utilizaremos: