Buscar este blog

martes, 8 de julio de 2014

Como programar un microcontrolador Parte 1

0 comentarios
En muchas ocaciones cuando ya tenemos un nivel medio en conocimientos de electronica o cuando no las tenemos pero nos gusta la electronica y en busca de informacion nos topamos tarde o temprano con la palabra microcontrolador, al principio a lo mejor no le tomamos mucha importancia pero mientras mas indagamos en este mundo  nos damos cuenta que los microcontroladores estan presentes en nuestra vida diaria y muchas veces no nos damos cuenta. En  este articulo explicara en primer lugar cuales son los microcontroladores mas faciles de adquirir, sus ventajas y desventajas, las arquitecturas que manejan, con que perifericos cuentan y por ultimo una introduccion de como programarlos.



En la actualidad existen diversas marcas de microcontroladores en el mercado de diversos tamaños y capacidades asi que tenemos un mundo de donde escoger, que microcontrolador se adapta mas a nuestras necesidades al principio cuando uno se adentra mas y mas en este mundo pareciera dificil  programarlos y mucho mas dificil pensar como programar mas de uno, pero la realidad es otra pues cuando ya se tiene la idea de como programar algun microcontrolador ese conocimiento se  aplica a otro, siempre y cuando se conosca las limitaciones y la arquitectura del microcontrolador a programar asi que no importa que marca se prefiera programar la idea de como se utilizan es practicamente la misma para cualquier microcontrolador lo unico que cambiara siempre es la arquitectura, por consiguiente lo unico que cambia es como se le da "ordenes" a la CPU del microcotrolador a utilizar ya que es lo unico que cambia de micro a micro ya que por lo regular los perifericos(Timer's, comparadores, perro guardian, ADC, USART, etc) son los mismos.

Entre las marcas mas conocidas de microcontroladores  y mas faciles de adquirir son :

MICROCHIP

ATMEL

FREESCALE

TEXAS INSTRUMENTS



Para programar cualquier microcontrolador de las marcas mencionadas anteriormente lo unico y principal que necesitas es la Datasheet (Hoja de datos) y nada mas (bueno tambien debes leer la hoja de datos). Si debes tener la hoja de datos del microcontrolador que estes manejando pues esta te describe como programarlo, pero de seguro si ya tienes la hoja de datos a la mano te daras cuenta que hasta el microcontrolador mas "sencillo" su hoja de datos es muy extenso por lo que a continuacion te doy unos tips para empezar a entenderlo.

1.- Revisa en la hoja de datos las especificaciones del microcontrolador que tengas a la mano, numero de pines, voltaje con el cual trabaja, el sistema minimo para hacerlo funcionar, la arquitectura, capacidad de memoria, los perifericos con los que cuenta.

2.- Siempre es conveniente tener a la mano la lista de instrucciones con las que cuenta el microcontrolador (por ejemplo el msp430 cuenta con solo 27 instrucciones nativas es decir en silicio).

3.-Es conveniente leer el capitulo que hable de  los modos de direccionamiento para saber que formas tiene la CPU para acceder a la memoria, o como mandar datos de registros a registro y las formas que se aplican las operaciones tanto logicas como matematicas. Esto es exclusivamente para cuando se programa en lenguaje de Ensamblador, ya que si requieres programar en c/c++ el compilador debe tener el manual de como se utilizan las instrucciones en c/c++.

4.-Tienes que leer el capitulo que hable de como se configuran el sistema de reloj y los puertos de entrada/salida.

5.- Otro tema muy importante a leer es la que habla sobre las interrupciones, hasta aqui con los conocientos adquiridos ya seras capaz de hacer cualquier cosa que se te ocurra lo que viene ya seria solo un plus.

6.- Aqui es donde le sacas provecho a todo el microcontrolador pues solo te haria falta leerte cada capitulo sobre los perifericos que maneje tu micro como seria el TIMER, ADC o la USART.





Electronica facilita