Tabla de microcontroladores de 8 bits --------------------------------------- Recopilado por Roger Nelson Traducido por Miguel Angel Montejo Ráez --------------------------------------- Esta tabla se divide en dos partes: memoria/número de pines, y características/periféricos. Tener en cuenta que la mayoría de estos microcontroladores operan en diversos modos. Por ejemplo, en modo de chip simple la memoria de expansión externa no debería estar disponible, o la líneas de e/s de propósito general pueden ser reemplazadas con puertos de direccionamiento de memoria. Manden correcciones, sugerencias o información a: Roger Nelson rnelson@mail.wsu.edu Las entradas en blanco son datos que no se han podido obtener. Las entradas con guiones (-) indican que el procesador soporta esta característica. DESCRIPCION DE COLUMNAS: Tech: tecnología de fabricanción Pins: número de pines RAM: cantidad de RAM interna ROM: cantidad de ROM interna ROM OTP: cantidad disponible de ROM de otro tipo (ej. PROM) ROM EP: cantidad disponible de ROM EPROM ROM EEP: cantidad disponible de ROM EEPROM Boot strp mode: posibilidad de cambiar la memoria de arranque inicial Exp Mem (k): memoria externa accesible Total I/O pins: número de pines de e/s in line: líneas de entrada out line: líneas de salida I/O line: líneas de e/s y: si (yes) n: no Motorola -------- Boot Exp TotalG.P.G.P. OTP EP EEP strp Mem I/O In Out I/O Tech Pins RAM ROM ROM ROM ROM mode (k) pins linelineline 6800 HMOS 40 - - - - - - 64 6801 HMOS 40 128 2048 - - - 64 29 6803 HMOS 40 128 - - - - 64 13 6801u4 HMOS 40 192 4096 - - - 64 29 6803u4 HMOS 40 192 - - - - 64 13 68701 HMOS 40 128 - - 2048 - 64 29 68701u4 HMOS 40 192 - - 4096 - 64 29 6802 HMOS - 64 6804j1 HMOS 20 30 512 - - - 0 12 6804j2 HMOS 20 30 1000 - - - 0 12 6804p2 HMOS 28 30 1016 - - - 0 20 68704p2 HMOS 28 30 - - 1020 - 0 20 68hc04j2 HCMOS 20 172 1000 - - - 0 12 68hc04j3 HCMOS 20 30 1672 - - - 0 12 68hc04p4 HCMOS 28 172 3700 - - - 0 20 68hc704p4 HCMOS 28 172 - - 3700 - 0 20 6805p2 HMOS 28 64 1110 - - - 0 20 6805p6 HMOS 28 64 1804 - - - 0 20 6805r3 HMOS 40/44 112 3776 - - - 0 32 6805s2 HMOS 28 64 1480 - - - 0 21 6805s3 HMOS 28 104 3720 - - - 0 21 6805u2 HMOS 40/44 64 2048 - - - 0 32 6805u3 HMOS 40/44 112 3376 - - - 0 32 68705p3 HMOS 28 112 - - 1804 - 0 20 68705p5 HMOS 28 112 - - 1804 - 0 20 68705r3 HMOS 40 112 - - 3776 - 0 32 68705r5 HMOS 40 112 - - 3776 - 0 32 68705s3 HMOS 28 104 - - 3752 - 0 21 68705u3 HMOS 40 112 - - 3776 - 0 32 68705u5 HMOS 40 112 - - 3776 - 0 32 68hc05a6 HCMOS40/44 176 4160 - - 2056 0 32 68hc05b4 HCMOS48/52 176 4160 - - - 0 32 68hc05b6 HCMOS40/52 176 5952 - - 256 0 32 68hc05c2 HCMOS 40 176 2096 - - - 0 32 68hc05c3 HCMOS 40 176 2096 - - - 0 32 68hc05c4 HCMOS40/44 176 4160 - - - 0 32 68hc05c8 HCMOS40/44 176 7700 - - - 0 32 68hc05c9 HCMOS 176 - - - 0 32 68hc05l6 HCMOS 68 176 6208 - - - 0 32 68hc05m4 HCMOS 52 128 4096 - - - 0 32 68hc05p1 HCMOS - - - 0 32 68hcl05c4 HCMOS40/44 176 4160 - - - 0 32 68hcl05c8 HCMOS40/44 176 8192 - - - 0 32 68hsc05c4 HCMOS40/44 176 4160 - - - 0 32 68hsc05c8 HCMOS40/44 176 8192 - - - 0 32 68hc705b5 HCMOS48/52 176 - - - - 0 32 68hc705c4 HCMOS40/44 176 - - - 0 32 68hc705c8 HCMOS40/44 304 - - - - 0 32 68hc805b6 HCMOS48/52 176 - - 8k 6208 0 32 68hc805c4 HCMOS40/44 176 - - - 4160 0 32 146805e2 CMOS 40 112 0 - - - 64 16 146805f2 CMOS 28 64 1089 - - - 64 20 146805g2 CMOS 40 112 2106 - - - 64 32 6809 HMOS 64 6809e HMOS 64 6810 HMOS 64 68hc11a0 HCMOS48/52 256 - - - - 64 38 68hc11a1 HCMOS48/52 256 - - - 512 y 64 38 68hc11a8 HCMOS48/52 256 8192 - - 512 y 64 38 68hc11d3 HCMOS40/44 192 4096 - - - y 64 30 68hc11e1 HCMOS 52 512 0 - - 512 y 64 38 68hc11e9 HCMOS 52 512 12k - - 512 y 64 38 68hc11f1 HCMOS - - - - y 64 - 68hc11d3 HCMOS 192 - - - y 64 38 68hc11e2 HCMOS48/52 256 - - - 2048 y 64 38 68hc705c8 HCMOS40/44 304 - 7616 - - 64 24 68hc711d3 HCMOS40/44 192 - 4096 - - 64 24 68hc711a8 HCMOS 52 256 - 8192 - - 64 38 68hc711e9 HCMOS48/52 512 - 12k - - 64 38 No obstante, el modo multiplexor expandido de la RAM 68HC11 a 64K emplea 16 pines de salida para direccionamiento (dos puertos de 8 bits), el chip periférico MC68HC24 permite al procesador direccionar 64K externos de memoria mientras preserva los dos puertos de e/s. Familia Intel MCS ----------------- Exp TotalG.P.G.P. OTP EP EEP Boot Mem I/O In Out I/O Tech Pins RAM ROM ROM ROM ROM ROM (k) pins linelineline 8051 HMOS 128 4k - - - 64 8031 HMOS 128 - - - - 64 8051AH HMOS 128 4k - - - 64 8031AH HMOS 128 - - - - 64 8751H HMOS 128 4k - y? - 64 8751BH HMOS 128 4k - y? - 64 8052AH HMOS 256 8k - - - 64 8032AH HMOS 256 - - - - 64 8752BH HMOS 256 8k - y? - 64 80C51BH HMOS 128 4k - - - 64 80C31BH HMOS 128 - - - - 64 87C51 HMOS 128 4k - y? - 64 83C51FA HMOS 256 8k - - - 64 80C51FA HMOS 256 - - - - 64 87C51FA HMOS 256 8k - y? - 64 83C51FB HMOS 256 16k - - - 64 80C51FA HMOS 256 - - - - 64 87C51FB HMOS 256 16k - y? - 64 83C51GA HMOS 128 4k - - - 64 80C51GA HMOS 128 - - - - 64 87C51GA HMOS 128 4k - y? - 64 83C152JA HMOS 256 8k - - - 64 80C152JA HMOS 256 - - - - 64 80C152JB HMOS 256 - - - - 64 83C152JC HMOS 256 8k - - - 64 80C152JC HMOS 256 - - - - 64 80C152JD HMOS 256 - - - 64 83C451 HMOS 128 4k - - - 64 80C451 HMOS 128 - - - - 64 83C452 HMOS 256 8k - - - 64 80C452 HMOS 256 - - - - 64 87C452P HMOS 256 8k - y? - 64 Texas Instruments TMS370 ------------------------ Exp TotalG.P.G.P. OTP EP EEP Boot Mem I/O In Out I/O Tech Pins RAM ROM ROM ROM ROM ROM (k) pins linelineline 370C010 ? 28 128 4k - - - ? - 22 1 0 21 370C050 ? 68 256 4k - - - ? 112 55 9 0 46 370C032 ? 44 256 8k - - - ? - 36 13 9 14 370C052 ? 68 256 8k - - - ? 112 55 9 0 46 370C056 ? 68 512 16k - - - ? 112 55 9 0 46 370C310 ? 28 128 4k - - - ? - 22 1 0 21 370C350 ? 68 256 4k - - - ? 112 55 9 0 46 370C332 ? 44 256 8k - - - ? - 36 13 9 14 370C352 ? 68 256 8k - - - ? 112 55 9 0 46 370C356 ? 68 512 16k - - - ? 112 55 9 0 46 370C150 ? 68 256 - - - - ? 112 55 9 0 46 370C250 ? 68 256 - - - - ? 112 55 9 0 46 370C156 ? 68 512 - - - - ? 112 55 9 0 46 370C256 ? 68 512 - - - - ? 112 55 9 0 46 370C810 ? 28 128 - - - 4k ? - 22 1 0 21 370C850 ? 68 256 - - - 4k ? 112 55 9 0 46 370C732 ? 44 256 - - 8k - ? - 36 13 9 14 370C756 ? 68 512 - - 16k - ? 112 55 9 0 46 Las series TMS370 de Texas Instruments tienen también una EPROM de 256 bytes (el modelo 370Cx56 posee una EPROM de 512 bytes) para memoria de datos, con la excepción del TMS3703xx que no tiene ninguna. National Semiconductor COP800 ----------------------------- Exp TotalG.P.G.P. OTP EP EEP Boot Mem I/O In Out I/O Tech Pins RAM ROM ROM ROM ROM ROM (k) pins linelineline 800C MCMOS 820C MCMOS 28 64 1k - - - 32 24 821C MCMOS 24 64 1k - - - 20 822C MCMOS 20 64 1k - - - 16 840C MCMOS 28 128 2k - - - 32 24 841C MCMOS 24 128 2k - - - 20 842C MCMOS 20 128 2k - - - 16 620C MCMOS 28 64 1k - - - 24 621C MCMOS 24 64 1k - - - 20 622C MCMOS 20 64 1k - - - 16 640C MCMOS 28 128 2k - - - 24 641C MCMOS 24 128 2k - - - 20 642C MCMOS 20 128 2k - - - 16 820CB MCMOS 821CB MCMOS 822CB MCMOS 8640C MCMOS 28 64 2k - - 64 24 8641C MCMOS 24 64 2k - - 64 20 8642C MCMOS 20 64 2k - - 64 16 8620C MCMOS 28 64 1k - - 64 24 8621C MCMOS 24 64 1k - - 64 20 8622C MCMOS 20 64 1k - - 64 16 8720C MCMOS 28 64 1k - - 64 24 8721C MCMOS 24 64 1k - - 64 20 8722C MCMOS 20 64 1k - - 64 16 880 MCMOS 888CF MCMOS40/44 128 4k - - - 32 33/37 888CG MCMOS40/44 192 4k - - - 35/3 9 888CL MCMOS40/44 128 4k - - - 32 33/39 820CP-X MCMOS 840CP-X MCMOS 888CLP MCMOS28/40 128 - 884CLP MCMOS28/40 128 - 888CFP MCMOS28/40 128 - 21/33 884CFP MCMOS28/40 128 - 21/33 888CGP MCMOS28/40 192 - 23/35 884CGP MCMOS28/40 192 - 23/35 888CLMH MCMOS 44 128 - 8k 37 888CFMH MCMOS 44 128 - 8k 37 888CGMH MCMOS 44 192 - 8k 39 Los puertos D y L son empleados para direccionar moemoria externa en el modo ROMless. __________________________________________________________________________ Convertidores A/D En diversos modelos de microcontroladores se proporciona capacidad de conversión A/D. En diversos modelos se genera una interrupción cuando la conversión se completa, en otros el programa debe esperar que se complete la conversión (MC68xx). Algunos microcontroladores pueden no tener convertidores A/D, pero pueden tener comparadores diferenciales simples (com). Vectores y fuentes de interrupción Algunas de las fuentes pueden estar dedicadas a funciones del procesador, como: funciones de temporización, dispositivos serie, perro guardián, etc. E/S mapeada en memoria Todos los procesadores aquí listados emplean E/S mapeada en memoria. La temporización de perro guardián puede ser empleada para capturar programas que han caído en bucles infinitos. Esta temporización resetea el procesador y el sistema externo. Un micro que opera correctamente puede resetear el sistema si la frecuencia de reloj cae por debajo del límite de operación. Los temporizadores de 8/16/32 bits deben tener modos que permitan temporizar eventos internos o externos, referidos en el libro de características. Algunos controladores, como el MC6811, poseen un acumulador especial de pulso que permite a un contador ser incrementado en los flancos de caída o subida (seleccionable) sin necesidad de interrupciones de programa. El programa puede empujar al registro contador al valor actual, la familia COP de National Semiconductors permite al temporizador ser programado para esta funcionalidad. Los puertos serie síncronos son empleados comunmente para comunicarse con otros periféricos empleando protocolos síncronos serie, como servidores de meoria, displays, puertos A/D adicionales, etc., o como una simple red de microcontroladores en una configuración maestro/esclavo. Esto permite la comunicación con estos dispositivos empleando sólo unos pocos pines, sin tomar 2 o 3 puertos de datos/direccionamiento para direccionar memoria de e/s. El SPI es un puerto serie síncrono (serial peripheral interface). El SPI no requiere bits de comienzo/parada y puede operar a altas frecuencias de reloj. El MicroWire/Plus de la familia de National Semiconductor es un puerto serie síncrono similar al SPI. Los puertos serie asíncronos son a menudo configurados para ser empleados como un puerto RS-232. El SCI es un puerto serie asíncrono (serial communication interface). Este puerto puede ser configurado para comunicación con un puerto RS-232 proporcionando el voltaje necesario de alimentación, como un chip MAX233. La UART es un puerto serie asíncrono similar al SCI, pero posee doble buffer (2 bytes) permitiendo operaciones más rápidas con menos probabilidad de error de desbordamiento. Las funciones SCI y UART deben dar cabida a un modo de aviso o atención, que monitoriza la entrada en busca de un carácter de direccionamiento (señalado por la activación del bit 9). En este momento se genera una interrupción donde el programa debe determinar, en base al valor de direccionamiento recibido, el correspondiente dato de entrada. Tener en cuenta que el SCI y el UART no son dispositivos idénticos; incluso las capacidades del SCI pueden variar entre una linea de familias. Motorola -------- Int Mem Wch Min Bus 8 16 32 A/D src map dog clk spd NMI Msk bit bit bit Pls Chn vct I/O tmr rate Mhz SPC SCI Int Int tim tim tim acc. 6800 - y 6801 - y - y - 1 - 6803 - y - y - 1 - 6801u4 - y - y - 1 - 6803u4 - y - y - 1 - 68701 - y - y - 1 - 68701u4 - y - y - 1 - 6802 - y - - - 6804j1 - y 1 - - 6804j2 - y 1 - - 6804p2 - y 1 - - 68704p2 - y 1 - - 68hc04j2 - y 1 - - 68hc04j3 - y 1 - - 68hc04p4 - y 1 - - 68hc704p4 - y 1 - - 6805p2 - y - 1 - - 4 6805p6 - y - 1 - - 4 6805r3 4 y - 1 - - 4 6805s2 4 y y 1 - - 4 6805s3 4 y y 1 - - 4 6805u2 4 y y 1 - - 4 6805u3 - y - 1 - - 4 68075p3 - y - 1 - - 4 68705p5 - y - 1 - - 68705r3 - y - 1 - - 68705r5 4 y - 1 - - 68705s3 4 y - 1 - - 68705u3 4 y y 2 1 - 68705u5 - y - 1 - - 68hc05a6 - y - 1 - - 4 68hc05b4 - y y y 1 - 4 68hc05b6 4 y - y 1 - 4 68hc05c2 4 y - y 1 - 4 68hc05c3 - y - - 1 - 4 68hc05c4 - y y y 1 - 4 68hc05c8 - y y y 1 - 4 68hc05c9 - y y y 1 - 4 68hc05l6 - y y y 1 - 4 68hc05m4 - y y - 1 - 4 68hc05p1 6 y - - 1 1 - 4 68hcl05c4 - y y y 1 - 4 68hcl05c8 - y y y 1 - 4 68hsc05c4 - y y y 1 - 4 68hsc05c8 - y y y 1 - 4 68hc705b5 - y y y 1 - 68hc705c4 - y y y 1 - 68hc705c8 - y y y 1 - 68hc805b6 - y y y 1 - 68hc805c4 - y - y 1 - 146805e2 - y y y 1 - 146805f2 - y - - 1 - 146805g2 - y - - 1 - 6809 - y - - 1 - 6809e - y - 6810 - y - 68hc11a0 8 y y y 1 68hc11a1 8 y y y 1 68hc11a8 8 y y y 1 68hc11d3 - y - y 1 68hc11e1 8 y y y 1 68hc11e9 8 y y y 1 68hc11f1 8 y - - 1 68hc11d3 - y y y 1 68hc11e2 8 y y y 1 68hc705c8 - y y y 68hc711d3 - y y y 68hc711a8 y y y y 68hc711e9 y y y y 68hc811e2 8 y y y Si no se genera una interrupción tras completarse la conversión A/D, los registros de datos son vaciados. El SCI de las series 680x tienen una velocidad de transmisión fija, las series 6811 ofrecen la capacidad adicional de seleccioanr por cable la velocidad y las operaciones de control de interrupciones. familia Intel MCS ----------------- Int Mem Wch Min Bus S G Temporizador/pulso A/D src map dog clk spd E S NMI Msk acumulador Pls Chn vct I/O tmr rate Mhz P P UARTInt Int 9 16 32 acc. 8051 - 6/5 y y - - y - 2 - 8031 - 6/5 y y - - y - 2 - 8051AH - 6/5 y y - - y - 2 - 8031AH - 6/5 y y - - y - 2 - 8751H - 6/5 y y - - y - 2 - 8751BH - 6/5 y y - - n? - 2 - 8052AH - 8/6 y y - - y - 3 - 8032AH - 8/6 y y - - y - 3 - 8752BH - 8/6 y y - - y - 3 - 80C51BH - 6/5 y y - - y - 2 - 80C31BH - 6/5 y y - - y - 2 - 87C51 - 6/5 y y - - y - 2 - 83C51FA - 14/7 y y - - y - 3 - 80C51FA - 14/7 y y - - y - 3 - 87C51FA - 14/7 y y - - y - 3 - 83C51FB - 14/7 y y - - y - 3 - 80C51FA - 14/7 y y - - y - 3 - 87C51FB - 14/7 y y - y - 3 - 83C51GA 8 8/7 y y y - y - 2 - 80C51GA 8 8/7 y y y - y - 2 - 87C51GA 8 8/7 y y y - y - 2 - 83C152JA - 19/11 y y - y y - 2 - 80C152JA - 19/11 y y - y y - 2 - 80C152JB - 19/11 y y - y y - 2 - 83C152JC - 19/11 y y - y y - 2 - 80C152JC - 19/11 y y - y y - 2 - 80C152JD - 19/11 y y - y y - 2 - 83C451 - 6/5 y y - - y - 2 - 80C451 - 6/5 y y - - y - 2 - 83C452 - 9/8 y y - - y - 2 - 80C452 - 9/8 y y - - y - 2 - 87C452P - 9/8 y y - - y - 2 - * Dependiendo del modo seleccionado, cada temporizador puede ser de 8 bits, 16 bits, o dos temporizadores de 8 bits. La UART posee doble buffer. La conversión A/D genera una interrupción. Series TMS370 de Texas Instruments ---------------------------------- Int Mem Wch Min Bus 8 16 32 A/D src map dog clk spd NMI Msk bit bit bit Pls Chn vct I/O tmr rate Mhz SPC SCI Int Int tim tim tim acc. 370C010 - 6/13 y y 2-20 y - ? ? ? ? ? 370C050 8 10/23 y y 2-20 y y ? ? ? ? ? 370C032 8 23/25 y pact2-20 pact y ? ? ? ? ? 370C052 8 10/23 y y 2-20 y y ? ? ? ? ? 370C056 8 10/23 y y 2-20 y y ? ? ? ? ? 370C310 - 6/13 y y 2-20 y - ? ? ? ? ? 370C350 8 10/23 y y 2-20 y y ? ? ? ? ? 370C332 8 23/25 y 2-20 pact y ? ? ? ? ? 370C352 8 10/23 y y 2-20 y y ? ? ? ? ? 370C356 8 10/23 y y 2-20 y y ? ? ? ? ? 370C150 8 10/23 y y 2-20 y y ? ? ? ? ? 370C250 8 10/23 y y 2-20 y y ? ? ? ? ? 370C156 8 10/23 y y 2-20 y y ? ? ? ? ? 370C256 8 10/23 y y 2-20 y y ? ? ? ? ? 370C810 - 6/13 y y 2-20 y - ? ? ? ? ? 370C850 8 10/23 y pact2-20 y y ? ? ? ? ? 370C732 8 23/25 y y 2-20 pact y ? ? ? ? ? 370C756 8 10/23 y y 2-20 y y ? ? ? ? ? El sistema A/D de TI posee un registro de datos, por tanto sólo puede efectuarse uan conversión por cada vez. National Semiconductor ---------------------- Int Mem Wch Min Bus Micro 8 16 32 A/D src map dog clk spd wire NMI Msk bit bit bit Pls Chn vct I/O tmr rate Mhz ser UARTInt Int tim tim tim acc. 800C y y - 1 - 820C - 3 y y - 1 - 821C - 3 y y - 1 - 822C - 3 y y - 1 - 840C - 3 y y - 1 - 841C - 3 y y - 1 - 842C - 3 y y - 1 - 620C - 3 y y - 1 - 621C - 3 y y - 1 - 622C - 3 y y - 1 - 640C - 3 y y - 1 - 641C - 3 y y - 1 - 642C - 3 y y - 1 - 820CB y y 821CB y y 822CB y y 8640C - 3 y y - 1 - 8641C - 3 y y - 1 - 8642C - 3 y y - 1 - 8620C - 3 y y - 1 - 8621C - 3 y y - 1 - 8622C - 3 y y - 1 - 8720C - 3 y y - 1 - 8721C - 3 y y - 1 - 8722C - 3 y y - 1 - 880 - ? y - y - 1 - 888CL - 10 y y y - 1 - 888CF 8 10 y y - 2 - 888CG - 14 y y y - 3 - 820CP-X y y 840CP-X y y 888CLP 10 y y y - 2 - 884CLP 10 y y y - 2 - 888CFP 8 10 y y y - 2 - 884CFP 8 10 y y y - 2 - 888CGP 2com14 y y yp y - 3 - 884CGP 2com14 y y yp y - 3 - 888CLMH - 10 y y y - - 2 - 888CFMH 8 10 y y y y - 2 - 888CGMH 2com14 y y yp y - 3 - Los temporizadores de N.S poseen tres modos de operación: 1 - Modo de procesamiento independiente: una vez que el parámetro de operación ha sido programado, las señales de salida son generadas automáticamente sin intervalo adicional de programa cuando el contaje del temporizador llega por debajo de cero (rebasamiento). 2 - Modo de contaje de evento externo: el temporizador cuenta pulsos eventuales en un pin de entrada y genera uan interrupción cuendo el contaje llega por debajo de 0. 3 - Modo de captura de entrada: el temporizador cuenta a un ritmo fijado. Cuendo el pulso eventual sucede en un pin de entrada, el valor de contaje actual es copiado al registro de temporizacón y se genera una interrupción. Referencias: Motorolla Microprocessor, Microcontroller and Peripheral Databook vols. I and II (1988) National Semiconductor Microcontroller Databook (1989) Hitz, Kenneth and Tabak, Daniel Microcontrollers: Architecture, Implementation , & Programming McGraw-Hill Inc. 1992