You are on page 1of 12

Primeros pasos

Primer programa. Ir al menú de inicio.WinAVR es una herramienta que nos brinda la posibilidad de realizar desarrollos firmware para microcontroladores AVR. 2. dicha herramienta se basa en el reconocido compilador GCC que es código libre.net/ Al instalar este software se copian a nuestro equipo las librerías para poder trabajar con los microcontroladores AVR. . En este caso hice una carpeta con el nombre de led en el escritorio. una versión del compilador GCC.sourceforge. y algunas otras herramientas que más adelante veremos. Les explicare los paso para crear un programa en c para avr utilizando el compilado winavr. 1. Una vez instalado en winavr crear una carpeta con el nombre y el directorio que elijan. Si quieres descargar WinAVR ve al siguiente link winavr. buscar en todos los programas la sección winavr y ejecutar la aplicación mfile.

. dentro de esa abrir Make file y en la sección MCU type seleccionar el microcontrolador que se desea programar en este caso será un atmega16. Les abrirá la siguiente ventana.3.

4. ya una vez activa la edición se cambia de 8MHz a 1 MHz . Ya seleccionado el microntrolador es necesario especificar la velocidad a la cual activando la edición del makefile como se muestra. Una vez seleccionado el microcontrolador les aparecerá lo siguiente: 5.

Una vez creado el mfile. . Ya una vez configurado el mfile se guarda en la carpeta que se creó previamente en mi caso la carpeta llamada led. 7. estamos listos para empezar a crear nuestro programa en c y lo que necesitamos es ir al menú de inicio.6. buscar en todos los programas la sección winavr y ejecutar la aplicación Proramers Notepad WinAVR.

el cual será guardado en la carpeta led o en la que ustedes crearon.8. Ya ejecutada la aplicación lo primero que será necesario es crear un nuevo proyecto al cual ustedes lo nombraran con el nombre que elijan en mi caso lo seguiré llamando led. Y en su ventana se visualizara su proyecto .

. Lo siguiente será crear un nuevo archivo de c y guardarlo como main.c en la misma carpeta.9.

.c. Esto se logra dando clic derecho a mi carpeta llamada led de mi notepad y seleccionar la opción agregar archivos.10. Ahora solo resta agregar los archivos a mi proyecto y empezar a desarrollar mi código fuente. En esta ventana solo necesitan seleccionarlos archivos correspondientes a su proyecto es esta ocasión son los llamados makefile selecciónalos y da clic en el botón de abrir y main.

Plantilla para un programa en c para avr En el siguiente código se le dice al microcontrolador que lea el valor del puerto A y lo escriba en el puerto C.h la cual contiene todas las direcciones de registros utilizados en el microcontrolador a utilizar. etc. //Se declara una variable tipo carácter ya que esta ocupa un espacio de 8 bits //Recuerde que se está utilizando un microcontrolador de 8 bits y una variable //Tipo carácter se ajusta perfectamente al tamaño de los registros char x. *************************************************************************************/ //Se configura el puerto A como entradas ya que se está escribiendo un 0 en //cada bit del registro DDRA= 0b00000000.Si lo realizaste bien te aparecerá lo siguiente y puedes empezar a escribir tu código fuente. ADC.// 0b Indica que se están introduciendo valores en binario //Se configura el puerto C como salidas ya que se está escribiendo un 1 en //cada bit del registro DDRC= 0b11111111. . /*************************************************************************************** Sección donde se agregan los archivos de cabecera. para los microcontroladores avr se utiliza la biblioteca avr/io. ***************************************************************************************/ #include <avr/io. definir constantes o funciones **************************************************************************************/ int main (void){ /************************************************************************************* En esta sección se declaran variables locales y se configuran los puertos del microcontrolador ya sean como entradas o salidas.h> /************************************************************************************** Esta sección se puede utilizar para declarar variables globales. además se configuran los registros de otros periféricos Como timer/counter.

//El registro PORTx se utiliza para la escritura de los puertos } return 0.//El registro PINx contiene el valor de lectura de los puertos PORTC=x.while(1){ /************************************************************************************ En esta sección se agrega todas las intrusiones que el microcontrolador realizara infinitamente ************************************************************************************/ //En este caso se tomara el valor que tenga el puerto A y será escrito en la variable x x=PINA. lo cual se logra ubicándose en el menú tools y dar clic en [WinAVR] Make Clean y visualizar código de error 0 en la sección inferior izquierda del compilador como se muestra en las siguientes imágenes. } Una vez se tiene listo el código solo resta compilarlo para revisar que no tenga erros de sintaxis. .

hex el cual utilizado para descargarlo al microcontrolador y realizar las pruebas físicas del comportamiento. . Siles vuelve a dar código 0 como se muestra en la figura siguiente quiere decir que no se tuvieron errores de sintaxis y se generó un archivo en leguaje maquina llamado main.Después necesitan volverse a ubicar en el menú tools y dar clic en [WinAVR] Make All y visualizar código de error 0.