NXProg
Transcripción
NXProg
NXProg Nota de aplicación Programando microcontroladores AT89S51/52 NXProg Este documento se encuentra protegido por una licencia Creative Commons Creative Commons: Atribution, Non-commercial, Share Alike Atribución: Puede copiar, distribuir y/o transmitir este trabajo siempre y cuando reconozca el autor original del mismo, en este caso Naxus Sistemas Inteligentes. No Comercial: No puede utilizar este trabajo para propósitos comerciales. Comparta igual: Si realiza alguna modificación, alteración o construcción a partir de este trabajo, puede distribuirlo únicamente usando la misma licencia o una similar. Naxus Sistemas Inteligentes Cra. 84A # 5 - 12 Cali, Colombia www.naxuscolombia.com [email protected] Revisión 1.3 Página 2 NXProg Índice de contenido INTRODUCCIÓN ......................................................................................................................................................................... 4 Materiales requeridos ............................................................................................................................................................... 5 Hardware ............................................................................................................................................................................... 5 Software................................................................................................................................................................................. 5 Circuito de programación con NXProg ...................................................................................................................................... 6 Utilizando AVR Studio 4 ............................................................................................................................................................. 7 NXProg y AVR Studio 4 ........................................................................................................................................................... 7 Reconocimiento del microcontrolador AT89S5x ................................................................................................................... 8 Programando la memoria FLASH ........................................................................................................................................... 9 El compilador SDCC .................................................................................................................................................................. 10 Instalación de SDCC ............................................................................................................................................................. 10 Compilación con SDCC ......................................................................................................................................................... 11 Ejemplo de manejo del puerto P1 ................................................................................................................................... 12 Revisión 1.3 Página 3 NXProg INTRODUCCIÓN NXProg soporta la familia de microcontroladores AT89S51/52 de forma nativa, pues éstos soportan programación In-Circuit o ICP. NXProg NO soporta la programación de microcontroladores AT89C51 o AT89C52, ya que éstos soporta únicamente programación paralela de alto voltaje (HVPP). Esta familia de microcontroladores usa un protocolo similar de programación a la familia AVR de 8 bits de Atmel, y pueden ser programados usando el software AVR Studio 4 de Atmel. Para el desarrollo de código soportado por esta arquitectura 8051, se recomienda el uso de la herramienta de compilación gratuita SDCC. En este manual se dan sencillas instrucciones de manejo de NXProg para la programación de estos microcontroladores, junto con unas notas básicas para el usuario interesado en desarrollar software para esta arquitectura. Sin embargo, se recomienda para nuevos diseños, utilizar microcontroladores de más alta gama como los AVR de Atmel u otra marca de microcontroladores. Revisión 1.3 Página 4 NXProg MATERIALES REQUERIDOS A continuación se incluye una corta lista de los materiales y el software requerido HARDWARE Programador NXProg Tarjeta NXProg para protoboard Cristal de 24 MHz y Condensadores de 20 – 22 pF. Protoboard SOFTWARE AVR Studio 4 Compilador SDCC Revisión 1.3 Página 5 NXProg CIRCUITO DE PROGRAMACIÓN CON NXPROG El siguiente diagrama ilustra el circuito requerido para la programación del microcontrolador AT89S51/52. Tenga en cuenta que el cristal a utilizar es de 24 MHz, y acompañe el cristal de sus respectivos capacitores conectados a tierra (GND). 22 pF Es importante mencionar que la primera vez que conecta NXProg al circuito, el programador no indicará conexión correcta (únicamente Led Verde encendido), sino que aparecerán los leds Naranja y Verde simultáneamente encendidos. Esto se debe a que los microcontroladores AT89S51/52 usan un RESET en modo Activo Alto, a diferencia de los microcontroladores AVR, que usan un RESET en modo Activo Bajo. Ya que la señal de RESET es utilizada para validar la correcta conexión del dispositivo, NXProg indicará erróneamente que el microcontrolador se encuentra mal conectado. Revisión 1.3 Página 6 NXProg UTILIZANDO AVR STUDIO 4 Conecte el programador NXProg a un puerto USB libre del computador. Posteriormente ejecute el programa AVR Studio 4. La última versión de Atmel Studio 6 no soporta la programación del AT89S51/52. NXPROG Y AVR STUDIO 4 Diríjase a la herramienta de programación, según se muestra en esta figura. Seleccione el programador STK500 (el protocolo que usa el NXProg) y seleccione en puerto, el puerto COM del programador o simplemente seleccione la opción Auto: Si el NXProg ha sido correctamente reconocido, aparecerá la ventana de programación STK500. Verifique los mensajes que aparecen abajo en la ventana, observará cualquier error que se haya presentado. La siguiente imagen ilustra el resultado cuando no ha existido ningún error: Revisión 1.3 Página 7 NXProg RECONOCIMIENTO DEL MICROCONTROLADOR AT89S5X Diríjase a la pestaña Main, donde validará el reconocimiento del microcontrolador AT89S51/52. En ésta, seleccione el microcontrolador a programar (AT89S51 o AT89S52) y a continuación presione el botón Read Signature. Si la firma del microcontrolador es correcta observará el siguiente resultado: Si no ha sido informado de ningún error, efectivamente NXProg ha reconocido correctamente el microcontrolador. Diríjase ahora a la pestaña Program, donde se procederá a programar el microcontrolador. Revisión 1.3 Página 8 NXProg PROGRAMANDO LA MEMORIA FLASH En la pestaña Program, elija en la sección Flash, el archivo que desea programar en el microcontrolador (generalmente de extensión .HEX). Posteriormente presione el botón Program, para programar su dispositivo. Si todo ha salido correctamente, observará el mensaje de la interfaz en la parte inferior, indicando que no hubo ningún problema. De esta manera, el microcontrolador ha sido efectivamente programado. Las siguientes secciones describen brevemente las herramientas a utilizar, si está interesado en desarrollar software para esta arquitectura de microcontrolador. Revisión 1.3 Página 9 NXProg EL COMPILADOR SDCC El compilador SDCC es un software mantenido por una comunidad amplia de usuarios en internet, el cual soporta varias arquitecturas de microcontroladores, incluída la 8051, de la cual hacen parte los dispositivos AT89S51/52. INSTALACIÓN DE SDCC Puede descargar el compilador SDCC de la página web http://sdcc.sourceforge.net/. Acceda a la opción Download y descargue el software dependiendo del sistema operativo que utilice. Instale el programa con las opciones que trae por defecto. Este software solamente incluye el conocido Toolchain o herramientas básicas de compilación. No se incluye ningún editor de código o IDE para el desarrollo de los programas. Puede utilizar un sencillo editor de texto como Notepad++ (http://notepad-plusplus.org/) para la edición de código. Revisión 1.3 10 Página NXProg COMPILACIÓN CON SDCC En esta sección se darán los lineamientos básicos para la programación con SDCC, sin embargo recomendamos que descargue y consulte el manual de programación de SDCC, que se encuentra disponible en la página del software. SDCC soporta programación en C para la arquitectura 8051. Edite su archivo según la sintaxis de este lenguaje, y proceda a compilar, a través de una interfaz de comandos, con el comando sdcc y el nombre del archivo a compilar. En la siguiente imagen se observa la compilación de un archivo llamado main.c. Revisión 1.3 11 Página NXProg EJEMPLO DE MANEJO DEL PUERTO P1 A continuación se incluye un ejemplo de un código que coloca el pin P1_0 a cambiar alternadamente de valores entre 0 y 1. Conecte un LED a este puerto y observará el respectivo comportamiento. #include <at89x52.h> int main(void) { unsigned int i =0; while(1) { P1_0 = 1; for(i=0;i<65535;i++) __asm NOP __endasm; P1_0 = 0; for(i=0;i<65535;i++) __asm NOP __endasm; } return 1; } Revisión 1.3 12 Página