jueves, 11 de septiembre de 2014

8051 : Atmel 89S51

La empresa Atmel, fabricante del micro utilizado en los Arduino, dispone de varias familias de microcontroladores con diferentes arquitecturas y características.
Una de éstas  es la familia 8051 de 8bits, la cual emula al famoso  MCS-51 de Intel.
El chip original de Intel fue muy popular en su época y hoy en día existen varias empresas que producen chips con su estructura.

A pesar del avance en las funcionalidades de los micros disponibles en la actualidad y de la popularidad de chips como los AVR de Atmel y los PIC de Microchip, los descendientes del 8051 cuentan con un grupo importante de seguidores. La razón de ello es su simplicidad y la disponibilidad de una gran cantidad de recursos en la web para estos micros (lenguajes, emuladores, documentación, desarrollos, etc).

El micro at89s51 es una de las versiones producidas por Atmel en su familia 8051.


Como podemos leer en su hoja de especificaciones cuenta con las siguientes características:
  • 4KB de memoria flash
  • 128B de memoria ram
  • 32 puertos binarios de entrada/salida
  • Interfase serial UART
  • Programación de la memoria flash mediante protocolo ISP
  • Dos contadores/relojes de 16 bits
  • Seis interrupciones
  • Operación estática desde 0 a 33 MHz
Lamentablemente no posee puertos analógicos ni PWM (pero se puede emular por software).
Este micro puede  disponer de dos bancos de 64KB de  memoria externa para programas y data (hay que recordar que es un micro con arquitectura Harvard) .

Una característica interesante de este micro  es la capacidad de programar la memoria flash mediante el protocolo ISP. 

En el caso del Arduino el procedimiento para programar   el micro at328 es muy sencillo ya que consiste en crear el programa en el IDE y presionar el boton de Carga. Esta es una de las características que ha hecho tan popular esta plataforma.
En el caso de la familia 8051 el procedimiento es algo mas complicado:
  • Debe utilizarse un IDE que permita crear el programa y compilarlo (hay disponibles compiladores c, pascal, forth, assembler, etc).
  • El compilador genera un archivo binario en formato hex
  • Este archivo debe ser grabado en el micro mediante otro programa que se comunica con el programador (existen muchos circuitos de ejemplo en la red)
Originalmente se utilizaba el lenguaje assembler para programar estos micros, pero con el tiempo se desarrollaron compiladores de lenguajes de alto nivel como c y pascal.
Una lista resumida de compiladores sería:
Entre los IDE disponibles en la web tenemos:
  • MIDE-51 Studio : Incluye  editor, compilador  C (SDCC) , ensamblador (ASEM-51) y dos emuladores (JSIM-51 y una versión limitada a 2K de TS Control  Emulator  8051) 
  • MCU 8051 IDE : Incluye  editor, compilador  C (SDCC) , ensamblador (propio y dos adicionales),  emulador , cargador de hex (circuito propio) y muchas herramientas adicionales.
  • Turbo51 Studio : Incluye  editor, compilador  pascal (Turbo 51) , ensamblador ( ASEM-51),  emulador , cargador de hex (circuito propio)  y varias herramientas adicionales.
  • Reads51 :  Incluye  editor, compilador c (propio) , ensamblador ( propio) y  emulador 

1 comentario:

  1. Saludos, Es posible leer el código de un 87C52, o similar (8051)?. Gracias

    ResponderEliminar