MICROCONTROL
ADORES
PRESENTA:
ARIAS RUELAS JESUS GUADALUPE
BERNAL GERMAN MARIA LUCIA
HERNANDEZ MANZANARES MARIA JOSE
LEYVA OSUNA JENNIFER ARIANA
MENDIVIL RAMIREZ NAYELY DESIRETH
Microcontroladores
Control: Mantener el valor de una variable en un
valor deseado.
CPU: Unidad central de proceso, que es la parte
de una computadora en la que se encuentran los
elementos que sirven para procesar datos.
Circuitos de entrada y salida: Uno de ellos son
los transistores que pueden funcionar como
interruptores y algunas funciones más.
Memoria
La memoria de instrucciones y datos está
integrada en el propio chip. Una parte debe ser
no volátil, tipo ROM, y se destina a contener el
programa de instrucciones que gobierna la
aplicación. Otra parte de memoria será tipo
RAM, volátil, y se destinará a guardar las
variables y los datos.
RAM: Memoria principal de la computadora,
donde residen programas y datos, sobre la que se
pueden efectuar operaciones de lectura y escritura.
ROM: Circuito integrado de memoria de solo
lectura que almacena instrucciones y datos de forma
permanente.
PROM: (Programmable Read-Only Memory ):
Memoria Programable de Solo Lectura , Dispositivo
programado por el usuario y no borrable o
reprogramable.
EPROM (Erasable Programmable Read-Only
Memory ): Memoria Programmable y Borrable de
Solo Lectura; este tipo de Memorias se borran
Mediante Luz ultravioleta; con la ventaja de que
puede ser programada por el usuario.
EEPROM (Electrically Erasable Programmable
Read-Only Memory): Memoria Programable y
borrable Eléctricamente de Solo Lectura; al igual
que la anterior está puede ser programada por el
usuario.
Los buses de datos, de direcciones y de
control
Un bus: Es un canal de comunicación que las
computadoras usan para comunicar sus componentes
entre sí, por ejemplo para comunicar el procesador con
los periféricos, memoria o dispositivos de
almacenamiento. Está integrado a la tarjeta madre, en
una tarjeta madre muy posiblemente se encuentren
diferentes tipos de buses.
Los buses de datos: Este es un bus bidireccional,
pues los datos pueden fluir hacia ó desde la CPU.
Los m terminales de la CPU, de D0 - Dm-1 , pueden
ser entradas o salidas, según la operación que se esté
realizando ( lectura ó escritura ) . En todos los casos,
las palabras de datos transmitidas tiene m bits de
longitud debido a que la CPU maneja palabras de
datos de m bits; del número de bits del bus de datos,
depende la clasificación del microprocesador.
Los buses de direcciones: Este es un bus
unidireccional debido a que la información fluye
es una sola dirección, de la CPU a la memoria ó a
los elementos de entrada y salida. La CPU sola
puede colocar niveles lógicos en las n líneas de
dirección, con la cual se genera 2n posibles
direcciones diferentes.
RECURSOS COMUNES EN
MICROCONTROLADORES
ARQUITECTURA HARDVARD
El PIC18F4520 dispone de buses diferentes para el acceso a la memoria de
programa y memoria de datos.
● Bus de la memoria de programa:
21 líneas de dirección
16 líneas para instrucciones y 8 líneas para los datos
● Bus de la memoria de datos:
12 líneas de dirección
8 líneas de datos
PUERTOS DE ENTRADA/SALIDA
Todas las líneas digitales de E/S disponen, como mínimo, de una función alternativa
asociada a alguna circuitería específica del PIC. Cuando una línea trabaja en el modo
alternativo no puede ser utilizada como línea digital de E/S estándar.
Cada puesto de E/S tiene 3 registros:
● Registro TRIS:configura las líneas de E/S
● Registro PORT:lee el nivel del pin
● Registro lAT:se lee o se establece un valor
RELOJ PRINCIPAL Y
● TEMPORIZADORES
Temporizador 0:
❖ Configurable como temporizador/contador de 8 bits
❖ Pre-escalar de 8 bits programable
❖ Interrupción por desbordamiento
● Temporizador 1:
❖ Configurable como temporizador/contador de 16 bits
❖ Dispone de un oscilador propio que funciona como:
-Señal de reloj del temporizador 1.
-Señal de reloj del PIC en modos de bajo consumo.
❖ Pre-escalar de 3 bits programable
❖ Interrupción por desbordamiento
● Temporizador 2:
❖ Temporizador de 8 bits (registro TMR2)
❖ Registro de periodo PR2
❖ Pre-escalar de 2 bits programable (1:1, 1:4,1:16)
❖ Post-escalar de 4 bits (1:1…..1:16)
❖ Interrupción por igualdad entre TMR2 y PR2
❖ Se puede utilizar junto con los módulos CCP y ECCP
❖ Se puede utilizar como señal de reloj de módulo MSSP en módulo SPI
● Temporizador 3:
❖ Configurable como temporizador/contador de 16 bits
❖ Dispone de varias opciones de señal de reloj en el modo temporizador
-Oscilador principal con o sin pre-escalar
-Oscilador del temporizador 1 con o sin pre-escalar
-pre-escalar de 3 bits programable
-Interrupción por desbordamiento
Qué son los microcontroladores pic?
Microchip fabricó los pic, microcontroladores o circuitos integrados
programables con una arquitectura computacional de tipo RISC.
Como todo microcontrolador estos contienen en su interior unidades
de memoria RAM y ROM, pero uno de los componentes que
destacan en los PIC es su ALU (Unidad Aritmética Lógica).
Tipos de microcontroladores pic
Para poder clasificarlos se los pone en tres familias según su capacidad,
estas familias son las de:
● 8 bits
● 16 bits
● 32 bits
Pic de 8 bits
Creados en 1975, los de 8 bits llegan con el objetivo de mejorar el rendimiento en su
sistema reduciendo la carga de entrada y salida en su CPU. Los de 8 bits se pueden
dividir según su gama como pueden ser: Gama Básica, gama media y gama mejorada.
Pic de 16 bits
Los dispositivos de 16 bits tienen una capacidad para almacenar 3072 palabras lógicas en su memoria.
Microchip desarrolló estos dispositivos y se utilizó en un principio en la CPU conocida como CP16000.
La familia de 16 bits también se la puede dividir, en dos grupos específicamente, los MCU range y los
DSC range los cuales están más enfocados hacia los proyectos que incluyan el uso de motores.
Microcontrolador pic 16F84A
Es un dispositivo programable que se compone de una computadora digital, una unidad de memoria de datos, una
unidad de memoria de programa y puertos de entrada/salida en un circuito integrado, funciona como un controlador
de periféricos en un sistema mínimo.
El funcionamiento del microcontrolador está determinado por un programa almacenado en su memoria Flash ROM y
puede programarse más de una vez para cambiar su estado y su comportamiento, lo que lo convierte al
microcontrolador en una pieza esencial en el rápido desarrollo de aplicaciones electrónicas.
Microcontrolador pic 18f4550, pic
18f2550
El Microcontrolador PIC18F4550 es un circuito integrado programable capaz de poder realizar y controlar tareas las veces
que desees gracias a la memoria flash de alta resistencia. El MCU cuenta con 8 Bits, 48 MHz, 32 KB, 2 KB, 40 Pines y
pertenece a la familia de microcontroladores PIC18.
El Microcontrolador PIC18F4550 funciona para poder efectuar y/o controlar otros dispositivos, algunas de sus aplicaciones
son automatización y control de procesos, comunicaciones y red, electrónica de consumo, diseño embebido y desarrollo,
multimedia, dispositivos portátiles, robótica, instrumentación y medida o seguridad.
Fases en la resolución de problemas
● Análisis
● Diseño del algoritmo
● Codificación
● Compilación y ejecución
● Verificación
● Depuración
● Mantenimiento
● Documentación
Análisis del problema
Esta fase requiere una clara definición, donde se contemple
exactamente lo que debe hacer el programa y el resultado o
solución deseada
Diseño del algoritmo
El proceso que convierte los resultados del análisis del problema en un diseño
modular con refinamientos sucesivos que permitan una posterior traducción a
un lenguaje se denomina diseño del algoritmo.
La resolución de un problema complejo se realiza dividiendo el problema en
subproblemas y a continuación dividiendo estos subproblemas en otros de
nivel más bajo, hasta que pueda ser implementada una solución en la
computadora. Este método se conoce técnicamente como diseño descendente
(top-down) o modular.
Programación modular
Los programas estructurados de esta forma se
dice que tienen un diseño modular y el
método de romper el programa en módulos
más pequeños se llama programación
modular. Los módulos pueden ser
planeados, codificados, comprobados y
depurados independientemente (incluso por
diferentes programadores) y a continuación
combinarlos entre sí.
Diagrama de flujo
Un diagrama de flujo (flowchart) es una
representación gráfica de un algoritmo.
Pseudocódigo
Es una herramienta de programación en la que las instrucciones se
escriben en palabras similares al inglés o español, que facilitan tanto la
escritura como la lectura de programas. En esencia, el pseudocódigo se
puede definir como un lenguaje de especificaciones de algoritmos.
Codificación de un programa
La codificación es la escritura en un lenguaje de programación de la
representación del algoritmo desarrollada en las etapas precedentes.
Dado que el diseño de un algoritmo es independiente del lenguaje de
programación utilizado para su implementación, el código puede ser
escrito con igual facilidad en un lenguaje o en otro.
Compilación y ejecución de un
programa
Verificación y depuración de un
programa
Es el proceso de ejecución del programa con una amplia variedad de
datos de entrada, llamados datos de test o prueba, que determinarán si el
programa tiene o no errores (“bugs”). Cuando se ejecuta un programa, se
pueden producir tres tipos de errores:
● Errores de compilación
● Errores de ejecución
● Errores lógicos
Documentación y mantenimiento
La documentación de un programa puede ser interna y externa.
● La documentación interna es la contenida en líneas de comentarios.
● La documentación externa incluye análisis, diagramas de flujo y/o
pseudocódigos, manuales de usuario con instrucciones para ejecutar el
programa y para interpretar los resultados.
La documentación es vital cuando se desea corregir posibles errores futuros
o bien cambiar el programa. Tales cambios se denominan mantenimiento
del programa.
Estructura
General De un
Programa
Concepto de Programa
Es un conjunto de instrucciones
preparadas para que un aparato
automático pueda efectuar una
sucesión de operaciones
determinadas.
Concepto o fases de la Programación
(Proceso)
Instrucciones o Acciones
Instrucción y Acción Lineal Acción no Lineal
Tipos de Instrucción
Elementos Básicos de un Programa
● Palabras reservadas (inicio, fin, si-entonces..., etc.)
● Identificadores (nombres de variables esencialmente,
procedimientos, funciones, nombre del programa, etc.)
● caracteres especiales (coma, apóstrofo, etc.)
● Constantes
● Variables
● Expresiones
● Instrucciones
Tipos de Datos y Operaciones
Primitivas
● Numéricos
● Lógicos (boolean)
● Carácter
Constantes y Variables
● Una constante es un dato que permanece sin cambios durante todo
el desarrollo del algoritmo o durante la ejecución del programa.
● Una variable es un objeto o tipo de datos cuyo valor puede cambiar
durante el desarrollo del algoritmo o ejecución del programa. Una
variable es un objeto o tipo de datos cuyo valor puede cambiar
durante el desarrollo del algoritmo o ejecución del programa.
Expresiones Aritméticas
Las expresiones aritméticas son análogas a las fórmulas matemáticas. Las
variables y constantes son numéricas (real o entera) y las operaciones son
las aritméticas.
Asignacion
La operación de asignación se representa con el símbolo u operador ← (en la mayoría de
los lenguajes de programación, como C, C++, Java, el signo de la operación asignación es
=). La operación de asignación se conoce como instrucción o sentencia de asignación
cuando se refiere a un lenguaje de programación. El formato general de una operación de
asignación es:
Entrada y Salida de Información
Las operaciones de entrada permiten leer determinados valores y asignarlos a
determinadas variables. Esta entrada se conoce como operación de lectura (read). Los
datos de entrada se introducen al procesador mediante dispositivos de entrada (teclado,
tarjetas perforadas, unidades de disco, etc.). La salida puede aparecer en un dispositivo
de salida (pantalla, impresora, etc.). La operación de salida se denomina escritura
(write). En la escritura de algoritmos las acciones de lectura y escritura se representan
por los formatos siguientes: