TODO SOBRE MEMORIAS 24/25X04

Funcionamiento, cargadores, programas y códigos de equipos comerciales. La serie 24X04 corresponde a memorias EEPROM de 4kbit de 512 posiciones de 8 bits cada una, con una única fuente de alimentación que puede variar entre 1.8V y 5.5V, dependiendo de la memoria. Estos circuitos integrados suelen utilizarse en sistemas de control de equipos electrónicos de consumo, siendo muy comunes en los televisores actuales. En esta nota describimos el funcionamiento de estas memorias y brindamos varios circuitos cargadores de distintas características con los correspondientes programas que permiten su manejo y más de 50 códigos a ser grabados, correspondientes a los equipos comerciales más utilizados en América Latina.

INTRODUCCION
Hoy en día, la mayoría de los equipos electrónicos de consumo que se manejan a control remoto poseen su sistema de control en el receptor (SISCON) en base a un microcontrolador y a memorias EEPROM donde se aloja el “código de operación” que es propio para cada modelo. Los técnicos reparadores suelen encontrarse en problemas a la hora de recibir aparatos con fallas en estas etapas, ya sea por desconocimiento sobre el funcionamiento de estas memorias o por no poseer el código que se le debe grabar a un integrado cuando se lo deba reemplazar por otro dañado. De la misma manera, aquellos que realizan circuitos con microcontroladores, precisan conocer dispositivos que permitan incrementar la memoria de programa. Es por estas razones que decidimos realizar la presente nota, que tiene por objeto “desnudar” las memorias 24X04 y dar todas las herramientas necesarias (circuitos, diseños PCB, programas, códigos, etc.) para que el lector pueda trabajar con ellas sin inconvenientes.

A lo largo del artículo iremos describiendo diferentes programas y códigos de operación. Todo lo relacionado con esta nota podrá bajarlo sin inconvenientes de nuestra web: www.webelectronica.com.ar, haciendo click en el ícono password e ingresando la clave: memo24

Las 24/25X04 son memorias borrables, eléctricamente programadas (EEPROM), organizadas como 2 blocks de 256x8 bits (un total de 512 posiciones de memoria de 8 bits cada una, o sea, 4kbit ó 512bytes). Son manufacturadas con tecnología CMOS de alta resistencia, que garantiza que se puedan grabar (y borrar) más de un millón de veces con una retención de datos de más de 40 años. Las memorias operan tensiones tan bajas como 1.8V (para el ST24C04R, solamente). Se encuentran en zócalos “Plastic Dual-in-Line” y “Plastic Small Outline” (figura 1). Vea en la figura 2 la función que cumple cada pata de la memoria.

Las características sobresalientes son las siguientes:

  • 1 millón de ciclos escribir/borrar con 40 años de retención de datos
  • Fuente de alimentación única de: 3V a 5.5V para versiones 24x04. 2.5V a 5.5V para versiones 25x04. 1.8V a 5.5V sólo para versiones 24C04R.
  • Control de escritura por hardware (solamente para las versiones 24W04 y 25W04, figura 3).
  • Protección de escritura programable.
  • Interfaz en serie de dos cables, completamente compatible con I2C.
  • Escritura por Byte y Multibyte (hasta 4 bytes).
  • Modos de lectura secuencia aleatoria
  • Incrementador de direcciones automático.

En la figura 4 se pueden ver los valores correspondientes a los diferentes parámetros de estos dispositivos.

Las memorias son compatibles con el I2C estándar, con dos interfaces series que utilizan un bus de datos bidireccional y un reloj. Las memorias emplean 4 bits del código de selección (1010 en el caso de las 24/25X04) para la identificación del dispositivo (la memoria) según lo establece la definición bus I2C. Este código de acceso se dá por medio de dos patas de habilitación (E1, E2), de modo que los dispositivos 4x4k puedan ser unidos al bus I2c y seleccionados individualmente.

Las memorias se comportan como un dispositivo auxiliar en el protocolo I2C con todas las operaciones de memoria sincronizadas por un reloj serial.

Las operaciones de lectura y escritura son iniciadas por la condición de START generada por el bus maestro. La condición START es seguida por una palabra de 7 bits (código de identificación 1010 más 2 bits de habilitación más 1 bit de selección de block), más un bit read/write y terminada por un ciclo de reconocimiento (denominado Acknowladge).

En la figura 5 se puede apreciar el código de selección de la memoria donde se observa que los 4 bits más significativos corresponden al código del dispositivo, los bit b2 y b3 determinan la habilitación del chip b1 determina el bloque seleccionado y con b0 determino si estoy leyendo o escribiendo sobre la memoria.

Cuando escribe datos en la memoria, se debe enviar una señal de reconocimiento (Acknouwladge) por lo cual hace falta un bloque de 9 señales de reloj por cada palabra. Cuando el bus lee un dato, reconoce el byte del mismo modo (8 ciclos para los 8 bits de datos y un ciclo para el reconocimiento de esos 8 bits). Las transferencias de datos son terminadas con la condición STOP.

Vea en la figura 6 la tabla correspondiente al modo de operación de la memoria donde X es la tensión de entrada (VIH o VIL)

Reset de Encendido: Estas memorias poseen una protección para prevenir que los datos sean violados durante la alimentación del chip, debido a operaciones no deseadas. Hasta que el Vcc no haya alcanzado el umbral mínimo (denominado POR), la memoria se mantiene en estado de reset, todas las operaciones están deshabilitadas y el dispositivo no responderá a ningún comando. De la misma manera, cuando Vcc descienda por debajo del umbral de operación (POR), todas las operaciones estarán deshabilitadas y el dispositivo no responderá a ningún comando.

La tensión Vcc debe ser estable antes de aplicar cualquer señal lógica.

 
DESCRIPCION DE SEÑALES
Reloj serial (SCL). El pin o pata de entrada SCL es utilizado para sincronizar todos los datos que entran y salen de la memoria. Se puede conectar una resistencia de “pull-up” en la pata SCL (vea figura 7).

Serial Data (SDA). El pin SDA es bidireccional y es utilizado para transferir datos dentro o fuera de la memoria. Es una salida que puede ser unida con patas de otros dispositivos tipo “drenaje abierto” (colector abierto). Se debe conectar un resistor de “pull-up” desde la línea SDA hasta Vcc.

Chip- Enable (E1- E2). Son las patas de habilitación del chip. Aquí se establece la condición para la selección del chip (bits b2 y b3 del código del dispositivo, vea la figura 5). Estas entradas pueden ser conducidas dinámicamente o sujetadas a Vcc o Vss para establecer el código de selección. Según las tensiones que tenga en estas patas será el valor que deberá colocar en el código de selección para acceder a ese chip.

Protect Enable (PRE). Es una pata de entrada y opera en función del “puntero” del bloque de direccionamiento (b2) ubicado en la dirección de memoria 1FFh. Este bit fija la protección contra escritura.

Mode (MODE). La tensión en la pata 7 establece el modo de funcionamiento y puede ser fijado en forma dinámica. Para el modo de escritura por byte, si la pata tiene Vih se tendrá el modo de escritura multibyte, mientras que si la tensión es Vil, se accederá al modo de escritura por página. Cuando está desconectado, el modo de entrada es leído internamente como Vih (modo Multibyte Write o escritura multibyte).

Write Control (WC). La característica Write Control es ofrecida solamente para versiones 24W04 y 25W04. Esta característica es útil para proteger los contenidos de la memoria frente a cualquier error en el ciclo borrar/escribir. La señal Write Control es utilizada para habilitar (WC=Vih) o deshabilitar (WC=Vil) la protección interna contra escritura. Cuando está desconectada la entrada WC es internamente leída como Vil, por lo que la memoria no está protegida contra escritura. Tenga en cuenta que los dispositivos que poseen la característica de “control de escritura (WC)” no pueden operar en el modo de escritura multibyte.

 
OPERACION DE LAS MEMORIAS
Protocolo I2C Bus
Las memorias 24/25x04 operan bajo el protocolo I2C. Este protocolo define cualquier dispositivo que envía información hacia el bus como un transmisor y cualquier dispositivo que lee ese dato como un receptor. El dispositivo que controla la transferencia de información se denomina “master” (maestro) y el otro como “slave”, auxiliar o esclavo. El master siempre inicia la transferencia de datos y provee la señal de reloj para la sincronización.

Ahora bien, las memorias que estamos describiendo (24/25x04) “siempre” son dispositivos auxiliares en todas las comunicaciones. Si mira nuevamente la tabla de la figura 6 que describe los modos de funcionamiento de estas EEPROM verá que existe una serie de secuencias a seguir, a continuacióin detallaremos como se establecen estas condiciones:

Condición Start. START es identificado por una transición alta a baja (flanco descendiente) de la línea SDA, mientras el reloj se encuentra en un estado alto. La condición START debe preceder a cualquier comando para la transferencia de datos. La memoria no responde si no detecta la condición de “START”, es decir que para el ciclo de programación debe estar supervisando continuamente las señales SDA y SCL para detectar la condición START.

Condición Stop. STOP es identificado por una transición baja a alta (flanco ascendente) de la línea SDA mientras el reloj SCL se encuentra en un estado alto. La condición STOP termina la comunicación entre la memoria y el bus “master”. La condición STOP al final del comando “lectura”, fuerza un estado de standby (espera), sólo si se reconoce una condición de NO ACKNOLEDGE. Dicho de otra manera, mientras no termine el pulso ACK, la memoria se queda en estado de “espera” (standby). La condición STOP al final del comado “escribir”, acciona el ciclo interno de escritura EEPROM. Las señales correspondientes al protocolo I2C bus, que ejemplifican lo que acabamos de ver se muestran en la figura 8.

Acknowledge Bit (ACK). Se utiliza una señal que no es reconocida como dato para indicar que la transferencia de datos fue exitosa. El transmisor master o slave, liberará el bus SDA (recuerde que bus SDA es la línea por donde se leen o escriben los datos) luego de enviar datos de 8 bits. Durante el noveno período del pulso del reloj, el receptor “empujará” el bus SDAa un estado bajo para indicar la recepción de datos de 8 bits.

Entrada de datos. Durante la entrada de datos el/las memorias (24X04) “fijan” la señal SDA en el flanco ascendente de la señal de reloj SCL. Note que para la operación del dispositivo, la señal SDA debe ser estable durante el estado alto de la señal de reloj y los datos deben cambiar sólo cuando la línea SCL esté baja (estado bajo de la señal de reloj).

Direccionamiento de la memoria. Para comunicar el bus master a los slave, el master debe enviar un pulso de START. Seguido a esto, el master envía sobre la línea del bus SDA los 8 bits correspondientes al código de selección (byte de direccionamiento) del dispositivo mostrado en la figura 5, compuesto de 7 bits de codificación y un bit de lectura o es critura. Los 4 bits más significativos (MSB) del código de selección (o byte de direccionamiento) del dispositivo, tal como vimos, corresponden a “la identificación del dispositivo”, según lo establecido en el protocolo I2C bus. Para estas memorias se fija el valor 1010b. Los dos siguientes bits identifican la memoria específica del bus.

Puedo unir todos los terminales E1 y E2 de distintas memorias y así podré seleccionar una entre cuatro memorias (con dos bits puedo seleccionar 4 dispositivos). Así puedo conectar 4 memorias de 4kbits (512 x8) en el mismo bus otorgando una capacidad total de memoria de 16kbits (2kbytes). Luego de comenzar a funcionar cualquier memoria, el bus identificará el código del dispositivo y comparará los 2 bit de habilitación mediante las entradas E2 y E1 para saber qué memoria ha sido direccionada.

El séptimo bit enviado es el número de bloque (un bloque = 256 bytes). El octavo es el bit de escritura o lectura (RW), este bit es establecido en “1” para operaciones de lectura y en “0” para operaciones de escritura. Si se encuentra una unión, la memoria correspondiente reconocerá la identificación en el bus SDA durante el ciclo de reloj correspondiente al noveno bit (en ese ciclo no hay dato).

 
OPERACIONES DE ESCRITURA
El Modo de escritura multibyte (Multybite Write, disponible en las memorias 24/20CO4 y ST24CO4R) queda establecido cuando la señal MODO (pata 7) está en Vih y el modo de escritura por página (Page Write) se establece cuando en la pata 7 hay una tensión baja (Vil). El nivel de la pata 7 se establece con señales CMOS.

En una operación de escritura, primero se establece la condición START. Seguido de la condición START, el master envía el código de selección del dispositivo con el bit RWpuesto en “0” (esto significa que luego de la condición START deben enviarse los 8 bits correspondientes al código de selección).

La memoria reconoce esto y espera un byte de dirección. El byte de dirección de 8 bits permite el acceso a un block de 256 bytes de memoria (256 posiciones de 8 bits cada una). Luego de recibir una dirección, el dispositivo responde con un reconocimiento, de acuerdo con el protocolo I2C bus.

Para las versiones 24/25W04, cualquier comando de escritura con WC = 1 no modificará el contenido de la memoria.

Escritura por Byte. En el modo de escritura byte por byte (Byte Write) el master envía datos de un byte, y cada dato es reconocido por la memoria.

El master finaliza la transferencia generando la condición STOP. El modo de escritura byte por byte es independiente del estado de la pata MODO, la tensión en esta pata puede ser “dejada flotando” si vamos a emplear sólo este método de escritura. De todos modos no es una operación recomendada, se aconseja que la pata 7 tenga un estado Vih o Vil, para minimizar la corriente de standby. La secuencia es la siguiente:

  1. Condición de Start
  2. Envío del Byte de habilitación o de código de selección de dispositivo (selecciona el chip y el bloque)
  3. Envío del Byte de direccionamiento (indica a dónde se escribirá el dato)
  4. Envío del Byte de dato
  5. Condición de stop

Lógicamente, luego de cada byte (en el noveno ciclo de reloj) se establece la condición ACK (figura 9). El diagrama de tiempos que ejemplifica este modo de escritura se muestra en la figura 10.

Escritura Multibyte. Para este modo de escritura (Multybite Write o escritura de múltiples bytes), la pata 7 debe estar en Vih (en estado alto). El modo “Multybite Write” puede ser puesto en funcionamiento desde cualquier dirección en la memoria. El master envía datos de uno a cuatro bytes (4 palabras de 8 bits cada una), los cuales son reconocidos por la memoria. La transferencia finaliza cuando el master genera la condición STOP, de acuerdo con el protocolo I2C bus (figura 8).

La duración del ciclo de escritura es tw = 10ms máximo, excepto cuando los bytes están en dos filas (que tienen diferentes valores para las 6 direcciones de bits más significativas A7-A2), en cuyo caso el tiempo de programación es duplicado (un máximo de 20ms). Escribir más de 4 bytes en el modo Multibyte puede modificar los bytes o datos de una fila adyacente (una fila tiene 8 bytes de largo).

Cabe aclarar que en el modo de escritura de múltiples bytes se pueden escribir hasta 8 bytes consecutivos siempre que la primer dirección de estos bytes esté en la primer dirección de la fila, y los 7 bytes se escriban en los siguientes 7 bytes de la misma fila.

En síntesis, la secuencia que se sigue en este modo de escritura es la siguiente:

  1. Condición de Start
  2. Envío del Byte de habilitación o de código de selección de dispositivo (selecciona el chip y el bloque)
  3. Envío del Byte de direccionamiento (indica a dónde se escribirán los datos, recuerde que son más de uno)
  4. Envío de los bloques (Bytes) de datos

Aquí también, luego de cada byte (en el noveno ciclo de reloj) se establece la condición ACK (figura 11).

Escritura por Página. Para el modo de escritura por página (Page Write), la pata 7 (MODO) debe estar en Vil. Este modo de escritura permite escribir hasta 8 bytes en un solo bloque de escritura (un solo ciclo de escritura, que no debe confundirse con un solo ciclo de reloj). Dicho de otra manera, podemos escribir de a 8 bytes por vez, los bytes se colocan en la misma “fila” y cada fila se direcciona con los 5 bits más significativos (A7-A3) y son las mismas dentro de un block.

El master envía de a uno por vez hasta llegar a los 8 bytes de datos de una fila, los cuales son reconocidos por la memoria. Luego de que cada byte es transferido, el contador de la dirección interna del byte (los 3 bits menos significativos) se incrementa. La transferencia finaliza cuando el master genera la condición STOP. Debe tener cuidado para evitar que la dirección del contador cambie, lo cual puede hacer que los datos sean sobreescritos. Note que para cualquier modo de escritura, el master genera la condición STOP y comienza el ciclo interno del programa de la memoria. Toda las entradas se encuentran deshabilitadas hasta que el ciclo esté completo y la memoria no responderá a ningún llamado.

 
MINIMIZANDO DEMORAS DE SISTEMAS
Durante el ciclo interno de escritura, la memoria se desconecta del bus para copiar los datos desde los registros internos (latches) a las celdas de memoria. El tiempo máximo de escritura (tw) puede ser de 10 ms ó 20 ms, tal como vimos, pero este tiempo puede ser reducido enviando una secuencia ACK.

La secuencia durante un ciclo “interno” de escritura es como la descripta a continuación (figura 12):

  • Condición Inicial: una escritura está en progreso.
  • Paso 1: El master produce la condición START seguida de un byte de direccionamiento (1º byte de la nueva instrucción) con el bit RW en “0”.
  • Paso 2: Si la memoria está ocupada con el ciclo interno de escritura, no se establecerá la condición ACK y el master vuelve al paso 1. Si la memoria ha terminado, el ciclo interno de escritura correspondiente al proceso anterior responderá con un ACK, indicando que la memoria está lista para recibir la segunda parte de la próxima instrucción (el primer byte de esta instrucción ya fue enviado durante el paso 1).
WRITE PROTECTION (PROTECCION CONTRA ESCRITURA)
Los datos de las posiciones de memoria en el block superior de 256 bytes pueden ser protegidos contra escritura.

La memoria es protegida entre una dirección definida por el usuario y la dirección 1FFh cuando la pata 1 (PRE) está en “1” y cuando la bandera de protección (bit b2 en la localización 1FFh) está en cero, figura 13.

La dirección desde donde se protegen los datos contra escritura se indica en el “puntero de dirección de block” (Block Address Pointer).

El puntero de dirección de block es un regitro EEPROM de 8 bits que se ubica en la posición de memoria 1FFh. Los 5 bits más significativos indican la dirección desde donde serán protegidos los datos, el siguiente bit (bit b2) será la “banderita” que indica la protección contra escritura en el block 1 (si b2 = 0 entonces los datos del block 1 serán protegidos) y los dos bits menos significativos deberán estar en “0”.

La secuencia para utilizar la protección contra escritura es la siguiente:

  • Escribir los datos a ser protegidos en la parte superior de la memoria, hasta la ubicación 1FFh,
  • Establecer la protección escribiendo el límite inferior correcto en el indicador de dirección (5 bits más significativos de la posición de memoria 1FFh) con el bit b2 (bandera de protección) colocado en “0”.

Note que para un correcto funcionamiento de la memoria, los 3 bits menos significativos del bloque indicador de dirección deben ser escritos en “0”.

El área estará protegida cuando la pata 1 ( PRE) esté en “1”. Mientras el pin PRE esté en “0”, la localización de 1FFh puede ser utilizada como un byte EEPROM normal.

Advertencia: debe prestar especial atención cuando utiliza el modo “Write Protect” junto con el modo Write Multibyte (pata 7 en “1”). Si estel modo arranca en la localización justo debajo del 1º byte del área protegida, entonces la instrucción escribirá sobre los primeros 3 bytes del área protegida contra escritura. Dicha área es por lo tanto más pequeña que la contenida en la localización 1FFh, por 3 bytes. Esto no funcionará en “Page Mode” mientras el contador avance y no podrá pasar por encima del límite de 8 bytes más bajo del área protegida.

 
OPERACIONES DE LECTURA
Las operaciones de lectura son independientes de la tensión que tenga la pata 7 (MODO).

Lectura del contenido de la dirección actual. La memoria tiene un registro interno de un byte que le permite “calcular” la dirección actual de proceso. Cada vez que se lee un byte, este contador se incrementa. Para el modo “lectura de la dirección actual”, nosotros debemos establecer la condición START, el master envía el byte de habilitación o código de selección (es decir, “alguien” envía a la memoria a ser leída por medio del bus SDA) con el bit RWcolocado en “1”, lo que indica que vamos a leer. La memoria reconoce este estado por medio de la condición ACK (recuerde que ACK es el estado por el cual el bus de datos permanece en cero hasta que termine el ciclo) y “suelta” (envía) los datos (byte) al bus SDA de la posición de memoria indicada por el contador (registro) interno que hemos mencionado. Este contador se incrementa, luego el master permanece en estado de NO ACK y por último se termina la transferencia con la condición Stop (figura 14).

Lectura de datos de una dirección aleatoria. En este modo de lectura se leen los datos de una posición que yo quiera “Imitando” un ciclo de escritura para indicar cuál es la posición de memoria que deseo leer. Primero el master establece la condición de Start, luego envía el código de habilitación con el bit menos significativo en “0” (lo que indica que ahora el master va a escribir la dirección de la que quiere leer sus datos) y luego envío el byte con la dirección que deseo leer. Hecho esto, se establece una nueva condición de START y se vuelve a enviar el mismo código de habilitación que antes pero ahora con el bit menos significativo en “1” porque “voy a leer” los datos de la posición que ya indiqué desde el master, acto seguido, la memoria “libera” el contenido de la posición de memoria indicada (por el bus SDA se pueden leer los datos) lo que se confirma con la condición NO ACK. El ciclo termina con la condición Stop, tal como se puede ver en la figura 15.

Lectura secuencial. Puedo realizar una lectura secuencial de datos siempre que no se establezca la condición de STOP. Es decir, puedo leer datos de cualquiera de las dos formas descriptas anteriormente y si no mando la condición de Stop, luego de “soltarse” el byte de la posición de memoria indicada, se podrán leer los datos de la siguiente posición de memoria y luego la siguiente y así sucesivamente hasta que se establezca la condición de stop (el master es quien da la orden de stop), tal como se puede observar en la figura 16.

Dicho de otra forma, el master reconoce los bytes de salida de información del byte y la memoria continúa expulsando el próximo byte de manera secuencial. Para terminar la salida de los bytes, el master no debe reconocer la salida del último, pero debe generar la condición STOP. La salida de datos se realiza desde direcciones de bytes consecutivas, el contador interno se incrementará luego de cada salida de datos.

Cabe aclarar que en todos los modos de lectura las memorias 24/25x04 “se reconocen” durante el 9º ciclo de reloj (que correspondería a un 9º bit que usamos para establecer la condición ACK o NO ACK). Si el master no “maneja” la línea SDA durante este momento, la memoria termina la transferencia de datos y vuelve al estado standby.

Hemos visto cómo debe predisponerse una memoria 24/25X04 para poder escribir o leer su memoria, para hacerlo suelen emplearse utilitarios compuestos de un hardware (circuito que se conecta a una computadora, donde debemos colocar la memoria) y un software (programa que permite leer o escribir en la memoria un archivo que tenemos en la computadora).

 
CARGADOR PORTATIL POR PUERTO SERIE SIN FUENTE
De las versiones de programadores que analizamos, ésta es la que recomendamos por ser la que nos ha permitido obtener los mejores resultados en todas las experiencias que hemos realizado.

El circuito se muestra en la figura 17 y su funcionamiento es similar a lo visto para versiones anteriores con la diferencia que las diferentes señales para establecer el estado de lectura y programación se obtienen del puerto serie de una computadora.

No requiere fuente de alimentación externa y se lo puede montar en una pequeña placa de circuito impreso como la mostrada en la figura 21.

Para realizar las tareas de lectura, copia y programación se puede emplear el programa EEPROM.exe visto para el programador de la versión 1 (que funciona en ambiente DOS) pero configurado para funcionar con el puerto serie.

También se puede emplear el ICPROG (vea Saber Electrónica Nº 200) o el PONY PROG. Cabe aclarar que el PCB de este proyecto, los programas, la explicación de uso y demás elementos los puede bajar de nuestra web con la clave “memo24”; toda la información se encuentra en el archivo pony.zip.

Si Ud. desea montar un programador perfectamente portátil, puede armar este circuito directamente en un conector DB9 (vea la figura 18) de forma tal que luego pueda conectarlo directamente al puerto serie de una computadora (figura 19). El armado no es muy complicado, sólo deberá tener cuidado de que no se toquen los terminales de los diferentes componentes para evitar cortocircuitos, teniendo en cuenta que tanto el zócalo como el led deben ser colocados en la carcaza del conector, para lo cual deberá realizar las perforaciones necesarias con algún elemento contundente (puede ser un cuchillo en desuso) calentado previamente.

En la fotografía de la figura 18 se puede visualizar un detalle del programador armado en el conector. Los diodos zener no se pueden ver porque están conectados directamente sobre las patas del zócalo y encima hay un pequeño aislante para poder colocar el resto de los componentes.

Tenga en cuenta que si Ud. desea este cargador ya armado, lo puede conseguir en diferentes casas del gremio por precios que oscilan en los $35. Editorial Quark le ofrece este programador junto con un manual de datos y un CD con abundante información, todos los programas vistos en esta nota, varios ejemplos, un curso de microcontroladores y memorias y más de 100 códigos de equipos comerciales (todo por $35).

 
De la redacción de Saber Electrónica
FIGURA 01
 
FIGURA 02
 
FIGURA 03
 
FIGURA 04
 
FIGURA 05
 
FIGURA 06
 
FIGURA 07
 
FIGURA 08
 
FIGURA 09
 
FIGURA 10
 
FIGURA 11
 
FIGURA 12
 
FIGURA 13
 
FIGURA 14
 
FIGURA 15
 
FIGURA 16
 
FIGURA 17
 
FIGURA 18 - 19
 
FIGURA 20
 
FIGURA 21
 
MATERIALES
 
 
 
 
 
PROMOCIONES
 
 
PROMOCIONES
 
 
PROMOCIONES
 
 
PROMOCIONES
 
 
PROMOCIONES
 
 
 
PROMOCIONES