Vous êtes sur la page 1sur 75

CINAR SISTEMAS

MICROCONTROLADORES II
PRESENTACIÓN
Docente: Andrés Fernando Regalado Bucheli.
Ingeniero Electrónico - Pontificia Universidad Javeriana (Bogotá)
Especialista en Gerencia de Proyectos de Ingeniería de
Telecomunicaciones – Universidad Santo Tomás (Bogotá)
Celular: 3183019064.
Correo electrónico: radio_seattle@hotmail.com
MOTIVACIÓN:
CRITERIOS DE EVALUACIÓN:
PRIMER CORTE: CORTE FINAL:

- Evaluación escrita. 20 % - Evaluación final escrita. 20 %

- Proyectos. 20 % - Proyecto final. 20 %

- Prácticas de laboratorio. 20 %
ÉTICA Y FILOSOFÍA DE TRABAJO:
ÉTICA Y FILOSOFÍA DE TRABAJO:
REFERENTES BIBLIOGRÁFICOS :
- Microcontroladores Pic; E. Martín Cuenca, J. M.
Angulo Usategui, I. Angulo Martinéz; Paraninfo, 5ª
edición, 2001.
- Microcontroladores: Fundamentos y aplicaciones con
PIC; F. E. Valdés Pérez, R. Pallás Areny; Alfaomega;
2007.
- Microcontroladores PIC: Diseño práctico de
aplicaciones, 2ª parte; J.M. Angulo Usategui, S.
Romero Yesa, I. Angulo Martínez; McGraw Hill; 2ª
edición; 2006.
HORA No. 1:
REVISIÓN DE CONCEPTOS GENERALES:
MICROCONTROLADOR  MICROPROCESADOR

COLOBANK
HORA No. 1:
REVISIÓN DE CONCEPTOS GENERALES:
MICROPROCESADOR:
No está preparado para la comunicación con los periféricos, sin
utilizar circuitos especiales.
MICROCONTROLADOR:
Está diseñado, de manera que tiene todos los componentes en
el mismo chip. COLOBANK

AHORRA TIEMPO Y ESPACIO


HORA No. 1:
PERIFÉRICOS:
Entradas y salidas de propósito general:
Conocidos como puertos de E/S. (Permiten leer datos desde el
exterior, o escribir datos en ellos desde el interior del
microcontrolador). El destino final serán relés, LEDS, etc.
Temporizadores y contadores:
Cuentan pulsos y se utilizan para medir frecuencias,
implementación de relojes, para trabajar con dispositivos que
necesitan una base de tiempo para funcionar.
HORA No. 1:
PERIFÉRICOS:
Conversor analógico/digital:
Convierte señales analógicas en señales digitales.
HORA No. 1:
PERIFÉRICOS: Conversor analógico/digital:
HORA No. 1:
PUERTOS DE COMUNICACIÓN:
- Puerto Serial: (Para comunicarse con otro microcontrolador o
con una PC).
- SPI: (Para comunicarse con otros microcontroladores).
- I2C: (Para comunicarse con otros microcontroladores. Se
utilizan para conectar las tarjetas gráficas de las PC con los
monitores).
- USB:
- Ethernet:
HORA No. 1:
PUERTOS DE COMUNICACIÓN:
- COMPARADORES: Compara señales analógicas y da como resultado 0 o 1.
- MODULADOR DE ANCHO DE PULSOS: (PWM) Motores, Luces, etc.
- MEMORIA DE DATOS NO VOLÁTIL: Para almacenamiento de datos de
configuración o de los procesos que se controlan. Muchos
microcontroladores la incorporan en forma de memoria EEPROM.
HORA No. 1:
REVISIÓN DE CONCEPTOS GENERALES:
APLICACIONES DE LOS MICROCONTROLADORES:

COLOBANK
HORA No. 1:
APLICACIONES DE LOS MICROCONTROLADORES:

COLOBANK
HORA No. 1:
APLICACIONES DE LOS MICROCONTROLADORES:

COLOBANK
HORA No. 1:
DEFINICIÓN FORMAL:
Un microcontrolador, es un circuito integrado programable,
capaz de ejecutar las órdenes grabadas en su memoria.
Está compuesto por varios bloques funcionales, los cuales
cumplen una tarea específica.
Incluye los bloques esenciales de una computadora:
- Unidad Central de Procesamiento (CPU):
- Memoria.
- Periféricos de Entrada/Salida.
HORA No. 1:
BLOQUES CONSTITUYENTES DE UN MICROCONTROLADOR:

COLOBANK
HORA No. 1:
ARQUITECTURA DE UN PROCESADOR:
- Unidad Aritmético-Lógica (ALU): Lleva a cabo el cálculo de
operaciones aritméticas y lógicas.
- Unidades Funcionales: se encargan de operaciones
matemáticas específicas, y así sacan y facilitan el trabajo al
microprocesador.
- Registros: Almacenan datos durante cierto tiempo, dentro de
la CPU.
HORA No. 1:
ARQUITECTURA DE UN PROCESADOR:
• UNIDAD DE CONTROL: Gestiona y controla el funcionamiento
correcto de la unidad de proceso, que es la que realiza el
trabajo. Esta gestión se realiza mediante la
activación/desactivación de señales enviadas a la UP, que
indican qué acción se ha de tomar en cada momento.
• UNIDAD DE PROCESO: ALU, REGISTROS, BUSES, ETC.
HORA No. 1:
ARQUITECTURA DE UN PROCESADOR:
El interior de la CPU, ésta en particular es
muy simple, tiene unos cuántos registros,
tres buses y una ALU. Los buses A y B traen
los datos de los registros hasta la ALU para
ser operados, y el C se encarga de llevar los
datos resueltos hacia la memoria, o a los
registros para ser sobrescritos con un nuevo
valor.
HORA No. 1:
ARQUITECTURA DE UN PROCESADOR:
UNIDAD DE CONTROL: Se encarga de controlar y dar órdenes:
- Qué ordenes pasan.
- Por dónde pasan.
- Todas las instrucciones primero pasan por la UC y de ahí pasan
a la UP.
- Todas las instrucciones llevan en su interior, los datos a operar.
HORA No. 1:
ARQUITECTURA DE UN PROCESADOR:
Hay diferentes tipos de operaciones:
De transferencia de datos: Mover datos de un sitio a otro. Se
especifica la dirección de entrada, la de destino y la longitud.
MOVWF f

Aritméticas: Cuando se usan las operaciones básicas (suma,


resto, multiplicación y división).
ADDWF f,d
HORA No. 1:
ARQUITECTURA DE UN PROCESADOR:
Lógicas: Realizan operaciones bit a bit, lo hace intermediando
operaciones booleanas NOT, AND, OR, XOR, etc. tienen múltiples
utilidades, sobre todo si se combinan con operaciones que
muevan bit a bit.
ANDWF f,d

De conversión: Se cambia el formato de los datos, puede ser


necesario involucrar alguna operación de: transferencia,
aritméticas, lógicas, etc.
HORA No. 1:
ARQUITECTURA DE UN PROCESADOR:
De Entrada/Salida: Tienen que ver con la gestión de los
dispositivos de E/S, a menudo utilizan interrupciones.
De control del sistema: Tienen ciertos privilegios sobre los otros
tipos de operaciones, por lo general solamente pueden ser
ejecutadas por el Sistema Operativo.
De transferencia de control: Cambian el orden secuencial normal
de la ejecución de un programa. la operación que indique estas
instrucciones es el cambio del contador del PC (memoria interna
de la CPU) a la siguiente dirección a procesar. se usan para
acortar la longitud de programas.
HORA No. 1:
TIPOS DE MICROCONTROLADORES: (RELACIÓN CON LOS REGISTROS)

COLOBANK
HORA No. 1:
TIPOS DE MICROCONTROLADORES:
Existe una gran diversidad de microcontroladores. Quizá la
clasificación más importante sea entre microcontroladores de 4,
8, 16 ó 32 bits.
Aunque las prestaciones de los microcontroladores de 16 y 32
bits son superiores a los de 4 y 8 bits, la realidad es que los
microcontroladores de 8 bits dominan el mercado y los de 4 bits
se resisten a desaparecer.
La razón de esta tendencia es que los microcontroladores de 4 y
8 bits son apropiados para la gran mayoría de las aplicaciones,
lo que hace absurdo emplear micros más potentes y
consecuentemente más caros.
HORA No. 1:
MICROCONTROLADORES PIC:
Son una familia de microcontroladores tipo RISC.
RISC: Reduced Instruction Set Computer: Es decir,
computadores con un conjunto de instrucciones reducidas.
- Instrucciones de tamaño fijo y presentadas en un reducido
número de formatos.
- Solo las instrucciones de carga y almacenamiento, acceden a
la memoria de datos.
HORA No. 1:
JUEGO DE INSTRUCCIONES Y ENTORNO DE PROGRAMACIÓN:
Puede variar desde 35 en gama baja, hasta 70 para los pics de gama
alta.
CLASIFICACIÓN:
- Operaciones entre el ACUMULADOR y una constante.
ACUMULADOR: Registro temporal.
- Operaciones entre el ACUMULADOR y una posición de memoria.
- Instrucciones de salto (pasando a una nueva posición no secuencial).
- Instrucciones de interrupción.
HORA No. 1:
ARQUITECTURA DE MICROCONTROLADORES:
ARQUITECTURA VON NEUMANN:

COLOBANK
HORA No. 1:
ARQUITECTURA DE MICROCONTROLADORES:
ARQUITECTURA VON NEUMANN:
Los microcontroladores que utilizan la arquitectura von-
Neumann disponen de un solo bloque de memoria y de
un bus de datos de 8 bits.

Comunicación lenta e ineficaz.

La CPU puede leer una instrucción o escribir en la


COLOBANK
memoria, pero los dos procesos no pueden ocurrir a la
vez.
HORA No. 1:
ARQUITECTURA DE MICROCONTROLADORES:
ARQUITECTURA HARVARD:

COLOBANK
HORA No. 1:
ARQUITECTURA DE MICROCONTROLADORES:
ARQUITECTURA HARVARD:
Los microcontroladores que utilizan esta arquitectura
disponen de dos buses de datos diferentes.

La CPU, puede leer las instrucciones y realizar el acceso


a la memoria de datos a la vez.

COLOBANK
HORA No. 1:
ARQUITECTURA DE MICROCONTROLADORES:
- Area de código y de datos, separada.
- Reducido número de instrucciones de longitud fija.
- Un solo acumulador, cuyo uso no se incluye en la instrucción.

COLOBANK
HORA No. 2:
SISTEMAS DE NUMERACIÓN:
SISTEMA DE NUMERACIÓN EN BASE 10:

COLOBANK
HORA No. 2:
SISTEMAS DE NUMERACIÓN:
SISTEMA DE NUMERACIÓN BINARIO:

COLOBANK
HORA No. 2:
SISTEMAS DE NUMERACIÓN:
SISTEMA DE NUMERACIÓN HEXADECIMAL:

COLOBANK
HORA No. 2:
CONVERSIÓN DE DECIMAL A BINARIO:

COLOBANK
HORA No. 2:
BIT:
UNIDAD BÁSICA DE INFORMACIÓN.
BYTE:
CONJUNTO DE 8 BITS.

COLOBANK
HORA No. 2:
ALGEBRA BOOLEANA Y CIRCUITOS LÓGICOS:
COMPUERTA Y (AND):
HORA No. 2:
ALGEBRA BOOLEANA Y CIRCUITOS LÓGICOS:
COMPUERTA O (OR):

COLOBANK
HORA No. 2:
ALGEBRA BOOLEANA Y CIRCUITOS LÓGICOS:
COMPUERTA NO (NOT):

COLOBANK
HORA No. 2:
ALGEBRA BOOLEANA Y CIRCUITOS LÓGICOS:
COMPUERTA XOR (O EXCLUSIVA):

COLOBANK
HORA No. 2:
REGISTRO:
Un registro es un circuito electrónico que puede memorizar el
estado de un byte.
Mientras mayor sea el número de bits de los registros de datos
del procesador, mayores serán sus prestaciones, en cuanto a
poder de cómputo y velocidad de ejecución.
HORA No. 2:
REGISTRO:
TAMAÑO DE PALABRA:
PALABRA:
Cadena finita de bits, que son manejados como un conjunto por la máquina.
El tamaño o longitud de una palabra, hace referencia al número de bits
contenidos en ella y es un aspecto muy importante, al momento de diseñar
una arquitectura de ordenadores.
Todos los PIC manejan palabras de 8 bits.
HORA No. 2:
REGISTROS SFR:
Son registros con funciones especiales (determinadas por el
fabricante). Sus bits están conectados a los circuitos internos del
microcontrolador tales como temporizadores, convertidores
A/D, osciladores entre otros. Esto significa que directamente
manejan el funcionamiento de estos circuitos, o sea del
microcontrolador. Imagínese ocho interruptores que manejan el
funcionamiento de un circuito pequeño dentro del
microcontrolador. Los registros SFR hacen exactamente lo
mismo. COLOBANK
HORA No. 2:
REGISTROS SFR:
En otras palabras, el estado de los bits de registros se
fija dentro de programa, los registros SFR dirigen los
pequeños circuitos dentro del microcontrolador, estos
circuitos se conectan por los pines del
microcontrolador a un dispositivo periférico.
HORA No. 2: PUERTOS E/S
- Para hacer útil al microcontrolador
(conectarlo a un periférico)
- La función puede programarse.
- (10-20 mA/Ejemplo LED).
- La corriente máxima se distribuye.
HORA No. 2:
UNIDAD DE MEMORIA:
- MEMORIA ROM (Para guardar el programa).
(Microcontroladores actuales -> direccionamiento de
16 bits).
- MROM (ROM enmascarada).
El programa es creado por el fabricante.
- OTP ROM (Programable una sola vez).
HORA No. 2:
UNIDAD DE MEMORIA:
- UV EPROM (Programable Borrable por rayos ultravioleta).
(Microcontroladores actuales -> direccionamiento de
16 bits).
HORA No. 2:
UNIDAD DE MEMORIA:
- MEMORIA FLASH:
(Los microcontroladores con memoria FLASH, son la mejor opción).
- MEMORIA RAM.
- MEMORIA EEPROM (Programable y borrable eléctricamente).
El contenido de la EEPROM se puede cambiar durante el funcionamiento (similar a la
RAM), pero se queda permanentemente guardado después de la pérdida de la fuente de
alimentación (similar a la ROM).
HORA No. 2:
UNIDAD DE MEMORIA:
- MEMORIA FLASH:
(Los microcontroladores con memoria FLASH, son la mejor opción).
- MEMORIA RAM.
- MEMORIA EEPROM (Programable y borrable eléctricamente).
Por lo tanto, la EEPROM se utiliza con frecuencia para almacenar los valores creados
durante el funcionamiento, que tienen que estar permanentemente guardados.
HORA No. 2:
INTERRUPCIÓN:
Orden que sirve para indicarle al microcontrolador, en qué momento
interrumpir la ejecución de un programa determinado.
El manejo de interrupciones es una técnica de programación, basada en
un mecanismo automático en el hardware del microcontrolador, que
permite dar atención a algún periférico interno o externo, únicamente en
el momento en que ésta se requiera
HORA No. 2:
CPU:
HORA No. 2:
JUEGO DE INSTRUCCIONES:
El nombre colectivo de todas las instrucciones que puede entender el
microcontrolador es llamadoJuego de Instrucciones. Cuando se escribe un
programa en ensamblador, en realidad se especifican instrucciones en el
orden en el que deben ser ejecutadas. La restricción principal es el
número de instrucciones disponibles. Los fabricantes aceptan cualquiera
de los dos enfoques descritos a continuación:
HORA No. 2:
JUEGO DE INSTRUCCIONES:
RISC (Reduced Instruction Set Computer) – Computadora con Juego de
Instrucciones Reducidas
En este caso la idea es que el microcontrolador reconoce y ejecuta sólo
operaciones básicas (sumar, restar, copiar etc…) Las operaciones más
complicadas se realizan al combinar éstas (por ejemplo, multiplicación se
lleva a cabo al realizar adición sucesiva).
HORA No. 2:
JUEGO DE INSTRUCCIONES:
CISC (Complex Instruction Set Computer) – Computadoras con un juego de
instrucciones complejo
¡CISC es opuesto a RISC! Los microcontroladores diseñados para
reconocer más de 200 instrucciones diferentes realmente pueden realizar
muchas cosas a alta velocidad. No obstante, uno debe saber cómo utilizar
todas las posibilidades que ofrece un lenguaje tan rico, lo que no es
siempre tan fácil.
HORA No. 2:
MICROCONTROLADORES PIC:
Los PIC16F87X son una familia de microcontroladores PIC. Esta familia, consta
de los siguientes modelos que varían de acuerdo a prestaciones, cantidad de
terminales y encapsulados:
• PIC16F873
• PIC16F874
• PIC16F876
• PIC16F877
Esta familia es de las que tienen memoria tipo Flash, lo que nos permite
reprogramarlos las veces que sea necesario sin necesidad de usar ningún otro
dispositivo más que el propio programador. Este aspecto es muy importante a la
hora del diseño de un dispositivo para evitar pérdida de tiempo en borrar los µC y
volver a programarlos.
HORA No. 2:
MICROCONTROLADORES PIC:
El set de instrucciones de estos µC es reducido, con lo que facilita la
programación de los mismos. Para la familia de los 16F87X existen 35
instrucciones.
Para crear el ensamblador es necesario ya tener pensado y diagramado lo
que necesitemos que haga el µC; para esto usaremos bosquejos de
circuitos, diagramas de flujo, pseudo-código, modelos matemáticos, y toda
clase de observaciones relevantes para el correcto funcionamiento y
desempeño del μC. Una vez diagramada la función del µC, solo nos resta
diseñar el circuito externo con todos los detalles y escribir el programa.
HORA No. 2:
SET DE INSTRUCCIONES Y SINTAXIS:
Los 16F87X cuentan con 35 instrucciones, las cuales están divididas entre
instrucciones orientadas a registros, orientadas a bits y orientadas a
control. Por medio de estas, se crea el programa en lenguaje assembler
respetando la sintaxis necesaria para cada una.
HORA No. 2:
SET DE INSTRUCCIONES Y SINTAXIS:
Instrucciones Orientadas a bits
HORA No. 2:
SET DE INSTRUCCIONES Y SINTAXIS:
Instrucciones Orientadas a Registros
HORA No. 2:
SET DE INSTRUCCIONES Y SINTAXIS:
Instrucciones Orientadas a Control
HORA No. 2:
PROGRAMACIÓN DE MICROCONTROLADORES:
- Programador.
Es un dispositivo electrónico que configura circuitos electrónicos no
volátiles como EPROM, EEPROM, FLASH, etc.
HORA No. 2:
Programador: Se utiliza para transferir el código, de un computador, al PIC.
HORA No. 2:
PROGRAMACIÓN DE MICROCONTROLADORES:
Programar un microcontrolador:
Es planificar cómo va a funcionar el microcontrolador, para que se pueda
adaptar a nuestras necesidades.
CUATRO PASOS ESCENCIALES:
1) EDITAR.
2) COMPILAR.
3) QUEMAR EL PIC.
4) PROBAR EL PROGRAMA.
HORA No. 2:
EDITAR: Escribir el programa. Hacer una lista de instrucciones, en un
lenguaje que permita indicarle al PIC, lo que deseamos que haga.
LENGUAJES QUE SE UTILIZAN PARA PROGRAMAR PICS:
- LENGUAJES DE BAJO NIVEL.
- LENGUAJES DE ALTO NIVEL.
HORA No. 2:
LENGUAJES DE BAJO NIVEL:
LENGUAJE ENSAMBLADOR (ASSEMBLER): (Computadores,
Microprocesadores, Microcontroladores y otros circuitos integrados
programables).
Es una representación simbólica de:
- Códigos de máquina binarios.
- Constantes.
Para programar arquitecturas específicas de CPU.
HORA No. 2:
LENGUAJES DE BAJO NIVEL:
Representación:
Por medio de mnemónicos que simbolizan:
- Las instrucciones (pasos de procesamiento).
- Los registros.
- Las posiciones de memoria.
Ejemplo de mnemónico:
MOV.
HORA No. 2:
EJEMPLO:
Un programa escrito en ASSEMBLER:
MOV AL, 61h
Asigna el valor hexadecimal 61 (97 decimal) la registro AL.
El computador lee:
•Binario: 10110000 01100001 (hexadecimal: B61)
HORA No. 2:
DESVENTAJAS:
- Difícil de aprender.
- Difícil de depurar.
VENTAJAS:
- Rápido en cuanto a ejecución.
- Compilador gratuito.
- Es el que tiene más posibilidades en cuanto a hardware.
HORA No. 2:
LENGUAJES DE NIVEL MEDIO:
C/C++
LENGUAJES DE ALTO NIVEL:
C#/MATLAB/PYTHON/JAVA
HORA No. 2:
VENTAJAS DE LOS LENGUAJES DE ALTO NIVEL:
- Mucho más fáciles de aprender.
- Rapidez para escribir programas.
DESVANTAJAS:
- Las posibilidades en cuanto a hardware tienen que ver con las librerías
disponibles.

Vous aimerez peut-être aussi