4 - Introduccion a Microcontroladores
[ <<Actinio89>> ]
Hagamos un poco de Historia
No podemos olvidar que la INTEL fue la compañÌa de que desarrolló el primer microprocesador en el mundo, el 4004 en el año 1971. Este microprocesador, con sólo 2300 transistores, fue el origen de una gran cantidad de dispositivos que se desarrollaron posteriormente, los cuales integran actualmente más de un millón de transistores en un encapsulado. Tampoco podemos olvidar del hecho que INTEL ha desarrollado microprocesadores tan exitosos como el 8086, 80286, 80386 y 80486 y más recientemente la lÌnea PENTIUM.
Pero, quien dijo que se quedarÌa durmiendo en los laureles en materia de microcontroladores (nuestro caso de estudio), pues no, INTEL ha fabricado microcontroladores de 8 y 16 bits, cada uno de ellos tiene amplias posibilidades de uso y prestaciones que los hacen adecuados para gran cantidad de aplicaciones. Los microcontroladores INTEL han tenido gran aceptación, hasta el punto que otros fabricantes han optado por producir sus propias versiones de estos dispositivos, como el caso de SIEMENS y PHILIPS.
Introducción
En ente mundo del hacking y de la internet, se habla de microprocesadores y computadores a gran escala, pero tambiÈn existen otros dispositivos ( si estás en la universidad estudiando alguna carrera ligada a la electrónica o eres curioso) habrás oÌdo acerca de MICROCONTROLADORES; si no es asÌ, no importa ( jejeje..) acá comenzaremos alguillo respecto al tema. J
Para darle un toque más formal al tema, comenzaremos diciendo que hoy en dÌa, el incremento competitivo en el mercado de la industria electrónica crea la necesidad de diseñar sistemas con mejores caracterÌsticas, de menor tamaño, bajos requerimientos de energÌa, mejor realización, teniendo un especial Ènfasis sobre todo en la facilidad de duplicidad del sistema diseñado. La lógica definida por el usuario y la realizada por el fabricante permite individualizar a los sistemas diseñados, asÌ como tambiÈn apegarse más a los requerimientos especÌficos del usuario.
Ya tanta palabrerÌa nos cansa no?, jeje....
Bueno, entonces ¿QuÈ es un microcontrolador?
Un microcontrolador es todo un "sistema mÌnimo" dentro de un solo dispositivo, lo cual ofrece un enorme panorama hacia el mundo de la compatibilidad. Este dispositivo contiene:
un CPU (basado principalmente en un microprocesador de 4, 8 ó 16 bits), puertos paralelos de entrada y salida, puerto serie, timers, contadores, memorias, y en algunos casos hasta convertidores analógicos digitales, todo eso dentro de un solo chip.
Pero ¿Por quÈ un microcontrolador y no un microprocesador?
Pues bien, digamos que el microcontrolador está encaminado básicamente hacia aplicaciones concretas en donde el espacio, y número de componentes es mÌnimo, además, los cambios o ampliaciones futuras del sistema son casi nulos. Por otro lado, un microprocesador se destina a sistemas donde su expansión a corto o mediano plazo es factible. A pesar de que un microprocesador es más rápido que un microcontrolador para la ejecución de sus instrucciones, en la mayorÌa de los casos es necesario interconectarlo con dispositivos perifÈricos.
Además, un microcontrolador puede ser utilizado con un mÌnimo número de componentes en trabajos especÌficos y en un amplio rango de aplicaciones, tales como: sistemas de control de alarmas, tableros de control en industria automotriz, en la instrumentación mÈdica, teclados de computadora, sistemas portátiles de almacenamiento de datos, equipos de laboratorio, etc.
CaracterÌsticas de los microcontroladores 8X51
- CPU de ocho bits, optimizada para aplicaciones de control.
- Procesador Booleano (operación sobre bits).
- Espacio de memoria de programa de 64 Kbytes.
- Espacio de memoria de datos de 64 Kbytes
- 4 Kbytes de memoria interna de programa.
- 128 bytes de memoria RAM interna.
- 32 lÌneas de entrada/salida, direccionables bit a bit , (cuatro puertos), muy importante ;-)
- Comunicación asÌncrona Full Duplex
- 5 fuentes de interrupción
- Oscilador interno.
Descripción de las lÌneas (Pines) del 8051.
Acá te presento el microcontrolador 89C51/52:
(ver la micro89C52.bmp que se encuentra dentro del zip)
Descrición de las conexiones:
+----------------------------------------------------------------------------------------+
| Nemónico | No. de Pin | Tipo | Función |
|----------------------------------------------------------------------------------------|
|Vss | 20 | Ent. | Tierra 0V |
| | | | |
|P0.0-P0.7 | 32 | E/S | Puerto 0: Es un puerto biireccional con |
| | | | salidas en colector abierto. Cuando el |
| | | | puerto tiene 1's escrito, las salidas estan |
| | | | flotadasy pueden servir como entradas en alta |
| | | | impedancia. El puerto 0 es tambiÈn multi- |
| | | | plexado para obtener el DATO y la parte |
| | | | baja de la direccion. |
| | | | |
|P1.0-P1.7 | 1 al 8 | E/S | Puerto 2: Es un puerto quasibidireccional |
| | | | con fijadores de nivel internos (pull-up). |
| | | | Cuando se escriben 1's, las lÌneas pueden ser |
| | | | utilizadas como entradas o salidas. Como en- |
| | | | tradas las lÌneas que son externamente |
| | | | colocadas en la posicion baja proporcionan |
| | | | una corriente hacia el exterior. El puerto 2 |
| | | | es usado ademas para direccionar memoria |
| | | | externa. Este puerto, emite el byte mas alto |
| | | | de la direccion durante la busqueda en la |
| | | | memoria de programa externo y durante el |
| | | | acceso a memorias de datos externos que usan |
| | | | direccionamientos de 16 bits. Durante el |
| | | | acceso a memoria de dato externa, que usa |
| | | | direcciones de 8 bits, el Puerto 2 emite el |
| | | | contenido del registro correspondiente a este |
| | | | puerto, que se encuentra en el espacio de |
| | | | funciones especiales. |
| | | | |
| P3.0-P3.7 | 10 al 17 | E/S | Puerto 3: Es un puerto quasi-bidireccional con|
| | | | fijadores del nivel internos(pull-up). Cuando |
| | | | se escriben 1's sobre el puerto, las lineas |
| | | | pueden ser utilizadas como entradas o salidas.|
| | | | El puerto 3 se utiliza ademas para producir |
| | | | señales de control de dispositivos externos |
| | | | como los siguientes: |
| | | | |
| | 10 | Entrada | RXD(P3.0): Puerto serie de entrada. |
| | | | |
| | 11 | Salida | TXD(P3.1): Puerto serie de salida. |
| | | | |
| | 12 | Entrada | INT0(P3.2): Interrupcion externa. |
| | | | |
| | 13 | Entrada | INT1(P3.3): Interrupcion externa. |
| | | | |
| | 14 | Entrada | T0(P3.4): Entrada externa Timer 0. |
| | | | |
| | 15 | Entrada | T1(P3.5): Entrada externa Timer 1. |
| | | | |
| | 16 | Salida | WR(P3.6): Habilitados de escritura para |
| | | | memoria externa de datos |
| | | | |
| | 17 | Salida | RD(P3.7): Habilitador de lectura para la |
| | | | memoria externa de datos. |
| | | | |
| RST | 9 | Entrada | Reset: Una entrada alta en esta linea durante |
| | | | dos ciclos de maquina mientras el oscilador |
| | | | esta corriendo detiene el dispositivo. Un |
| | | | resistor interno conectado a Vss permite un |
| | | | alto en la fuente usando solamente un |
| | | | capacitor externo a Vcc. |
| | | | |
| ALE | 30 | E/S | Addre Latch Enable. Un pulso de salida permite|
| | | | fijar el byte bajo de la direccion durante el |
| | | | acceso a una memoria externa. En operacion |
| | | | normal, ALE es emitido en un rango constante |
| | | | de 1/6 de frecuencia del oscilador, y es |
| | | | emitido durante cada acceso a la memoria de |
| | | | datos externos. |
| | | | |
| PSEN | 29 | Salida | Program Store Enable. Habilitar de lectura |
| | | | para memoria programas externos. Cuando 8051 |
| | | | esta ejecutando un codigo de memoria de |
| | | | programas externos, PSEN es activada dos veces|
| | | | cada ciclo de maquina, exepto cuando se |
| | | | accesa la memoria de datos externos o cuando |
| | | | se usa la memoria de programas internos. |
| | | | |
| EA | 31 | Entrada | External Access. EA debe mantenerse |
| | | | externamente en posicion baja para habilitar |
| | | | el mecanismo que elige el codigo de |
| | | | localizaciones de la memoria de programas |
| | | | externos, 0000H y 0FFFH. Si EA se mantiene |
| | | | posicion alta, el dispositivo ejecuta los |
| | | | programas que se encuentran en la memoria |
| | | | interna ROM, a menos que el controlador del |
| | | | programa contenga una direccion mayor a 0FFFH.|
| | | | |
| XTAL1 | 19 | Entrada | Cristal 1. En la entrada del cristal para el |
| | | | circuito oscilador (generador de reloj |
| | | | interno) que amplifica e invierte la entrada. |
| | | | |
| XTAL2 | 18 | Salida | Cristal 2. Es salida del amplificador |
| | | | oscilador inversor. |
| | | | |
+----------------------------------------------------------------------------------------+
Bueno amigos lectores, hasta aqui con controladores, hasta la proxima entrega cuando nos adentremos mas en materia de microcontroladores (programacion y teoria relevante).
PD. Todo el material ha sido recopilado y redacto de revistas, guias(apuntes de clase) y manuales durante mi estadia en la Universidad, en ningun momento pretendo suplantar libros o textos especializados, esto es un MATERIAL DE REFERENCIA para el disfrute de todos ;-)
<<Actinio89>>