El documento presenta información sobre microcontroladores. Explica que los objetivos son entender su funcionamiento, configurarlos, manejar puertos E/S, programarlos con lenguajes de alto nivel, realizar circuitos con ellos y manejar periféricos. También resume brevemente la historia de los microprocesadores y microcontroladores desde 1971 hasta la actualidad.
Este documento tiene lo más básico en lo que se refiere a las memorias, puertos, y registros del PIC. Se basa en el PIC16F84A y es para una clase introductoria
Este documento tiene lo más básico en lo que se refiere a las memorias, puertos, y registros del PIC. Se basa en el PIC16F84A y es para una clase introductoria
Microcontroladores(Definición, Características, Arquitecturas, Elementos del Microcontrolador, Memoria-Interrupciones, Resumen, Summary, Recomendaciones, Conclusiones, Apreciación del equipo, Glosario de términos, Bibliografía)
Una señal analógica es una señal generada por algún tipo de fenómeno electromagnético; que es representable por una función matemática continua en la que es variable su amplitud y periodo en función del tiempo.
Microcontroladores(Definición, Características, Arquitecturas, Elementos del Microcontrolador, Memoria-Interrupciones, Resumen, Summary, Recomendaciones, Conclusiones, Apreciación del equipo, Glosario de términos, Bibliografía)
Una señal analógica es una señal generada por algún tipo de fenómeno electromagnético; que es representable por una función matemática continua en la que es variable su amplitud y periodo en función del tiempo.
Criterios de la primera y segunda derivadaYoverOlivares
Criterios de la primera derivada.
Criterios de la segunda derivada.
Función creciente y decreciente.
Puntos máximos y mínimos.
Puntos de inflexión.
3 Ejemplos para graficar funciones utilizando los criterios de la primera y segunda derivada.
Convocatoria de becas de Caja Ingenieros 2024 para cursar el Máster oficial de Ingeniería de Telecomunicacion o el Máster oficial de Ingeniería Informática de la UOC
2. Objetivos Generales
Entender el funcionamiento de un
microcontrolador
Configurar un microcontrolador
Manejo de puertos E/S de un microcontrolador
Programación de microcontroladores con
lenguajes de alto nivel
Realizar circuitos con microcontroladores
Manejar periféricos de microcontroladores
Simular el funcionamiento de un
microcontrolador
15/5/2023 Ing. José Luis Paladines 1
3. Historia
Intel fabrica en 1971, el primer microprocesador, el
4004
1972 Intel desarrolló una versión más poderosa (el
8008)
1973 Intel lanza el 8080, con capacidad de 500000
operaciones por segundo, además se incrementó
memoria a 64 kbytes.
En 1975 Zilog lanza al mercado el Z80, uno de los
microprocesadores de 8 bits más poderosos.
Motorola abate dramáticamente los costos con sus
microprocesadores 6501 y 6502 (este último
adoptado por APPLE para su primera
microcomputadora personal).
1976 surgen las primeras microcomputadoras de un
sólo chip, que más tarde se denominarán
microcontroladores. Dos de los primeros
microcontroladores, son el 8048 de Intel y el
6805R2 de Motorola.
15/5/2023 Ing. José Luis Paladines 2
4. Historia
TECNOLOGIA 1976
MICROCONTROLADORES MICROPROCESADORES
MAYOR NÚMERO Y COMPLEJIDAD DE
DISPOSITIVOS DE COMUNICACIÓN,
FACILIDADADES PARA CONTROL
EN TIEMPO REAL
MAYORES LONGITUDES DE PALABRA
(16 BITS, 32….), MAYOR CAPACIDAD
DE MANEJO DE MEMORIA
15/5/2023 Ing. José Luis Paladines 3
6. ¿Qué no entendí?
No se quede con dudas.
El profesor no es un León…
15/5/2023 Ing. José Luis Paladines 5
7. ¿Qué es un
Microcontrolador?
Es un circuito integrado programable
Que contiene todos los componentes de un
computador.
Se emplea para controlar el funcionamiento
de una tarea determinada
Debido a su reducido tamaño, suele ir
incorporado en el propio dispositivo al que
gobierna.
Es un computador dedicado.
En su memoria sólo reside un programa
destinado a gobernar una aplicación.
15/5/2023 Ing. José Luis Paladines 6
8. Conceptos Básicos
Microprocesador (µp).- Es un circuito integrado que
contiene la unidad central de proceso también
llamada procesador, de un computador.
La UCP está conformada por la Unidad de Control,
que interpreta las instrucciones, y el Camino de
Datos, que lo ejecutan.
Las patillas de un microprocesador sacan al exterior
las líneas o buses de direcciones, datos y control,
para permitir conectarse con la memoria y los
módulos de E/S y configurar un computador
implementado por varios circuitos integrados.
Se dice que un microprocesador es un Sistema
Abierto porque su configuración es variable de
acuerdo con la aplicación a la que se le destine.
15/5/2023 Ing. José Luis Paladines 7
9. Conceptos Básicos
Microcomputadora (µC).- Es una computadora
cuya CPU es un µp y que tiene un pequeño
tamaño y costo. Esta constituida por cinco
unidades básicas de un computador: Unidad
de Entrada, Unidades de Control, Unidades
aritméticas, Unidad de memoria y unidad de
salida.
Computador (PC).- Es un sistema secuencial
síncrono programable, el cual para
desempeñar sus funciones debe poseer
además de la CPU:
Conductos para el flujo de la información
Dispositivos para almacenar información
Dispositivos para comunicarse con el
exterior.
15/5/2023 Ing. José Luis Paladines 8
10. Estructura de un computador
15/5/2023 Ing. José Luis Paladines 9
12. Arquitectura de un
Microcontrolador
MICRONTROLADOR
PROCESADOR MEMORIA NO
VOLATIL PARA
CONTENER EL
PROGRAMA
MEMORIA DE
LECTURA Y
ESCRITURA PARA
GUARDAR LOS
DATOS
LINEAS DE E/S
PARA LOS
CONTROLADORES
DE PERIFERICOS
RECURSOS
AUXILIARES
CIRCUITO DE RELOJ
TEMPORIZADORES
PERRO GUEARDIAN
CONVERSOR AD Y DA
COMPARADORES ANALOGICOS
PROTECCION ANTE FALLOS DE LA ALIMENTACIÓN
ESTADO DE REPOSO O DE BAJO CONSUMO
COMUNICACIÓN EN PARALELO
COMUNICACIÓN EN SERIE
DIVERSAS PUERTAS DE COMUNICACIÓN
I2C
USB
SCI
SPI
15/5/2023 Ing. José Luis Paladines 11
13. Procesador (CPU)
Es el "cerebro" de una computadora
Es la parte de una computadora que se encarga de
controlar el proceso y la transferencia de información.
Interpreta las instrucciones de un programa y
coordinar su ejecución.
La CPU desde que es energizada realiza en forma
repetitiva ciclos de instrucción, los cuales se
componen de las actividades descritas en la siguiente
figura:
15/5/2023 Ing. José Luis Paladines 12
14. Procesador (CPU)
Para realizar este ciclo básico, la CPU debe
ser capaz de coordinar sus dispositivos
internos y externos para realizar:
Lecturas desde memoria interna (registros) y memoria
externa
Escrituras a memoria interna y externa
Decodificación de instrucciones (basada en la consulta
de una unidad de micro código interna a la CPU)
Operaciones de tipo aritmético y lógico.
El procesador de los modernos
microcontroladores es de arquitectura RISC
15/5/2023 Ing. José Luis Paladines 13
15. Memoria de programa
ROM con máscara: El programa se graba en el chip
durante el proceso de fabricación mediante el uso
de máscaras. Muy caro y válido en series grandes.
EPROM: La grabación de esta memoria se realiza
mediante un dispositivo físico gobernado desde un
computador personal. Tiene una ventana para ser
borrada por rayos ultravioletas.
OTP: permite ser grabada una vez por parte del
usuario
EEPROM: La grabación y el borrado se realizan de
forma eléctrica. Permite 1.000.000 de ciclos de
escritura-borrado
FLASH: Bajo consumo, La grabación y el borrado
se realizan de forma eléctrica, pero suelen disponer
de mayor capacidad que estas últimas. En las
FLASH se garantizan 1.000 ciclos de escritura-
borrado. 15/5/2023 Ing. José Luis Paladines 14
16. Memoria de datos
Los datos que manejan los programas
varían continuamente, y esto exige que la
memoria que los contiene deba ser de
lectura y escritura, por lo que la memoria
RAM estática (SRAM) es la más adecuada,
aunque sea volátil.
Hay microcontroladores que también
disponen como memoria de datos una de
lectura y escritura no volátil, del tipo
EEPROM. De esta forma, un corte con el
suministro de la alimentación no ocasionará
la pérdida de la información, que está
disponible al reiniciarse el programa.
15/5/2023 Ing. José Luis Paladines 15
17. Líneas de E/S
A excepción de dos pines destinados a la
alimentación, otras dos destinadas a recibir la
señal de reloj que regula la frecuencia de
trabajo y una más para provocar el Reset, las
restantes patitas de un microcontrolador sirven
para soportar su comunicación con los
periféricos externos que controla.
Las líneas de E/S que se adaptan con los
periféricos manejan información en paralelo y
se agrupan en conjuntos de ocho, que reciben
el nombre de Puertos.
Hay modelos con líneas que soportan la
comunicación en serie; otros disponen de
conjunto de líneas que implementan puertas de
comunicación para diversos protocolos, como
I2C, USB, SCI, SPI, etc.
15/5/2023 Ing. José Luis Paladines 16
18. Recursos auxiliares
Circuito de reloj, encargado de generar los impulsos que
sincronizan el funcionamiento de todo el sistema. Este
reloj se lo puede activar al momento de programar y no
será necesario utilizar un reloj externo, permitiendo
utilizar estas líneas como E/S.
Temporizadores orientados a controlar tiempos.
Watchdog o Perro Guardián, destinado a provocar una
reinicialización cuando el programa queda bloqueado.
Conversores AD y DA, para poder recibir y enviar
señales analógicas.
Comparadores Analógicos, para verificar el valor de una
señal analógica.
Sistema de protección ante fallas de la alimentación.
Estado de Reposo, en el que sistema queda congelado y
el consumo de energía se reduce al mínimo.
15/5/2023 Ing. José Luis Paladines 17
20. Compilador
El Compilador permite traducir un programa hecho
con un determinado lenguaje de programación a
código máquina.
Ensamblador: Es el de más bajo nivel de todos,
una instrucción de ensamblador se traduce a una
instrucción de código máquina, es por tanto el más
rápido y el que menos memoria ocupa.
Basic: Es un lenguaje de más alto nivel y que por
su sencillez se ha popularizado mucho, es menos
rápido que el lenguaje ensamblador y ocupa más
memoria.
C: Más próximo al lenguaje Ensamblador que Basic
en cuanto a nivel de programación, pero más
complejo de programar que éste último.
15/5/2023 Ing. José Luis Paladines 19
22. ¿Porqué los PIC?
Los PIC ofrecen su herramienta de edición,
compilación y simulación de forma gratuita en el
Internet.
Sencillez de manejo
Buena información, tanto de los elementos, como
de proyectos
Su costo es muy atractivo
Parámetros como velocidad, código compacto, su
alimentación mejorada, tamaño, etc.
Herramientas de desarrollo de fáciles
Estandarización de su programa, para toda la gama
de microcontroladores
Gran cantidad de circuitos programadores haciendo
fácil su ponerlos a funcionar
Gran variedad de modelos, que se adaptan a cada
necesidad.
15/5/2023 Ing. José Luis Paladines 21
23. Familia de los PIC
La Familia más utilizada es la familia de microcontroladores de
8 bits (bus de datos) que tienen las siguientes características
generales:
Arquitectura Harvard
Tecnología RISC
Tecnología CMOS
Estas características se conjugan para lograr un dispositivo
altamente eficiente en el uso de la memoria de datos y
programa y por lo tanto en la velocidad de ejecución.
Microchip ha dividido sus microcontroladores en tres grandes
subfamilias de acuerdo al número de bits de su bus de
instrucciones:
15/5/2023 Ing. José Luis Paladines 22
25. Nomenclatura
En el nombre específico del
microcontrolador pueden aparecer
algunas siglas que dependen del rango
de voltaje manejado y del tipo de
memoria ROM incluida, como se
muestra en la siguiente tabla:
15/5/2023 Ing. José Luis Paladines 24
27. Características
35 instrucciones, todas se ejecutan en un ciclo de
instrucción, 20 MHz., 1024 palabras de programa,
68 bytes de RAM, 64 bytes de EEPROM, 14-bit
Ancho de las palabras de instrucción, 8-bit Ancho
de las palabras de datos, 15 registros especiales de
Hardware, 8 Niveles de pila
Direccionamiento: Directo, Indirecto y relativo
4 Fuentes de Interrupción: Externa pin RB0/INT,
TMR0 sobre flujo, cambio de estado PORTB<7:4>,
Terminación de Escritura de datos en la EEPROM
13 pines E/S con control individual de dirección, 25
mA como máximo por pin en modo fuente, TMR0:
Temporizador/Contador de 8-bit, Preescalador
programable.
Baja potencia, Alta velocidad, Gran banda de
voltajes de funcionamiento
15/5/2023 Ing. José Luis Paladines 26
28. Características Especiales
10,000 ciclos de escritura y borrado de la
memoria FLASH
10,000,000 ciclos de escritura y borrado de la
memoria EEPROM
Power-on Reset (POR),
Power-up Timer (PWRT),
Oscillator Start-up Timer (OST)
Watchdog Timer (WDT) con oscilador RC
interno
Código protección
Opciones para seleccionar oscilador
Bajo consumo en modo SLEEP
15/5/2023 Ing. José Luis Paladines 27
32. Circuito RC externo
Este modo sólo se recomienda cuando la aplicación
no requiera una gran precisión en la medición de
tiempos.
15/5/2023 Ing. José Luis Paladines 31
33. Ciclo de Instrucción
Q1: Decodificación de la instrucción
Q2: Lectura del dato (si lo hay)
Q3: Procesa el dato
Q4: Escribe el dato
15/5/2023 Ing. José Luis Paladines 32
34. ¿Qué no entendí?
No se quede con dudas.
Pregunte, el profesor ya se va…
15/5/2023 Ing. José Luis Paladines 33
35. Registros del CPU
Registro de Instrucción: Registro de 14 bits. Todas las
instrucciones se colocan en él para ser decodificadas por la CPU
antes de ejecutarlas.
Registro W: Registro de 8 bits que guarda resultados temporales
de las operaciones realizadas por la ALU.
Registro Status:
15/5/2023 Ing. José Luis Paladines 34
• Z: Este bit se pone (=1) para indicar que el resultado de la última operación fue cero, de
lo contrario se limpia (=0)
• C: Bit de acarreo/préstamo’ de la última operación aritmética (en el caso de préstamo
(resta), el bit se invierte antes de guardarse)
• DC: Acarreo/prestamo proveniente del cuarto bit menos significativo. Funciona igual que
el bit C, pero para operaciones de 4 bits.
36. Mapa de Memoria
El mapa de memoria muestra
como esta estructurada la
memoria interna, tanto la de
programa como la Memoria
RAM.
En la figura adjunta se observa
con detalle esta Memoria RAM
y a simple vista se observa
que las primeras posiciones se
encuentran ocupadas por
registros propios del PIC, que
permiten configurar sus
diferentes componentes.
15/5/2023 Ing. José Luis Paladines 35
38. Puertos paralelos de E/S
El PIC 16F84A, tiene
dos puertos E/S
denominados PORTA y
PORTB.
En total son 13 líneas
E/S.
Estos puertos son
totalmente
programables, es decir,
sus líneas pueden
trabajar como entradas
o como salidas a
selección del
programador.
15/5/2023 Ing. José Luis Paladines 37
39. Puerto A
El Puerto A posee 5
líneas
bidireccionales.
Configurable pin a
pin.
Tiene dos registros
asociados:
◦ El registro de datos
PORTA
◦ El registro de
dirección (E/S) de
los datos TRISA
15/5/2023 Ing. José Luis Paladines 38
40. Puerto A (TRISA)
Bit k de TRISA = 1 configura la patita
RAk del puerto A como Entrada
Bit k de TRISA = 0 configura la patita
RAk del puerto A como Salida
15/5/2023 Ing. José Luis Paladines 39
Registro de dirección de datos del puerto A
-
-
-
41. Puerto A (PORTA)
Registro de estado del Puerto A.
Cada uno de los 5 bits menos significativos (RA4,...,RA0)
de este registro están asociados a la línea física
correspondiente del puerto.
Al hacer una lectura este registro se lee el estado de
todas las patitas del puerto.
Todas las escrituras al registro son operaciones del tipo
“lee modifica-escribe”, es decir, toda escritura al puerto
implica que el estado de las patitas es leído, luego es
modificado y posteriormente se escribe al latch de datos
del puerto.
15/5/2023 Ing. José Luis Paladines 40
-
-
-
42. Puerto B
El puerto B es un
puerto digital de 8 bits.
Configurable pin a pin.
Todas sus patitas son
bidireccionales y
trabaja en forma
similar al puerto A.
Tiene tres registros
asociados:
◦ El registro de datos
PORTB
◦ El registro de dirección
de los datos TRISB
◦ El registro
OPTION_REG.
15/5/2023 Ing. José Luis Paladines 41
43. Registros del Puerto B
El registro de datos PORTB (06H): Los ocho bits que
contiene reflejan directamente el estado de las ocho
patitas del puerto B RB0,....., RB7.
El registro de dirección de los datos TRISB (86H): En
forma similar a TRISA, al poner un 0 en un bit de TRISB
se configura la patita RB correspondiente como salida y
al poner un 1 en un bit de TRISB se configura la patita
RB correspondiente como entrada.
El registro OPTION_REG: El bit 7 de este registro,
denominado RBPU es usado para conectar/desconectar
una resistencia “pull-up” conectada a cada patita RB.
Poniendo un 0 en este bit todas las resistencias se
conectan. Para desconectar las resistencias “pull-up” se
debe poner este bit en 1, también se desconectan
automáticamente cuando la patita correspondiente es
configurada como salida. Un Reset desconecta todas las
resistencias.
15/5/2023 Ing. José Luis Paladines 42
44. Eso es todo por el momento!
Preguntas???
15/5/2023 Ing. José Luis Paladines 43