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

Documentos relacionados