19
MICROCONTROLADORES Prof.: MsC. Luz Adanaqué Ciclo: 2016-1 04.01.2016

Introduccion 27760

  • Upload
    utpaqp

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

MICROCONTROLADORES

Prof.: MsC. Luz Adanaqué

Ciclo: 2016-1

04.01.2016

CONTENIDO DEL CURSO

Desarrollo de sistemas digitales utilizando los

microcontroladores MICROCHIP.

Estudio de la arquitectura, set de instrucciones,

configuraciones y modos de interrupciones.

Configuración y programación de los módulos internos del

microcontrolador.

Interfaces y periféricos de comunicación.

Un poco de historia…

• Después de la segunda guerra la tecnología de circuitos electrónicos avanzó.

• Diseño de dispositivos físicos de Estado Sólido. • En 1948 en los laboratorios Bell crearon el transistor.

• En los años 50's, aparecen

las primeras computadoras

digitales de propósito

general.

• Éstas usaban tubos al vacío (bulbos) como componentes electrónicos activos.

• Tarjetas o módulos de tubos al vacío fueron usados para construir circuitos lógicos básicos tales como compuertas lógicas y flip-flops (Celda donde se almacena un bit). Ensamblando compuertas y flip-flops en módulos, los científicos construyeron la computadora ( la lógica de control, circuitos de memoria, etc.).

• La construcción de una computadora digital

requiere de muchos circuitos o dispositivos

electrónicos.

• El principal paso tomado en la computadora fue

hacer que el dato fuera almacenado en memoria

como una forma de palabra digital.

• La tecnología de los circuitos de estado sólido

evolucionó en la década de los años 50's. El uso

del material silicio de bajo costo y con métodos

de producción masiva, hicieron al transistor ser

el más usado para el diseño de circuitos.

Por lo tanto el diseño de la computadora digital fue un gran avance para remplazar al tubo al vacío (bulbo) por el transistor a finales de los años 50's. A principios de los años 60's, el arte de la construcción de computadoras de estado sólido se incrementó y surgieron las tecnologías en circuitos digitales como: RTL (Lógica Transistor Resistor), DTL (Lógica Transistor Diodo), TTL (Lógica Transistor Transistor), ECL (Lógica Complementada Emisor).

A mediados de los años 60's se producen las familias de lógica digital, dispositivos en escala SSI y MSI que corresponden a pequeña y mediana escala de integración de componentes en los circuitos de fabricación.

A finales de los años 60's y principios de los años 70's surgieron los LSI (gran escala de integración ). La tecnología LSI fue haciendo posible más y más circuitos digitales en un circuito integrado. Pero pocos circuitos LSI fueron producidos, los dispositivos de memoria fueron un buen ejemplo.

Las primeras calculadoras electrónicas requerían de 75 a 100 circuitos integrados. Después se dio un paso importante en la reducción de la arquitectura de la computadora a un circuito integrado simple, resultando un circuito que fue llamado el microprocesador.

• El primer microprocesador fue el Intel 4004,

producido en 1971.Contenía 2.300 transistores en

un microprocesador de 4 bits que sólo podía

realizar 60.000 operaciones por según

• El primer microprocesador de 8 bits fue el Intel

8008, desarrollado en 1979 para su empleo en

terminales informáticos. El Intel 8008 contenía

3.300 transistores. El primer microprocesador

realmente diseñado para uso general, desarrollado

en 1974, fue el Intel 8080 de 8 bits, que contenía

4.500 transistores y podía ejecutar 200.000

instrucciones por segundo.

Los microprocesadores modernos tienen una

capacidad y velocidad mucho mayores.

Entre ellos figuran el Intel Pentium Pro, con

5,5 millones de transistores; el UltraSparc-II,

de Sun Microsystems, que contiene 5,4

millones de transistores; el PowerPC 620,

desarrollado conjuntamente por Apple, IBM y

Motorola, con 7 millones de transistores, y el

Alpha 21164A, de Digital Equipment

Corporation, con 9,3 millones de transistores.

Entonces…

¿Cuál es la diferencia entre un Microprocesador y un Microcontrolador?

¿Qué significa PIC?

Para utilizar al microprocesador en una aplicación

real, se debe de conectar con otros componentes,

en primer lugar con la memoria.

Mientras que un controlador es un dispositivo que

realiza una única función, sin usar periféricos.

Por ejemplo: Un sistema de alarma

• Necesita un microprocesador + PC + GUI.

• Necesita un microcontrolador.

Programmable Interrupt Controller

Los PIC, de Microchip, son una opción más dentro del vasto mercado de microcontroladores. La popularidad de estos micros radica en su alta disponibilidad en el mercado y bajo precio. El fabricante ha procurado una difusión exhaustiva de información relativa a sus productos, lo cual ha traído como consecuencia un proliferado uso de este tipo de microcontroladores. Algunos de los profesionales y aficionados que los utilizan difunden sus desarrollos e inventos por Internet lo cual ha promovido su uso. Muchos consideran que los PIC son los mas fáciles de programar. Por otro lado, se han desarrollado una serie de herramientas de bajo costo por parte de terceros (empresas, profesionales y aficionados), como son programadores, software, etc., que facilitan el uso y programación de estos dispositivos. Compiladores de C y Basic están disponibles para programar a los PIC y de reciente aparición son los PICAXE, que es un sistema que permite al usuario implementar una función con microcontrolador PIC sin siquiera conocer las instrucciones ni la arquitectura propia del microcontrolador.

Tipos de Interrupciones

Existen las interrupciones síncronas y asíncronas Las interrupciones síncronas son originadas por la ejecución de una instrucción de programa por el CPU . Estas son interrupciones internas al programa por lo que la única fuente puede ser: • Interrupciones de programa • Interrupciones del supervisor de llamadas

Las interrupciones asíncronas son originadas por generadas por eventos externos al programa que se ejecuta y su objetivo es notificar al sistema operativo de algún cambio en la operatividad del sistema . Ejemplos: • Interrupciones por falla de la máquina • Interrupciones de entrada/salida • Interrupciones externas

Interrupciones Internas

Se producen cuando el CPU detecta una condición extraordinaria

durante la ejecución de una instrucción del programa.

Ejemplos:

• Desbordamiento de la pila

• Direccionamiento inválido

• Instrucción inválida

• INT 0: error de división, generada automáticamente cuando el cociente no cabe

en el registro o el divisor es cero. Sólo puede ser generada mediante DIV o IDIV.

• INT 1: paso a paso, se produce tras cada instrucción cuando el procesador está

en modo traza (utilizada en depuración de programas).

• INT 7: dispositivo no disponible (sólo a partir del 286).

Interrupciones por software

Son producidas por el propio programa usando la

instrucción INT para invocar ciertas subrutinas. La

BIOS y el DOS utilizan algunas interrupciones a las

que se puede llamar con determinados valores en los

registros para que realicen ciertos servicios.

Ejemplos:

• Lectura o escritura en disco

• Asignación de memoria

• Operaciones de entrada/salida

Interrupciones por hardware

• Son generadas por dispositivos periféricos externos a través de una señal eléctrica.

• Se solicita la atención de la CPU aplicándole la señal a

sus terminales INT y NMI

• Las Enmascarables por INT : activa a nivel alto

• Las No Enmascarables por NMI: activa en flanco de

subida

INTR

NMI

INTA

CPU

Interrupciones Enmascarables SE HABILITAN O DESHABILITAN POR PROGRAMA:

Con la instrucción SETI se habilitan las interrupciones y pone la bandera IF a 1

Con la instrucción CLI se inhiben todas las posibles interrupciones de este tipo y se

pone la bandera IF a 0.

LA CPU RESPONDE AL SER ACEPTADA LA INTERRUPCIÓN, CON UNA

SEÑAL EN SU TERMINAL INTA ( INTERRUPT ACNOWLWDGE)

son solicitadas por periféricos externos, a

través de un Controlador de

interrupciones programable.

(Programmable Interrupts Controller :

PIC) que se conecta a la terminal INT del

mprocesador, La aceptación o no depende

del status de la bandera de interrupciones IF