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.
Descargas:
AquĆ el enlace para DESCARGAR los archivos disponibles desde mi repositorio en GitHub, si no sabes como descargarlo puedes checar aquĆ, bueno por el momento es todo si tienes dudas, comentarios, sugerencias, inquietudes, traumas, etc. dejarlas y tratare de responder lo mas pronto posible.
Donaciones:
Si te gusta el contenido o si los recursos te son de utilidad, comparte el enlace en tus redes sociales o sitios donde creas que puede ser de interĆ©s y la otra puedes ayudarme con una donaciĆ³n para seguir realizando publicaciones y mejorar el contenido del sitio. TambiĆ©n puedes hacer donaciones en especie, ya sea con componentes, tarjetas de desarrollo o herramientas. Ponte en contacto para platicar, o puedes volverte uno de nuestros sponsors.
Pido una retroalimentaciĆ³n avisando cada que un enlace no sirva o tenga errores al momento de abrirlo, asĆ tambiĆ©n si una imagen no se ve o no carga, para corregirlo en el menor tiempo posible.
0 Comentarios