ARQUITECTURA SIST MICRO_REV2.pptx
-
Upload
franklin-augusto-saa-vega -
Category
Documents
-
view
61 -
download
0
Transcript of ARQUITECTURA SIST MICRO_REV2.pptx
![Page 1: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/1.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
1
Seminario de TitulaciónIngeniería en Sistemas
Arquitectura de Sistemas Microprocesados
![Page 2: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/2.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
2
Objetivos de Asignatura Objetivo general:
Diseñar sistemas automatizados de mediana complejidad gobernados por Microcontroladores
Objetivos específicos: Caracterizar las funciones y arquitectura de un
sistema microprocesado. Interpretar las instrucciones de programación del
microcontrolador en lenguaje JAVA. Programar microcontroladores con herramientas de entorno gráfico.
Diseñar aplicaciones de sistemas automatizados.
![Page 3: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/3.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
3
Contenidos: Unidades didácticas:
1: Arquitectura de sistemas microprocesados Microprocesadores vs microcontroladores Arquitectura interna de microcontroladores
2: Programación de microcontroladores: C++, JAVA Estructura de programas Fundamentos de lenguaje para microncontroladores Herramientas OPEN SOURCE para microcontroladores Simulación de sistemas microprocesados
3: Programación gráfica de microcontroladores Funciones y Macros de recursos especiales de uC
4: Diseño de aplicaciones con microcontroladores
![Page 4: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/4.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
4
Metodología En cada período de clase se presentará el tema,
exponiendo el objetivo específico y las habilidades que se desea alcanzar. Mediante el autoaprendizaje (exploraciones) se llega al descubrimiento de conceptos y patrones de manera independiente, aprovechando el poder de la tecnología. Las actividades (aplicaciones) son una rica y variada selección de aplicaciones del mundo real, estas ofrecen un constante repaso de las habilidades para resolver problemas. Además, se pueden incorporar Actividades en equipo, motivando al estudiante a pensar, hablar y escribir soluciones en un ambiente de aprendizaje de mutuo apoyo.
![Page 5: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/5.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
5
Sistema de evaluación La evaluación será continua y constante
durante el desarrollo de las temáticas programadas: Controles frecuentes, Trabajos individuales o en
grupo, Pruebas escritas y prácticas, Resolución de ejercicios, Exposiciones y trabajos independientes.
Para el control de notas se guiará según ficha de evaluación para cada parcial emitida por el Departamento Académico. Es decir con notas intraclase y extractase.
actividades desarrolladas intraclase y extractase (EF)
20%
Evaluación parcial (EP) 20 %
Evaluación ordinaria o final (EO) 60%
![Page 6: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/6.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
6
Referencias bibliográficas JOSÉ Mª ANGULO USATEGUI, IGNACIO ANGULO
MARTÍNEZ. PIC diseño práctico de aplicaciones, Tercera edición. MCGRAW HILL
VERLE MILAN. PIC Microcontrollers Programming in C. Primera edición. 2009
BANZI MASSIMO. GETTING STARTED WITH ARDUINO. Segunda edición. O´REILLY. 2011
WARREN JOHN, JOSH ADAMS, MOLLE HARALD. ARDUINO ROBOTICS. Primera edición. TIA. 2010
BART HUYSKENS, JOHN DOBSON, STEVE TANDY. AN INTRODUCTION TO MICROCONTROLLER PROGRAMMING. MATRIX MULTIMEDIA. 2010
![Page 7: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/7.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
7
Plataforma de trabajo Microcontroladores PIC de 8 bits:
PIC16F887 PIC16F88
Microcontroladores ATMEL de 32 bits: ARDUINO
Entrenadores de microcontroladores: AUTOMASIS VER3.0
Equipos de medición: Osciloscopios, fuentes cc, multímetros,
generadores de señales, programadores PIC
Compiladores y simuladores: MPLAB, MIKROC, PROTEUS
![Page 8: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/8.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
8
¿Cómo trabaja nuestro sistema?
![Page 9: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/9.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
9
Pasos de diseño de sistemas microprocesados Procesamiento secuencial:
La lógica digital Codificación de los datos La organización de los componentes Programación: ensamblador, lenguaje C Compilar Interfaces con mundo exterior Dispositivos y controladores
![Page 10: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/10.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
10
Repaso de electrónica digital
![Page 11: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/11.jpg)
Función AND (producto)
111
001
010
000
SbabaS
![Page 12: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/12.jpg)
Función OR (suma)
111
101
110
000
SbabaS
![Page 13: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/13.jpg)
Función NOT (inversor)
01
10
SaaS
![Page 14: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/14.jpg)
Primera forma canónica
1111
0011
0101
0001
1110
0010
1100
0000
Scba Minitérminos: Casos en los que se obtiene salida 1
cuando a y b son 0 y c es 1(a·b·c)
cuando a es 0 y b y c son 1(a·b·c)
cuando a, b y c son 1(a·b·c)
ó
ó
S = (a·b·c) + (a·b·c) + (a·b·c)Al unir los casos favorables
![Page 15: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/15.jpg)
Segunda forma canónica
1111
1011
1101
0001
1110
1010
1100
0000
ScbaMaxitérminos: Casos en los que se
obtiene salida 0cuando a, b y c son 0
(a+b+c)
cuando a es 1 y b y c son 0(a+b+c)
y
S = (a+b+c) · (a+b+c)Al eliminar los casos desfavorables
![Page 16: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/16.jpg)
Propiedades del álgebra de BooleEstructura matemática de un conjunto de elementos {0,1} con tres operaciones con ellos {+, ·, }
1 ) Conmutativa• a+b = b+a• a·b = b·a
2 ) Asociativa• a+b+c = a+(b+c)• a·b·c = a·(b·c)
3 ) Distributiva• a·(b+c) = a·b + a·c• a+(b·c) = (a+b)·(a+c)
4 ) Elemento neutro• a+0 = a• a·1 = a
5 ) Elemento absorbente• a+1 = 1• a·0 = 0
6 ) Ley del complementario• a+a = 1• a·a = 0
7 ) Idempotente• a+a = a• a·a = a
8 ) Simplificativa• a+a·b = a• a·(a+b) = a
![Page 17: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/17.jpg)
Teoremas de De Morgan
1 ) Primer teorema
a + b = a · b
2 ) Segundo teorema
a · b = a + b
![Page 18: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/18.jpg)
Función NAND
011
101
110
100
SbabaS
![Page 19: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/19.jpg)
Función NOR
011
001
010
100
SbabaS
![Page 20: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/20.jpg)
Función XOR (o exclusiva)
011
101
110
000
SbabaS
![Page 21: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/21.jpg)
Codificadores
Dan salidas dependiendo de los valores de las entradas
Decimal a BCD
BCD a decimal
BCD a 7 segmentos
![Page 22: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/22.jpg)
Multiplexor
• Una salida
• 2n entradas
• n entradas de selección
a b c S
0 0 0 D0
0 0 1 D1
0 1 0 D2
0 1 1 D3
1 0 0 D4
1 0 1 D5
1 1 0 D6
1 1 1 D7
Transforma valores en paralelo a valores en serie
![Page 23: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/23.jpg)
Demultiplexor
• 2n salidas
• una entrada
• n entradas de selección
Transforma valores en serie a valores en paralelo
![Page 24: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/24.jpg)
Comparador
• 2 grupos de 2n entradas
• tres salidas
![Page 25: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/25.jpg)
25
Actividad en clase:
![Page 26: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/26.jpg)
26
Actividad 2: Arquitectura de sistemas microprocesados
Objetivo: Conceptualizar
componentes en un sistema microprocesado, mediante el análisis de sus módulos funcionales, para la identificación en procesos de ejecución.
![Page 27: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/27.jpg)
27
¿Cuántos componentes caben en un chip?
![Page 28: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/28.jpg)
28
Arquitectura simplificada de uComputadora
PERIFERICOENTRADASALIDA
µPMEMORIA
RAMROM
BUS DATOS
BUS DIRECCIONES
BUS CONTROL
![Page 29: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/29.jpg)
29
Buses de comunicación Nos referiremos a tres clases de buses de
comunicación: Bus de direcciones Bus de datos Bus de control
Bus de direcciones: A0-AM-1. Es el empleado por la CPU para seleccionar la dirección de memoria o el dispositivo de E/S con el cual va a intercambiar información.
Es unidireccional. El tamaño determina la capacidad de direccionamiento de la CPU, que es el máximo número de posiciones de memoria y dispositivos E/S a los que la CPU puede acceder. Para m líneas la capacidad de direccionamiento será: 2m.
![Page 30: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/30.jpg)
30
Buses de comunicación
![Page 31: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/31.jpg)
31
Buses de comunicación Bus de datos: D0 - DN-1. El bus de datos es el conjunto
de conductores a través del cual el microprocesador intercambia información con la unidad de memoria o E/S seleccionada mediante el bus de direcciones.
Características: Bidireccional: La información puede viajar en los dos sentidos. Número de líneas (N): representa la cantidad de bits que se
pueden transmitir simultáneamente. Suele denominarse “la palabra del μP”.
Triestado: Las líneas del bus de datos deben ser triestado. Las líneas triestado son aquellas capaces de tener tres estados:
Estado alto (High, H). Estado bajo (Low, L). Estado de alta impedancia (High Impedance, HZ).
![Page 32: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/32.jpg)
32
Buses de datos
![Page 33: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/33.jpg)
33
Bus de control Bus de control. Está formado por un
conjunto de líneas por las que circulan las señales auxiliares de gobierno y sincronización del sistema. Las líneas existentes dependen del fabricante del μP y de las funciones que desee implementarle.
Algunas señales típicas en todos los sistemas son: Señal de reloj de sincronización (CLK) Señal de RESET o inicialización (RST) Señal de lectura/escritura en memoria (R/W), etc.
![Page 34: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/34.jpg)
34
Bus de control
![Page 35: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/35.jpg)
35
Arquitectura RISC vs CISC Arquitectura CISC (Complex Instruction Set
Computer).
Basado en un amplio repertorio de instrucciones. Se aumenta la potencia del microprocesador a costa de aumentar el tamaño de las instrucciones, y por tanto el número de ciclos de reloj que precisan para ejecutarse. Eso sí, los programas verán reducido el número de instrucciones máquina que precisan para ser ejecutados por el microprocesador.
Ejemplos: Los procesadores de Intel y AMD son puramente CISC
![Page 36: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/36.jpg)
36
Arquitectura CISC
![Page 37: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/37.jpg)
37
Arquitectura RISC Arquitectura RISC (Reduced
Instruction Set Computer).
Plantea un conjunto reducido de instrucciones, buscando reducir el número de ciclos de reloj de ejecución por cada una de ellas, haciéndolas simples y evitando instrucciones complejas. Se descarga la responsabilidad de construir programas eficientes al software, al compilador.
Ejemplos: Procesadores Alpha, el Power PC (Motorola/IBM), microcontroladores ATMEL, PIC
![Page 38: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/38.jpg)
38
Arquitectura RISC
![Page 39: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/39.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
39
Microprocesadores VS. Microcontroladores
Microprocesadores Microcontroladores
Set de instrucciones complejo: en INTEL cerca de 320 instrucciones
Set de instrucciones reducido: PIC gama media 32 instrucciones
Multipropósito: operaciones lógicas, operaciones aritméticas, multimedia
Propósito específico: programados para tareas concretas
Costo mayor Menor costo
Requieren de dispositivos externos para funcionar: reloj, memorias, tarjetas I/O
En CHIP se encuentran CPU, memorias, reloj interno
Programa principal se almacena en memoria externa
Cuenta con memoria de programa interna reprogramable
Mayores frecuencias de trabajo: INTEL en GHz
Frecuencias de trabajo menores: PIC en MHz
![Page 40: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/40.jpg)
Microcontroladores: Ing. Víctor Medina G
40
Microprocesador vs Microcontrolador
![Page 41: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/41.jpg)
41
Arquitectura de uP de 8 bits
![Page 42: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/42.jpg)
42
Además de la Unidad de Aritmética y Lógica (ALU) y de la Unidad de Control (UC), los microprocesadores contienen REGISTROS.
REGISTRO (register): Es el elemento más pequeño que puede retener un dato. Usado para almacenar temporalmente información dentro de la CPU. Los registros pueden ser de propósito general o especializado.
Componentes de uP
![Page 43: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/43.jpg)
43
REGISTRO DE PROPÓSITO GENERAL (general-purpose register): Son aquellos sobre los que no existe restricción en cuanto a su utilización. Pueden ser empleados como fuente o destino de datos, como contador, como puntero de localidades de memoria o de elementos de E/S.
REGISTROS ESPECIALIZADOS (special-purpose register): Son los registros que están dedicados a realizar alguna función específica.
Registros internos
![Page 44: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/44.jpg)
44
7 0
REGISTRO ACUMULADO
R
REGISTRO DE
BANDERASS, C, Z, etc.
ALU DE8 BITS
7 0
REGISTROS TEMPORALES
7 0
ALU y registros
![Page 45: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/45.jpg)
45
REGISTRO ACUMULADOR (accumulator): Es el registro base para las operaciones aritméticas y lógicas. Antes de la ejecución de la instrucción contiene uno de los OPERANDOS y después de la ejecución es el que generalmente recibe el resultado. También es registro fuente o destino de las transferencias de datos con la unidad de memoria o con el sistema de entrada / salida. En algunos microprocesadores existe más de un Acumulador.
Registro de trabajo (W)
![Page 46: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/46.jpg)
46
REGISTROS TEMPORALES O AUXILIARES (temporal registers) Son registros para uso interno de la CPU, en los que se almacena momentáneamente cierta información y no son accesibles al programador mediante ninguna instrucción.
REGISTRO DE BANDERAS (flag register): Esta formado por un conjunto de biestables, los mismos que indican ciertas condiciones del resultado de las operaciones; como por ejemplo el valor del signo, si hubo o no carry, si es igual a cero o no, etc.
Registro temporales y FLAGS
![Page 47: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/47.jpg)
47
7 0
REGISTRO ACUMULADO
R
REGISTRO DE INSTRUCCIONE
S
REGISTRO DE
BANDERASS, C, Z, etc.
ALU DE8 BITS
DECODIFICADOR DE
INSTRUCCIONES
BUS DE CONTROL
7 0
REGISTROS TEMPORALES
7 0
CIRCUITOS LÓGICOS GENERADORES
DE TIEMPO Y DE CONTROL
7 0
![Page 48: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/48.jpg)
48
REGISTRO DE INSTRUCCIONES (instruction register): Es el registro donde se almacena el CÓDIGO DE LA OPERACIÓN de la instrucción que se esta ejecutando, una vez que es traído desde la memoria del programa mediante el Bus de Datos.
DECODIFICADOR DE INSTRUCCIONES (instruction decoder): Es la parte de la Unidad de Control que se encarga de interpretar la instrucción que se encuentra en el Registro de Instrucciones, en base a una memoria ROM que contiene microinstrucciones que controlan la ejecución de las instrucciones.
Registros de instrucciones
![Page 49: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/49.jpg)
49
CIRCUITOS LÓGICOS GENERADORES DE TIEMPO Y CONTROL (timming and control circuits): Son los circuitos encargados de generar las señales tanto internas como externas que permiten ejecutar las instrucciones. A estos circuitos también llegan las señales externas como las de inicialización, las de espera, las de interrupciones, etc. Es decir, es el bloque que esta directamente relacionado con el Bus de Control.
TIMMING AND CONTROL CIRCUITS
![Page 50: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/50.jpg)
50
BUS DE DATOS D7…D0
7 0
REGISTRO ACUMULADO
R
REGISTRO DE INSTRUCCIONE
S
REGISTRO DE
BANDERASS, C, Z, etc.
ALU DE8 BITS
7 0BUFFER DEL BUS DE
DATOS
DECODIFICADOR DEINSTRUCCIONES
BUS DE CONTROL
BUS DE DATOS INTERNO (8
BITS)
BUS DE DATOS INTERNO (8
BITS)
7 0
REGISTROS TEMPORALES
7 0
CIRCUITOS LÓGICOS GENERADORES
DE TIEMPO Y DE CONTROL
7 0
![Page 51: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/51.jpg)
51
BUS INTERNO (internal bus): Es el bus de comunicaciones entre los distintos componentes del microprocesador, se lo conoce también como el BUS INTERNO DE DATOS. El número de líneas que posee este bus esta determinado por el número de bits que procesa en paralelo la ALU y es uno de los parámetros que clasifican a los microprocesadores. Este bus se encuentra relacionado con el bus externo de datos a través del BUFFER DEL BUS DE DATOS.
Buses
![Page 52: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/52.jpg)
52
BUS DE DATOS D7…D0
7 0
REGISTRO ACUMULADO
R
REGISTRO DE INSTRUCCIONE
S
REGISTRO DE
BANDERASS, C, Z, etc.
REGISTROS DE PROPÓSITO GENERAL
REGISTROS ÍNDICES
REGISTRO CONTADOR DEL PROGRAMA (PC)
REGISTRO PUNTERO DE LA PILA (SP)
ALU DE8 BITS
7 0BUFFER DEL BUS DE
DATOS
DECODIFICADOR DE
INSTRUCCIONES
BUS DE CONTROL
BUS DE DATOS INTERNO (8
BITS)
BUS DE DATOS INTERNO (8
BITS)
7 0
REGISTROS TEMPORALES
7 0
CIRCUITOS LÓGICOS GENERADORES
DE TIEMPO Y DE CONTROL
7 0
15 0
7 0
7 0
REGISTROS ESPECIALIZADO
S
REGISTROS ESPECIALIZADO
S
![Page 53: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/53.jpg)
53
CONTADOR DEL PROGRAMA (program counter PC): Es el que contiene la dirección de la localidad donde se encuentra la siguiente instrucción a ser ejecutada.
PUNTERO DE LA PILA (stack pointer SP): Contiene la dirección de la memoria donde se almacenó el último dato de la PILA o STACK.
REGISTRO ÍNDICE (index register): También contiene una dirección y es utilizado como puntero. El uso de este registro permite que los programas sean más flexibles, ya que para acceder a distintas localidades de memoria, basta especificar un valor que sumado al contenido del registro índice da la dirección real.
Contador de programa
![Page 54: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/54.jpg)
54
BUS DE DATOS D7…D0
7 0
REGISTRO ACUMULADO
R
REGISTRO DE INSTRUCCIONE
S
REGISTRO DE
BANDERASS, C, Z, etc.
REGISTROS DE PROPÓSITO GENERAL
REGISTROS ÍNDICES
REGISTRO CONTADOR DEL PROGRAMA (PC)
REGISTRO PUNTERO DE LA PILA (SP)
BUFFER DEL BUSDE DIRECCIONES
ALU DE8 BITS
7 0BUFFER DEL BUS DE
DATOS
BUS DE DIRECCIONES A15...A0
DECODIFICADOR DEINSTRUCCIONES
BUS DE CONTROL
BUS DE DATOS INTERNO (8
BITS)
BUS DE DATOS INTERNO (8
BITS)
7 0
REGISTROS TEMPORALES
7 0
CIRCUITOS LÓGICOS GENERADORES
DE TIEMPO Y DE CONTROL
7 0
15 0
7 0
7 0
REGISTROS ESPECIALIZADO
S
REGISTROS ESPECIALIZADO
S
![Page 55: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/55.jpg)
55
Ciclo de instrucciones en microprocesador de 8 bits
![Page 56: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/56.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
56
Arquitectura RISC
![Page 57: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/57.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
57
Segmentación PIPE-LINE La segmentación permite al procesador
realizar al mismo tiempo la ejecución de una instrucción y la búsqueda del código de la siguiente. De esta forma se puede ejecutar cada instrucción en un ciclo (en los PIC cada ciclo de instrucción son cuatro ciclos de reloj).
Durante la fase de búsqueda, la dirección de la instrucción la proporciona el PC, el cual normalmente se autoincrementa en la mayoría de las instrucciones, excepto en las de salto.
![Page 58: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/58.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
58
Ciclo de instrucción El registro Program Counter (PC) es gobernado
por el ciclo de instrucción. Cada ciclo de instrucción la CPU lee (ciclo Fetch) la instrucción guardada en la memoria de programa apuntada por PC y al mismo tiempo ejecuta la instrucción anterior, esto debido a una cola de instrucciones que le permite ejecutar una instrucción mientras lee la próxima.
![Page 59: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/59.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
59
Ciclo de instrucción
![Page 60: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/60.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
60
Ciclo de instrucción Como puede verse, cada ciclo de instrucción:
(Tcy = 4Tosc) Se compone a su vez de cuatro ciclos del oscilador
Tosc= 1/Fosc. Cada ciclo Q provee la sincronización para los
siguientes eventos: Q1: Decodificación de la instrucción Q2: Lectura del dato (si lo hay) Q3: Procesa el dato Q4: Escribe el dato
Debido a esto cada ciclo de instrucción consume 4 ciclos de reloj, de manera que si la frecuencia de oscilación es Fosc, Tcy será 4/Fosc.
![Page 61: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/61.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
61
Segmentación PIPE-LINE
![Page 62: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/62.jpg)
Microcontroladores62
Actividad 3: Arquitectura de microcontroladores
Objetivo: Definir los componentes de un microcontrolador
mediante el análisis de sus etapas funcionales
![Page 63: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/63.jpg)
Registros Un registro
o una celda de memoria es un circuito electrónico que puede memorizar el estado de un byte.
Microcontroladores63
![Page 64: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/64.jpg)
Registro SFR
Registros de funciones especiales, cada bit configura los circuitos internos del microcontroladores que se conectan a través de los pines a los periféricos.
Microcontroladores64
![Page 65: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/65.jpg)
PUERTOS DE ENTRADA/SALIDA (E/S)
Conectan los circuitos internos con los periféricos. Son configurables bit a bit. Carga máxima (10-20mA)
Microcontroladores65
![Page 66: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/66.jpg)
UNIDAD DE MEMORIA
Almacena los datos.
Microcontroladores66
![Page 67: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/67.jpg)
UNIDAD DE MEMORIA
Microcontroladores67
![Page 68: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/68.jpg)
Memoria en PIC
Microcontroladores68
![Page 69: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/69.jpg)
UNIDAD CENTRAL DE PROCESAMIENTO (CENTRAL PROCESSOR UNIT - CPU)
Decodificador de instrucciones: decodifica las instrucciones del programa y acciona otros circuitos
Unidad lógica aritmética (Arithmetical Logical Unit - ALU) realiza todas las operaciones matemáticas y lógicas sobre datos
Acumulador o registro de trabajo.
Microcontroladores69
![Page 70: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/70.jpg)
Bus
El bus está formado por 8, 16 o más cables. Dos tipos de buses: Bus de direcciones Bus de datos.
Microcontroladores70
![Page 71: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/71.jpg)
COMUNICACIÓN EN SERIE
Permite conectar un uC con un periférico utilizando un mínimo número de cables, lo que permite el alcance de mayores distancias.
Microcontroladores71
![Page 72: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/72.jpg)
VELOCIDAD DE TRANSMISIÓN SERIAL
La velocidad de transmisión serial (baud rate) es el término utilizado para denotar el número de bits transmitidos por segundo [bps].
El protocolo normalmente requiere que cada byte se transmita junto con varios bits de control. Eso quiere decir que un byte en un flujo de datos serial puede consistir en 11 bits. Por ejemplo, si velocidad de transmisión serial es 300 bps un máximo de 37 y un mínimo de 27 bytes se pueden transmitir por segundo.
Microcontroladores72
![Page 73: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/73.jpg)
Sistemas de comunicación serial I2C (INTER INTEGRATED CIRCUIT) -
CIRCUITO INTER-INTEGRADO Circuito inter-integrado es un sistema
para el intercambio de datos serial entre los microcontroladores y los circuitos integrados. Se utiliza cuando la distancia entre ellos es corta (el receptor y el transmisor están normalmente en la misma placa de circuito impreso). La conexión se establece por medio de dos líneas - una se utiliza para transmitir los datos, mientras que la otra se utiliza para la sincronización (la señal de reloj).
Microcontroladores73
![Page 74: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/74.jpg)
I2C (INTER INTEGRATED CIRCUIT)
Microcontroladores74
![Page 75: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/75.jpg)
SPI (SERIAL PERIPHERAL INTERFACE BUS)
SPI (SERIAL PERIPHERAL INTERFACE BUS) - BUS SERIAL DE INTERFAZ DE PERIFÉRICOS
Es un sistema para la comunicación serial que utiliza hasta cuatro líneas (normalmente solo son necesarias tres) - para recibir los datos, para transmitir los datos, para sincronizar y (opcional) para seleccionar el dispositivo con el que se comunica.
Esto es la conexión full duplex, lo que significa que los datos se envían y se reciben simultáneamente.
La velocidad de transmisión máxima es mayor que en el sistema de conexión I2C. Microcontroladores75
![Page 76: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/76.jpg)
UART (UNIVERSAL ASYNCHRONOUS RECEIVER/TRANSMITTER)
UART (UNIVERSAL ASYNCHRONOUS RECEIVER/TRANSMITTER) - TRANSMISOR-RECEPTOR ASÍNCRONO UNIVERSAL
Este tipo de conexión es asíncrona, lo que significa que no se utiliza una línea especial para transmitir la señal de reloj.
Tanto el receptor como el transmisor reciben y envían los datos a velocidad misma que ha sido predefinida para mantener la sincronización necesaria. Esto es una manera simple de transmitir datos puesto que básicamente representa una conversión de datos de 8 bits de paralelo a serial. La velocidad de transmisión no es alta, es hasta 1 Mbit/sec.
Microcontroladores76
![Page 77: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/77.jpg)
OSCILADOR
Se configura normalmente de tal manera que utilice un cristal de cuarzo o resonador cerámico para estabilización de frecuencia. Además, puede funcionar como un circuito autónomo (como oscilador RC).
Microcontroladores77
![Page 78: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/78.jpg)
CIRCUITO DE ALIMENTACIÓN
Brown out es un estado potencialmente peligroso que ocurre al apagar el microcontrolador o en caso de que el voltaje de la fuente de alimentación salga de unos márgenes debido al ruido eléctrico. Como el microcontrolador dispone de varios circuitos que funcionan a niveles de voltaje diferentes, ese estado puede causar un comportamiento descontrolado. Para evitarlo, el microcontrolador normalmente tiene un circuito incorporado para el brown out reset.
El pin de reset (reinicio), marcado frecuentemente con MCLR (Master Clear Reset), sirve para el reinicio externo del microcontrolador al aplicar un cero (0) o un uno (1) lógico dependiendo del tipo del microcontrolador. En caso de que el circuito brown out no esté incorporado, un simple circuito externo para el brown out reset se puede conectar al pin MCLR.
Microcontroladores78
![Page 79: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/79.jpg)
TEMPORIZADORES/CONTADORES
Son circuitos que sirven medir el tiempo transcurrido entre dos eventos, basados en contar los pulsos generados por el oscilador principal que es un cristal de cuarzo
Microcontroladores79
![Page 80: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/80.jpg)
¿CÓMO FUNCIONAN LOS TEMPORIZADORES?
Los pulsos generados por el oscilador de cuarzo son llevados al circuito una vez por cada ciclo de máquina directamente o por el pre-escalador, lo que aumenta el número en el registro del temporizador.
Microcontroladores80
![Page 81: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/81.jpg)
UTILIZAR UN PREESCALADOR EN EL FUNCIONAMIENTO DEL TEMPORIZADOR
Un pre-escalador es un dispositivo electrónico utilizado para dividir la frecuencia por un factor predeterminado. Esto quiere decir que se necesita llevar 1, 2, 4 o más pulsos a su entrada para generar un pulso a la salida.
Microcontroladores81
![Page 82: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/82.jpg)
UTILIZAR UNA INTERRUPCIÓN EN EL FUNCIONAMIENTO DEL TEMPORIZADOR
Si el registro del temporizador es de 8 bits, el mayor número que se puede escribir en él es 255. Si se excede este número, el temporizador se reinicia automáticamente y el conteo comienza de nuevo en cero. Esto es denominado desbordamiento o sobreflujo (overflow).
Microcontroladores82
![Page 83: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/83.jpg)
TEMPORIZADOR PERRO GUARDIÁN (WATCHDOG)
El perro guardián es un temporizador conectado a un oscilador RC completamente independiente dentro del microcontrolador.
Si el perro guardián está habilitado, cada vez que cuenta hasta el máximo valor en el que ocurre el desbordamiento del registro se genera una señal de reinicio del microcontrolador y la ejecución de programa inicia en la primera instrucción.
Microcontroladores83
![Page 84: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/84.jpg)
CONVERTIDOR A/D
Un convertidor analógico-digital es un circuito electrónico encargado de convertir las señales continuas en números digitales discretos. En otras palabras, este circuito convierte un número real en un número binario y se lo envía a la CPU para ser procesado.
Microcontroladores84
![Page 85: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/85.jpg)
Codificación analógica a digital
Microcontroladores85
![Page 86: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/86.jpg)
CONVERTIDOR A/D
Resolución depende del número de BITS.
A mayor número de BITS, menor error.
Microcontroladores86
![Page 87: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/87.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
87
Actividad 4: Arquitectura de microcontroladores PIC16F887
Objetivo: Diferenciar gamas de microcontroladores mediante análisis de sus partes funcionales
![Page 88: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/88.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
88
Características PIC16F887 Arquitectura RISC
35 instrucciones Instrucciones son uni-ciclo excepto por las
de ramificación Frecuencia de operación 0-20 MHz Oscilador interno de alta precisión
Rango de frecuencia de 8MHz a 31KHz seleccionado por software
Voltaje de la fuente de alimentación de 2.0V a 5.5V Consumo: 220uA (2.0V, 4MHz), 11uA (2.0 V,
32 KHz) 50nA (en modo de espera) Ahorro de energía en el Modo de
suspensión 35 pines de entrada/salida
Resistencias pull-up programables individualmente por software
Interrupción al cambiar el estado del pin Memoria ROM de 8K con tecnología
FLASH El chip se puede re-programar hasta
100.000 veces Opción de programación serial en el
circuito
256 bytes de memoria EEPROM Los datos se pueden grabar más de
1.000.000 veces 368 bytes de memoria RAM Convertidor A/D:
14 canales resolución de 10 bits
3 temporizadores/contadores independientes
Temporizador perro guardián Módulo comparador analógico con
Dos comparadores analógicos Referencia de voltaje fija (0.6V) Referencia de voltaje programable en el
chip Módulo PWM incorporado Módulo USART mejorado
Soporta las comunicaciones seriales RS-485, RS-232 y LIN2.0
Auto detección de baudios Puerto Serie Síncrono Maestro (MSSP)
Soporta los modos SPI e I2C
![Page 89: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/89.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
89
Descripción de PINOUT PIC16F887 La mayoría de los pines del microcontrolador
PIC16F887 son multipropósito. Por ejemplo, la asignación RA3/AN3/Vref+/C1IN+
para el quinto pin del microcontrolador indica que éste dispone de las siguientes funciones: RA3 Tercera entrada/salida digital del puerto A AN3 Tercera entrada analógica Vref+ Referencia positiva de voltaje C1IN+ Entrada positiva del comparador C1
Estas funciones de los pines no se pueden utilizar simultáneamente, sin embargo se pueden cambiar en cualquier instante durante el funcionamiento mediante SW.
![Page 90: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/90.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
90
Memoria en PIC16F887 Memoria ROM:
El PIC16F887 tiene 8Kb de memoria ROM (en total 8192 localidades). Como la memoria ROM está fabricada con tecnología FLASH, su contenido se puede cambiar al proporcionarle un voltaje de programación especial (13V).
Memoria EEPROM: El contenido de esta memoria está permanentemente
guardado al apagar la fuente de alimentación. Sin embargo, a diferencia de la ROM, el contenido de la EEPROM se puede cambiar durante el funcionamiento del microcontrolador. Posee 256 localidades que pueden ser cambiados y utilizados durante el funcionamiento.
![Page 91: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/91.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
91
Memoria en PIC16F887 Memoria RAM: Se compone de dos
partes: registros de propósito general y en los registros de funciones especiales (SFR). Todos estos registros se dividen en cuatro bancos de memoria.
Los dos grupos de registros se ponen a cero al apagar la fuente de alimentación, además están fabricados de la misma forma y se comportan de la manera similar.
![Page 92: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/92.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
92
Sistema de interrupciones Al aparecer una petición de interrupción lo primero que hace el
microcontrolador es ejecutar la instrucción actual después de que se detiene el proceso de ejecución de programa. Como resultado, la dirección de memoria de programa actual se apila automáticamente y la dirección por defecto (predefinida por el fabricante) se escribe en el contador de programa. La localidad en la que el programa continúa con la ejecución se le denomina vector de interrupción. En el caso del microcontrolador PIC16F887 esta dirección es 0x0004h.
Al reconocer la fuente de interrupción y al terminar de ejecutar la rutina de interrupción el microcontrolador alcanza la instrucción RETFIE, toma la dirección de la pila y continúa con la ejecución de programa desde donde se interrumpió.
MIKROC reconoce una rutina de interrupción que se ejecutará como la función void interrupt(). El cuerpo de la función, o sea, rutina de interrupción, debe ser escrito por el usuario. void interrupt() { // Interrupt routine cnt++ ; // Interrupt causes variable cnt to be
incremented by 1}
![Page 93: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/93.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
93
Sistema de interrupciones
![Page 94: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/94.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
94
Principales registros SFR: STATUS Contiene el estado aritmético de datos en el registro W, el estado
RESET, los bits para seleccionar el banco para los datos de la memoria.
IRP - Registro de selección de Banco usado para direccionamiento indirecto
1 - Bancos 0 y 1 son activos (00h-FFh) 0 - Bancos 2 y 3 son activos (00h-1FFh) RP1, RP0 - Registro de selección de banco usado para
direccionamiento directo. TO - Time-out bit bit de salida del temporizador perro
guardián 1 - Después de encender el uC, o ejecutarse CLRWDT o
ejecutarse la instrucción SLEEP 0 - Después de acabarse el tiempo del WDT. PD - Power-down bit: 1 - Después de encender el
microcontrolador, después de ejecutar la instrucción CLRWDT, 0 - Después de ejecutarse la instrucción SLEEP que pone al microcontrolador en el modo de bajo consumo.
Z - Zero bit (bit cero): 1 - El resultado de una operación lógica o aritmética es 0; 0 - El resultado de una operación lógica o aritmética es distinto de 0.
DC - Digit carry/borrow bit (bit de acarreo/préstamo de dígito) cambia al sumar o al restar si ocurre un "desbordamiento"
1 - Hubo acarreo del cuarto bit de orden bajo (nibble bajo) en el resultado.
0 - No hubo acarreo del cuarto bit de orden bajo (nibble bajo) en el resultado.
C - Carry/Borrow bit cambia al sumar o al restar si ocurre
un "desbordamiento" en el resultado, o sea si el resultado es mayor de 255 .
1 - Ocurrió acarreo en el bit más significativo (MSB) del resultado.
0 - No ocurrió acarreo en el bit más significativo (MSB) del resultado.
IRP RP1 RP0 TO PD Z DC C
7 6 5 4 3 2 1 0
![Page 95: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/95.jpg)
Entrada o salida en puertos Si deseamos configurar el puerto A con la
siguiente asignación:RA0 salidaRA1 salidaRA2 salidaRA3 salidaRA4 entradaRA5 entradaRA6 entrada
Posibles instrucciones a utilizarADCON1 = 6; \\ instrucción indispensable para usar el
puerto A y el puerto E como entrada o salida de datos digitales
TRISA = 0b’01110000’;TRISA = 0x70;TRISA = 112;
![Page 96: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/96.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
96
Principales registros SFR: OPTION
![Page 97: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/97.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
97
Principales registros SFR: INTCON
![Page 98: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/98.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
98
Principales registros SFR: INTCON
![Page 99: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/99.jpg)
Actividad 5: Acondicionamiento de señales
Objetivos: Establecer parámetros de medición e interface mediante el estudio de acondicionamiento de señales a microcontroladores.
El control de procesos depende de la obtención de información de entrada, su evaluación y la ejecución de la acción correspondiente.
En control industrial, la mayoría de las veces la información de entrada involucra el monitoreo de dispositivos de campo que admiten dos estados posibles.
Un interruptor es un ejemplo común de dispositivo de dos estados.
O está abierto o está cerrado.
Microcontroladores99
![Page 100: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/100.jpg)
Acondicionamiento de señales Interruptores:
activan o desactivan señales de entrada
Microcontroladores100
![Page 101: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/101.jpg)
Conexión eléctrica de interruptores
Conectados directamente a los puertos Se recomienda proceso anti rebote
Microcontroladores101
![Page 102: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/102.jpg)
Acondicionamiento señales digitales
Microcontroladores102
![Page 103: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/103.jpg)
Interruptor reflectivo
Las señales ingresan por cortes de luminosidad en receptor
Microcontroladores103
![Page 104: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/104.jpg)
Acondicionamiento de señales a cargas
Microcontroladores se conectan a cargas eléctricas mayores mediante dispositivos actuadores, cumpliendo secuencias, considerando retardos debido a inercias mecánicas, retardos en activaciones, etc
Microcontroladores104
![Page 105: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/105.jpg)
Acondicionamiento de señales a cargas
Microcontroladores105
![Page 106: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/106.jpg)
Acondicionamiento salidas digitales
Microcontroladores106
![Page 107: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/107.jpg)
Control de procesos continuos
Circuitos retroalimentados, la salida se compara con la entrada.
Microcontroladores107
![Page 108: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/108.jpg)
Sensores de temperatura
Transductores: convierten señales físicas en señales eléctricas.
Sensores: miden señales sin convertirlas en otra magnitudes, contienen a los transductores
Microcontroladores108
![Page 109: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/109.jpg)
Sistemas continuos = retroalimentados
Microcontroladores109
![Page 110: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/110.jpg)
Control sistemas continuos con PIC
Microcontroladores110
![Page 111: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/111.jpg)
Actividad 6: Programación de PIC en C
Objetivos: Definir la estructura de un programa en C
mediante la descripción de etapas en lenguaje de alto nivel para microcontroladores
111
![Page 112: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/112.jpg)
Lenguajes de programación
El uC ejecuta el programa cargado en la memoria Flash, se denomina el código ejecutable.
Dependiendo de la arquitectura, el código binario está compuesto por palabras de 12, 14 o 16 bits de anchura, que se interpreta por la CPU como una instrucción a ser ejecutada durante el funcionamiento. Se les denominan Conjunto de instrucciones.
El código ejecutable se representa con números hexadecimales denominada código Hex.
En los microcontroladores PIC con las palabras de programa de 14 bits de anchura, el conjunto de instrucciones tiene 35 instrucciones diferentes.
Microcontroladores112
![Page 113: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/113.jpg)
Lenguaje ensamblador (ASSEMBLER)
Las instrucciones consisten en abreviaturas con significado y a cada instrucción corresponde una localidad de memoria. Un programa denominado ensamblador compila (traduce) las instrucciones del lenguaje ensamblador a código máquina (código binario).
Microcontroladores113
![Page 114: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/114.jpg)
Desventajas de ASSEMBLER
Una sola operación en ensamblador consiste en muchas instrucciones, haciéndolo muy largo y difícil de manejar.
Cada tipo de microcontrolador tiene su propio conjunto de instrucciones.
Un programador tiene que conocer el hardware del microcontrolador para escribir un programa.
Microcontroladores114
![Page 115: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/115.jpg)
Lenguaje alto nivel vs. ASSEMBLER
Microcontroladores115
![Page 116: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/116.jpg)
Lenguaje C
El lenguaje C dispone de todas las ventajas de un lenguaje de programación de alto nivel (anteriormente descritas) y le permite realizar algunas operaciones tanto sobre los bytes como sobre los bits (operaciones lógicas, desplazamiento etc.).
C está estandarizado (el estándar ANSI)
Microcontroladores116
![Page 117: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/117.jpg)
CARACTERÍSTICAS PRINCIPALES DEL MIKROC
Este lenguaje es muy similar al C estándar, no obstante en determinados aspectos difiere del ANSI estándar en algunas características. Algunas de estas diferencias se refieren a las mejoras, destinadas a facilitar la programación de los microcontroladores PIC, mientras que las demás son la consecuencia de la limitación de la arquitectura del hardware de los PIC
Microcontroladores117
![Page 118: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/118.jpg)
FASES DE COMPILACIÓN
El archivo fuente contiene el código en MIKROC. El preprocesador se utiliza automáticamente por el compilador al
iniciarse el proceso de la compilación. El compilador busca las directivas del preprocesador (que siempre empiezan por ‘#’) dentro del código y modifica el código fuente de acuerdo con las directivas. En esta fase se llevan a cabo inclusión de archivos, definición de constantes y macros etc, lo que facilita el proceso.
El analizador sintáctico (parser) elimina toda la información inútil del código (comentarios, espacios en blanco).
Compilador traduce el código a un archivo binario denominado archivo .mcl.
El enlazador (linker) recupera toda la información requerida para ejecutar el programa de los archivos externos y la agrupa en un solo archivo (.dbg). Además, un proyecto puede contener más de un archivo fuente y el programador puede utilizar funciones predefinidas y agrupadas dentro de los archivos denominados librerías. Por último, el generador .hex produce un archivo .hex. Es el archivo que se va a cargar en el microcontrolador.
Microcontroladores118
![Page 119: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/119.jpg)
FASES DE COMPILACIÓN
Microcontroladores119
![Page 120: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/120.jpg)
ESTRUCTURA DE PROGRAMA
Por ejemplo:1. Activar y configurar
el convertidor A/D incorporado;
2. Medir el valor analógico;
3. Calcular temperatura; y
4. Enviar los datos en el formato apropiado al LCD.
Microcontroladores120
![Page 121: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/121.jpg)
ESTRUCTURA DE PROGRAMA
Microcontroladores121
![Page 122: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/122.jpg)
Microcontroladores122
![Page 123: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/123.jpg)
Datos en MIKROC
Cada dato utilizado en el programa debe tener su tipo especificado. Esto permite al compilador conocer el tamaño de dato (número de bytes
requerido en la memoria) y su representación. Hay varios tipos de datos que se pueden utilizar en el lenguaje de programación
mikroC dependiendo del tamaño de dato y del rango de valores.
Microcontroladores123
![Page 124: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/124.jpg)
Datos en MIKROC Al añadir un prefijo (calificador) a cualquier tipo de dato entero o
carácter, el rango de sus posibles valores cambia así como el número de los bytes de memoria necesarios. Por defecto, los datos de tipo int son con signo, mientras que los de tipo char son sin signo. El calificador signed (con signo) indica que el dato puede ser positivo o negativo. El prefijo unsigned indica que el dato puede ser sólo positivo. Note que el prefijo es opcional.
Microcontroladores124
![Page 125: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/125.jpg)
Tipo entero (int)
Hexadecimal: el número empieza con 0x (o 0X). Decimal (base 10): El primer dígito no puede ser 0.
En este formato, se puede introducir el signo de número (‘+’ o ‘-’). Por ejemplo: 569, -25, +1500.
Binario: cuando un entero empieza con 0b (o 0B) se representan como una serie de bits (‘0’ y ‘1’). Por ejemplo: 0B10011111
Microcontroladores125
![Page 126: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/126.jpg)
Tipo punto flotante (float)
El tipo punto flotante (float) se utiliza para los números reales con el punto decimal. Los datos de tipo float se pueden representar de varias maneras. Un dato float es siempre consigno (signed).
Microcontroladores126
![Page 127: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/127.jpg)
Tipo carácter (char)
El tipo char es considerado como un entero por el compilador. No obstante, se utiliza normalmente para los datos de tipo carácter. Un dato de tipo carácter está encerrado entre comillas y codificado en un carácter ASCII.
Microcontroladores127
![Page 128: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/128.jpg)
VARIABLES Y CONSTANTES
Una variable es un objeto nombrado capaz de contener un dato que puede ser modificado durante la ejecución de programa. En C, las variables tienen tipo, que significa que es necesario especificar el tipo de dato que se le asigna a una variable (int, float etc.). Las variables se almacenan en la memoria RAM y el espacio de memoria que ocupan (en bytes) depende de su tipo.
Microcontroladores128
![Page 129: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/129.jpg)
VARIABLES Y CONSTANTES
Una constante tiene las mismas características que una variable excepto el hecho de que su valor asignado no puede ser cambiado durante la ejecución de programa. A diferencia de las variables, las constantes se almacenan en la memoria Flash del microcontrolador para guardar el mayor espacio posible de memoria RAM. El compilador las reconoce por el nombre y el prefijo const. En mikroC, el compilador reconoce automáticamente el tipo de dato de una constante, así que no es necesario especificar el tipo adicionalmente.
Microcontroladores129
![Page 130: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/130.jpg)
Declaración de variables
Cada variable debe ser declarada antes de ser utilizada en el programa. Como las variables se almacenan en la memoria RAM, es necesario reservar el espacio para ellas (uno, dos o más bytes) <tipo> variable1, variable2, variable3; unsigned int peso ; // Declarar una
variable llamada peso peso = 20; // Asignar el valor 20 a la variable
;peso
Microcontroladores130
![Page 131: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/131.jpg)
Declaración de constantes
las constantes deben ser declaradas antes de ser utilizadas en el programa. En mikroC, no es obligatorio especificar el tipo de constante al declararla. Por otra parte, las constantes deben ser inicializadas a la vez que se declaran. El compilador reconoce las constantes por su prefijo const utilizado en la declaración. Dos siguientes declaraciones son equivalentes:
const int MINIMUM = -100; // Declarar constante MINIMUM const MINIMUM = -100; // Declarar constante MINIMUM
Microcontroladores131
![Page 132: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/132.jpg)
Ámbito de variables y constantes Una variable o una constante es reconocida por el
compilador en base de su identificador. Un identificador tiene significado si el compilador lo puede reconocer. El ámbito de una variable o una constante es el rango de programa en el que su identificador tiene significado.
Microcontroladores132
![Page 133: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/133.jpg)
OPERADORES Un operador es un símbolo que denota una
operación aritmética, lógica u otra operación particular.
Operador aritmético: +, -, *, /, % Operador de asignación: asignan valores a
las variables
Microcontroladores133
![Page 134: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/134.jpg)
OPERADORES
OPERADORES DE INCREMENTO Y DECREMENTO: Las operaciones de incremento y decremento por 1 se denotan con "++" y "--". Estos caracteres pueden preceder o seguir a una variable. En primer caso (++x), la variable x será incrementada por 1 antes de ser utilizada en la expresión. De lo contrario, la variable se utilizará en la expresión antes de ser aumentada por 1. Lo mismo se aplica a la operación de decremento.
Microcontroladores134
![Page 135: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/135.jpg)
Operadores
OPERADORES RELACIONALES Los operadores relacionales se utilizan en
comparaciones con el propósito de comparar dos valores. En mikroC, si una expresión es evaluada como falsa (false), el operador devuelve 0, mientras que si una oración es evaluada como verdadera (true), devuelve 1.
Microcontroladores135
![Page 136: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/136.jpg)
Operadores OPERADORES LÓGICOS Hay tres tipos de operaciones lógicas en el lenguaje C: Y
(AND) lógico, O (OR) lógico y negación - NO (NOT) lógico. Los operadores lógicos devuelven verdadero (1 lógico) si la expresión evaluada es distinta de cero. En caso contrario, devuelve falso (0 lógico) si la expresión evaluada equivale a cero.
Microcontroladores136
![Page 137: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/137.jpg)
Operadores
OPERADORES DE MANEJO DE BITS A diferencia de las operaciones lógicas que se realizan
sobre los valores o expresiones, las operaciones de manejo de bits se realizan sobre los bits de un operando. Se enumeran en la siguiente tabla:
Microcontroladores137
![Page 138: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/138.jpg)
ESTRUCTURAS DE CONTROL
ESTRUCTURAS CONDICIONALES Las condiciones son ingredientes comunes de un
programa. Las condiciones permiten ejecutar una o varias sentencias dependiendo de validez de una expresión. En otras palabras, ‘Si se cumple la condición (...), se debe hacer (...). De lo contrario, si la condición no se cumple, se debe hacer (...)’. Los operandos condicionales if-else y switch se utilizan en las operaciones condicionales. Una sentencia condicional puede ser seguida por una sola sentencia o por un bloque de sentencias a ser ejecutadas.
Microcontroladores138
![Page 139: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/139.jpg)
ESTRUCTURAS DE CONTROL
OPERADOR CONDICIONAL if-else El operador if se puede utilizar solo o asociado al
operador else (if-else). Ejemplo del operador if: if(expresión) operación;
if(expresión) operación1 else operación2; Si operación1 u operación2 está compuesta,
escriba una lista de sentencias encerradas entre llaves. Por ejemplo:
if(expresión) { ... // ... // operación1 ...} // else operación2
Microcontroladores139
![Page 140: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/140.jpg)
Estructuras de control Operador Switch A diferencia de la sentencia if-else que selecciona entre dos opciones en el programa,
el operador switch permite elegir entre varias opciones. La sintaxis de la sentencia switch es:
Microcontroladores140
![Page 141: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/141.jpg)
BUCLES A menudo es necesario repetir una cierta operación un par de veces en el programa. Un conjunto de comandos que se repiten es denominado un bucle de programa. Cuántas veces se ejecutará, es decir cuánto tiempo el programa se quedará en el bucle, depende de las condiciones de salir del bucle. Bucle While El bucle while se parece a lo siguiente: while(expresión){ comandos ... }
while(1){ // En vez de "while(1)", se puede escribir "while(true)" ... // Expresiones encerradas entre llaves se ejecutarán ... // repetidamente (bucle infinito) } Microcontroladores141
![Page 142: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/142.jpg)
BUCLES Bucle For El bucle for se parece a lo siguiente: for(expresión_inicial; expresión_de_condición;
cambiar_expresión) { operaciones ... }
La ejecución de esta secuencia de programa es similar al bucle while, salvo que en este caso el proceso de especificar el valor inicial (inicialización) se realice en la declaración. La expresión_ inicial especifica la variable inicial del bucle, que más tarde se compara con la expresión_ de_condición antes de entrar al bucle
Microcontroladores142
![Page 143: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/143.jpg)
Bucles Bucle Do-while El bucle do-while se parece a lo
siguiente: do operación while (cambiar_condición);
La expresión cambiar_condición se ejecuta al final del bucle, que significa que operación se ejecuta como mínimo una vez sin reparar en que si la condición es verdadera o falsa. Si el resultado es distinto de 0 (verdadero), el procedimiento se repite.
Microcontroladores143
![Page 144: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/144.jpg)
Ejemplos de bucles
Microcontroladores144
![Page 145: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/145.jpg)
Ejemplos de bucles
Microcontroladores145
![Page 146: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/146.jpg)
Ejemplos de bucles
Microcontroladores146
![Page 147: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/147.jpg)
SENTENCIAS DE SALTO
SENTENCIA BREAK A veces es necesario detener y salir de un bucle
dentro de su cuerpo. La sentencia break se puede utilizar dentro de cualquier bucle (while, for, do while) y en las sentencias switch también. En éstas la sentencia break se utiliza para salir de las sentencias switch si la condición case es verdadera. En este ejemplo, “Esperar” está parpadeando en la pantalla LCD hasta que el programa detecte un uno lógico en el pin 0 del puerto PORTA.
Microcontroladores147
![Page 148: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/148.jpg)
Sentencias de salto
Microcontroladores148
![Page 149: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/149.jpg)
Sentencias de salto SENTENCIA CONTINUE La sentencia continue colocada dentro de un bucle se utiliza para
saltar una iteración. A diferencia de la sentencia break, el programa se queda dentro del bucle y las iteraciones continúan.
Microcontroladores149
![Page 150: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/150.jpg)
Sentencias de salto
SENTENCIA GOTO La sentencia goto le permite hacer un salto
absoluto al otro punto en el programa. Esta característica se debe utilizar con precaución ya que su ejecución puede causar un salto incondicional sin hacer caso a todos los tipos de limitaciones de anidación. El punto destino es identificado por una etiqueta, utilizada como un argumento para la sentencia goto. Una etiqueta consiste en un identificador válido seguido por un colon (:).
Microcontroladores150
![Page 151: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/151.jpg)
Sentencias de salto
Microcontroladores151
![Page 152: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/152.jpg)
FUNCIONES
Una función es una subrutina que contiene una lista de sentencias a realizar.
La idea principal es dividir un programa en varias partes utilizando estas funciones para resolver el problema inicial con más facilidad.
Una función se ejecuta cada vez que se llame dentro de otra función. En C, un programa contiene como mínimo una función, la función main(), aunque el número de funciones es normalmente mayor.
Al utilizar funciones el código se hace más corto ya que es posible llamar una función tantas veces como se necesite. En C, el código normalmente consiste en muchas funciones.
Microcontroladores152
![Page 153: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/153.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
153
Ejemplos de funciones
Definición de función de presentación de datos en DISPLAY de 7 segmentos char Binario_7seg(char digit); //función 7 segmentos
Proceso en la función: char Binario_7seg(char digit){ //Definición de la función. switch (digit) { case 0: return 0x3F; //0x3F es el código 7-segmentos del 0. case 1: return 0x06; //0x06 es el código 7-segmentos del 1. case 2: return 0x5B; case 3: return 0x4F; case 4: return 0x66; case 5: return 0x6D; case 6: return 0x7D; case 7: return 0x07; case 8: return 0x7F; case 9: return 0x67; }
![Page 154: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/154.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
154
Ejemplos de funciones Función BUTTON: elimina el efecto de rebote
(BOUNCING) que se produce al presionar un pulsador.
Instrucción: (Button(&PORTA,4,1,0)) Parámetros: &PORTA: puerto de conexión del pulsador 4: Pin del puerto 1: Tiempo de retardo en milisegundos 0: nivel lógico cuando está presionado
![Page 155: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/155.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
155
Ejemplos de funciones Función de habilitación de resistencias PULL-
UP internas del puerto B NOT_RBPU_bit=0
![Page 156: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/156.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
156
Conexión DISPLAY LCD y PIC
![Page 157: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/157.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
157
Funciones para conexión PIC - LCD
Función Descripción
Lcd_Init() Inicializa módulo LCD
Lcd_Out(fila, columna, texto) Presenta texto en posición indicada
Lcd_Out_CP(texto) Presenta texto en posición de cursor
Lcd_Chr(fila, columna, carácter) Presenta carácter en posición indicada
Lcd_Chr_CP(carácter) Presenta carácter en posición del cursor
Lcd_Cmd(comando) Envía comando al LCD
![Page 158: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/158.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
158
Funciones para comandar PIC - LCDComando LCD Descripción
_LCD_FIRST_ROW Mueve el cursor a la 1ra fila
_LCD_SECOND_ROW Mueve el cursor a la 2da fila
_LCD_CLEAR Borra la pantalla
_LCD_RETURN_HOME Retorna el cursor a su origen.
_LCD_CURSOR_OFF Apaga el cursor
_LCD_UNDERLINE_ON Enciende el cursor de subrayado
_LCD_BLINK_CURSOR_ON Enciende el cursor con parpadeo
_LCD_MOVE_CURSOR_LEFT Mueve el cursor a la izquierda sin modificar la RAM del LCD
_LCD_MOVE_CURSOR_RIGHT Mueve el cursor a la derecha sin modificar la RAM del LCD
_LCD_TURN_ON Enciende el módulo LCD
_LCD_TURN_OFF Apaga el módulo LCD
_LCD_SHIFT_LEFT Desplaza la pantalla a la izquierda sin modificar la RAM del LCD
_LCD_SHIFT_RIGHT Desplaza la pantalla a la derecha sin modificar la RAM del LCD
![Page 159: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/159.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
159
Definición de BITS para conexión LCD-PIC
sbit LCD_RS at RB4_bit; sbit LCD_EN at RB5_bit; sbit LCD_D4 at RB0_bit; sbit LCD_D5 at RB1_bit; sbit LCD_D6 at RB2_bit; sbit LCD_D7 at RB3_bit;
sbit LCD_RS_Direction at TRISB4_bit; sbit LCD_EN_Direction at TRISB5_bit; sbit LCD_D4_Direction at TRISB0_bit; sbit LCD_D5_Direction at TRISB1_bit; sbit LCD_D6_Direction at TRISB2_bit; sbit LCD_D7_Direction at TRISB3_bit;
![Page 160: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/160.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
160
Conexión LCD - PIC
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW
5R
S4
VS
S1
VD
D2
VE
E3
LCD1LM016L
RA0/AN02
RA1/AN13
RA2/AN2/VREF-/CVREF4
RA4/T0CKI/C1OUT6
RA5/AN4/SS/C2OUT7
RE0/AN5/RD8
RE1/AN6/WR9
RE2/AN7/CS10
OSC1/CLKIN13
OSC2/CLKOUT14
RC1/T1OSI/CCP216
RC2/CCP117
RC3/SCK/SCL18
RD0/PSP019
RD1/PSP120
RB7/PGD40
RB6/PGC39
RB538
RB437
RB3/PGM36
RB235
RB134
RB0/INT33
RD7/PSP730
RD6/PSP629
RD5/PSP528
RD4/PSP427
RD3/PSP322
RD2/PSP221
RC7/RX/DT26
RC6/TX/CK25
RC5/SDO24
RC4/SDI/SDA23
RA3/AN3/VREF+5
RC0/T1OSO/T1CKI15
MCLR/Vpp/THV1
U2
PIC16F877A
X14MHz
C1
22p
C2
22p
![Page 161: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/161.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
161
Ejemplo: presentación de caracteres void main(){ Lcd_Init(); //Inicializa el LCD. Lcd_Chr_Cp('S'); Lcd_Chr_Cp('E'); Lcd_Chr_Cp('M'); Lcd_Chr_Cp('I'); Lcd_Chr_Cp('N'); Lcd_Chr_Cp('A'); Lcd_Chr_Cp('R'); Lcd_Chr_Cp('I'); Lcd_Chr_Cp('O'); Lcd_Chr(2,1,'1'); //fija posición para valores Lcd_Chr(2,8,'2'); Lcd_Chr(2,15, '3'); // Lcd_Cmd(_LCD_CURSOR_OFF); //Apaga cursor while(1) { } }
![Page 162: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/162.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
162
Presentación de cadenas de texto
Char Texto1[20]= “Sistemas” void main(){ Lcd_Init();
//Inicializa el LCD. Lcd_Out_Cp(“Seminario UTSAM”); Lcd_Out(2,1,Texto1); // Lcd_Cmd(_LCD_CURSOR_OFF); //Apaga
cursor while(1) { } }
![Page 163: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/163.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
163
Presentación de valores numéricos Funciones de
conversión de valores numéricos: Librería CONVERSIONS:
conversión de valor numérico a línea de caracteres.
IntToStr(Entrada entera, Salida caracteres)
FloatToStr(entrada flotante, Salida carácteres)
![Page 164: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/164.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
164
Ejemplo de presentación de valores numéricos char Texto1[20]="Sistemas"; int Entero=123; float Decimal=3.14; void main(){ Lcd_Init(); //Inicializa el LCD. Lcd_Out(1,1,"Entero:"); IntToStr(Entero,Texto1); Lcd_Out(1,8,Texto1); FloatToStr(Decimal,Texto1); Lcd_Out(2,1,"Decimal:"); Lcd_Out(2,10,Texto1); Lcd_Cmd(_LCD_CURSOR_OFF); while(1) { } }
![Page 165: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/165.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
165
Ejemplo: contador con LCD Se presiona un pulsador conectado a RA4, lo
que provoca el incremento de un contador que se visualiza en el centro de la segunda línea, si supera el conteo de 100, se reinicia el registro contador en 0.
Uso de funciones: Declaración de variables Button Comandos para LCD
![Page 166: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/166.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
166
Contador en LCD
![Page 167: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/167.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
167
Comunicaciones con PIC Permiten establecer transporte de datos con otros
dispositivos tales como: memorias, sensores, ordenadores, e incluso otros microcontroladores. Con el fin de realizar las comunicaciones seriales, algunos microcontroladores cuentan con módulos seriales como: I²C, SPI, USART, y USB.
![Page 168: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/168.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
168
Comunicaciones Seriales I²C es ideal para la comunicación con memorias
seriales como la 24LC64, 24LC128, 24LC512, entre otras.
SPI permite establecer comunicaciones con unidades de almacenamiento masivo como las memorias SD.
USART permite hacer comunicaciones con dispositivos como sensores, módulos de transmisión y recepción XBee, ordenadores personales, módulos GPS, y otros micros.
USB que está incorporado en unos pocos micros, como el 18F2550, y el 18F4550, permite hacer la comunicación con un ordenador personal por medio de un puerto USB, definido como HID o dispositivo de interfaz humana.
![Page 169: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/169.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
169
Modulo serial I²C MikroC contiene una librería para este
protocolo denominada I2C El protocolo I²C, se caracteriza por tener una
línea de datos bidireccional y una línea de reloj con drenador abierto. Por este motivo en estos dos pines se debe usar una resistencia de pull-up, generalmente de 10KΩ. Este usa una condición de inicio, un bloque de dirección para los dispositivos en la red, un bloque de datos y una condición de fin. De igual manera usa las condiciones de repetición de inicio y un bit de reconocimiento o acknowledge denotado como ACK.
![Page 170: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/170.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
170
Funciones para I2C I2C1_Init(const unsigned long clock): inicializa los
pines de comunicación en el PIC, y ajusta la velocidad de comunicación a la velocidad que denote el parámetro clock.
unsigned short I2C1_Start(void): genera la condición de inicio y retorna 0 si no hay ningún error en la transmisión, de otro forma retorna un valor diferente de 0.
void I2C1_Repeated_Start(void): genera la repetición de inicio.
unsigned short I2C1_Is_Idle(void): se usa para identificar si el bus de datos está ocupado, y retorna 1, si el bus está disponible o retorna 0, si está ocupado.
![Page 171: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/171.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
171
Funciones para I2C unsigned short I2C1_Rd(unsigned short
ack): lee un dato del bus de datos y envía la confirmación ack por el bus. Si ack vale 1 la confirmación es positiva y si es 0 la confirmación es negativa o NO ACK.
unsigned short I2C1_Wr(unsigned short data ): está función envía el dato data por el bus y retorna 0 si la transmisión fue exitosa, o algo diferente de 0 si suceden errores.
void I2C1_Stop(void): Genera la condición de final en el bus de comunicación.
![Page 172: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/172.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
172
W/R en memoria serial 24LC00 en IC2 Escritur
a
Lectura
![Page 173: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/173.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
173
Ejemplo de protocolo IC2
![Page 174: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/174.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
174
Módulo USART Comunicación serial asíncrona Requiere un solo medio de transmisión para enviar
información, y no requiere un medio para el reloj o sincronismo; lo deben asumir independientemente cada uno de los elementos, el transmisor y el receptor.
Comunicación full-duplex, para este propósito se usan dos medios de transmisión dedicados, uno solo para transmitir y uno solo para recibir.
Velocidad de transmisión debe estar definida con el mismo valor en los dos dispositivos que se comunican, está por defecto en casi toda comunicación es de 9600 bps.
![Page 175: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/175.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
175
Trama de datos USART La comunicación síncrona cuenta con las
siguientes características: un bit de inicio o de start, que siempre es un 0 lógico, 8 o 9 bits de datos para el caso puntual de los PIC, y 1, 1.5 o 2 bits de fin o stop.
![Page 176: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/176.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
176
Protocolo RS-232 Este protocolo se conoce como RS232 Los niveles de tensión eléctrica son diferentes
al microcontrolador. El protocolo RS232, representa el valor de un 0 lógico con una tensión de +12 voltios, y el valor de un 1 lógico con -12 voltios.
Se usa un conector DB9, que tiene 9 pines.
![Page 177: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/177.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
177
PINOUT de conector DB9
![Page 178: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/178.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
178
CI MAX-232
![Page 179: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/179.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
179
Librería UART en MIKROC UART1_Init(const unsigned long baud_rate): Está
función inicializa el módulo USART, y establece la velocidad de comunicación definida en el parámetro: baud_rate.
char UART1_Data_Ready(): determina si hay un dato listo para ser leído, en el búfer de llegada del módulo, si la función retorna 1 el dato puede ser leído, de lo contrario no hay datos nuevos en el búfer.
char UART1_Tx_Idle(): establece si el búfer de transmisión se encuentra ocupado enviando un dato, para esto retorna 1 si el búfer está ocupado, o 0 si el módulo está disponible para enviar un nuevo dato.
char UART1_Read(): retorna el valor del búfer de entrada, es decir que sirve para leer un dato de entrada.
![Page 180: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/180.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
180
Librería UART en MIKROC
UART1_Read_Text(char *Output, char *Delimiter, char Attempts): lee una cadena de caracteres y la guarda en el apuntador Output, el apuntador Delimiter, es un apuntador a una cadena de caracteres que contiene el texto definido como fin de la cadena de texto de entrada, el parámetro Attempts, define la longitud de la cadena de caracteres del delimitador de fin de cadena Delimiter.
![Page 181: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/181.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
181
Librería UART en MIKROC UART1_Write(char _data): transmite el dato
_data ingresado en el parámetro de entrada, por la USART.
UART1_Write_Text(char * UART_text): Transmite una cadena de texto finalizada con el carácter nulo o 0. Está cadena de texto es entregada por medio del parámetro UART_text.
![Page 182: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/182.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
182
Ejemplo comunicación módulo UART
![Page 183: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/183.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
183
Actividad 9: aplicaciones USART Objetivo: Definir los modos de funcionamiento
de módulo UART de microcontroladores PIC, mediante configuración de parámetros de comunicación con PC para diseño de aplicaciones básicas.
Actividad: Testeo de BITS en puerto B y presentación de estado en monitor de PC.
![Page 184: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/184.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
184
Lectura de BITS y presentación en PC
T1IN11
R1OUT12
T2IN10
R2OUT9
T1OUT14
R1IN13
T2OUT7
R2IN8
C2+
4
C2-
5
C1+
1
C1-
3
VS+2
VS-6
U2
MAX232
C1
1u
C2
1u
C3
1u
C41u
C51u
+
+5V
162738495
J1
CONN-D9M
RXD
RTS
TXD
CTS
RA0/AN02
RA1/AN13
RA2/AN2/VREF-/CVREF4
RA4/T0CKI/C1OUT6
RA5/AN4/SS/C2OUT7
RE0/AN5/RD8
RE1/AN6/WR9
RE2/AN7/CS10
OSC1/CLKIN13
OSC2/CLKOUT14
RC1/T1OSI/CCP216
RC2/CCP117
RC3/SCK/SCL18
RD0/PSP019
RD1/PSP120
RB7/PGD40
RB6/PGC39
RB538
RB437
RB3/PGM36
RB235
RB134
RB0/INT33
RD7/PSP730
RD6/PSP629
RD5/PSP528
RD4/PSP427
RD3/PSP322
RD2/PSP221
RC7/RX/DT26
RC6/TX/CK25
RC5/SDO24
RC4/SDI/SDA23
RA3/AN3/VREF+5
RC0/T1OSO/T1CKI15
MCLR/Vpp/THV1
U1
PIC16F877A
OFF ON 1234
8765
DSW1
DIPSW_4
X1
C6
22p
C7
22p
![Page 185: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/185.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
185
Actividad grupal Los estudiantes diseñaran la siguiente
aplicación basada en MIKROC que responda a las siguientes necesidades de datos enviados desde la PC
Al enviar 1: activa LED1 Al enviar 2: activa LED2 Al enviar 3: activa LED1 y LED2 Al enviar 4: activa LED1 y después de 3
segundos LED2 Al enviar 0: desactiva cualquiera de los LEDS
activos
![Page 186: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/186.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
186
Módulo USB
![Page 187: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/187.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
187
Módulo USB Disponible en PIC como 18F2550 y 18F4550,
destinan pines exclusivos para esta comunicación.
La conexión USB puede entregar una alimentación de 5 voltios con una corriente máxima de 500mA, esto significa que si el desarrollo no supera este consumo, no es necesario implementar una fuente de poder externa.
Para la simulación es necesario activar puerto virtual de PROTEUS – ISIS, en la siguiente dirección: C:/labcenter Electronics/Proteus 7 Professional/USB
Drivers/installer.exe
DRIVERS válidos para sistemas operativos de 32 BITS.
![Page 188: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/188.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
188
Esquema de simulación
![Page 189: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/189.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
189
Funciones de librería USB en MIKROC
Hid_Enable(unsigned *readbuff, unsigned *writebuff); Configura el módulo USB, y establece la comunicación con la
computadora. Incluye los parámetros de entrada readbuff y writebuff, que son apuntadores a los arreglos de memoria que guardan y transmiten la información por el puerto USB.
unsigned char Hid_Read(void); Retorna la cantidad de datos listos para ser leídos del puerto
USB. unsigned short Hid_Write(unsigned *writebuff,
unsigned short len); Escribe en el puerto USB, la cantidad de bytes definidos en el
parámetro len, que están consignados en el apuntador writebuff.
void Hid_Disable(void); Deshabilita el uso del puerto USB.
![Page 190: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/190.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
190
Actividad en clase: Simulación PIC - USB Realizar actividad por estudiante establecida
en documento PDF respecto a comunicación USB entre PIC y puerto virtual.
![Page 191: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/191.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
191
Modulación por ancho de pulso (PWM)
La Modulación por Ancho de Pulso (PWM = Pulse Width Modulation) es una técnica para simular una salida analógica con una salida digital.
El control digital se usa para crear una onda cuadrada, una señal que conmuta constantemente entre encendido y apagado. Este patrón de encendido-apagado puede simular voltajes entre 0 (siempre apagado) y 5 voltios (siempre encendido) simplemente variando la proporción de tiempo entre encendido y apagado.
A la duración del tiempo de encendido (ON) se le llama Ancho de Pulso (pulse width). Para variar el valor analógico cambiamos, o modulamos, ese ancho de pulso.
![Page 192: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/192.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
192
PWM
![Page 193: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/193.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
193
PWM en PIC En este modo, el pin CCP1 produce una salida PWM de
hasta 10 bits de resolución, se tienen hasta 1024 opciones de configuración del ciclo de trabajo. Este pin tiene que configurarse como salida por medio del registro TRISB.
Se caracteriza por una base de tiempo (período) y un tiempo durante el cual la salida tiene un nivel alto (ciclo de trabajo). La frecuencia es el inverso del período.
![Page 194: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/194.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
194
PWM en PIC El período se especifica escribiendo en el registro PR2
y se puede calcular con la siguiente fórmula:
Cuando TMR2 es igual a PR2, se producen los tres siguientes eventos en el próximo ciclo de incremento: El registro TMR2 es borrado. El pin CCP1 se pone en 1 (excepto si el ciclo de trabajo es
0%). El ciclo de trabajo PWM es movido desde el registro
CCPR1L al registro CCPR1H.
![Page 195: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/195.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
195
Ciclo de trabajo PWM El ciclo de trabajo se especifica escribiendo en el registro
CCPR1L (los 8 MSbs) y en los bits CCP1CON<5:4> (los 2 LSbs). Este valor de 10 bits se representa como:
CPR1L: CCP1CON<5:4>. La siguiente fórmula permite el cálculo del ciclo de
trabajo:
En los bits CCPR1L: CCP1CON<5:4>se puede escribir en cualquier momento, pero el ciclo de trabajo no es movido hacia CCPR1H hasta que se produce una coincidencia entre TMR2 y PR2 (es decir, se completa el período). En el modo PWM, el registro CCPR1H es de solo lectura.
![Page 196: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/196.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
196
Ciclo de trabajo PWM La máxima resolución PWM (bits) para una
determinada frecuencia PWM está dada por la siguiente fórmula:
![Page 197: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/197.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
197
Funciones de mikroC para PWM PWM1_Init(frecuencia): Inicializa el módulo
PWM con un ciclo de trabajo igual a 0. La frecuencia PWM se expresa en Hz (tomar en cuenta las frecuencias permitidas de acuerdo a la frecuencia del oscilador FOSC).
PWM1_Set_Duty(ciclo de trabajo): Establece el ciclo de trabajo desde 0 hasta 255 (resolución de 8 bits). Donde 0 es 0%, 127 es 50% y 255 es 100%. Se pueden calcular otros valores del ciclo de trabajo con la fórmula (Porcentaje*255)/100.
PWM1_Start( ): Inicia la generación de la señal PWM.
PWM1_Stop( ): Detiene la generación de la señal PWM.
![Page 198: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/198.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
198
Ejemplo PWM Con una frecuencia de oscilador (FOSC) de 4MHz se tiene un
período (TOSC) de 0,25 us; si el prescaler del Timer2 tiene un valor de 1, entonces se pueden calcular los períodos mínimo y máximo
PWM y las frecuencias máxima y mínima permitidas, respectivamente. El período mínimo se obtiene cuando el registro PR2 tiene un valor de 0, por lo tanto:
TPWMmín=(0+1)x4x0,25x1=1 us Y la frecuencia máxima será: fPWMmáx=1MHz El período máximo se obtiene cuando el registro PR2 tiene
un valor de 255: TPWMmáx=(255+1)x4x0,25x1=256 us Y la frecuencia mínima será:fPWMmín=3.906Hz En el siguiente ejemplo se trabaja con una frecuencia PWM
de 5kHz.
![Page 199: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/199.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
199
Esquema PWM
RB
[4..
1]
RB
3
RB
1R
B2
RB
0
RB0RB1RB2RB3
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW
5R
S4
VS
S1
VD
D2
VE
E3
LCD1LM016L
R1
10k
6
5
4
1
2
U2
4N25
Q1IRFZ44N
D11N4007
R2
620
R3
10
12V
R491k
VELOCIDAD
12V10Amax
+5V
MOTOR
(+)
RA0/AN02
RA1/AN13
RA2/AN2/VREF-/CVREF4
RA4/T0CKI/C1OUT6
RA5/AN4/SS/C2OUT7
RE0/AN5/RD8
RE1/AN6/WR9
RE2/AN7/CS10
OSC1/CLKIN13
OSC2/CLKOUT14
RC1/T1OSI/CCP216
RC2/CCP117
RC3/SCK/SCL18
RD0/PSP019
RD1/PSP120
RB7/PGD40
RB6/PGC39
RB538
RB437
RB3/PGM36
RB235
RB134
RB0/INT33
RD7/PSP730
RD6/PSP629
RD5/PSP528
RD4/PSP427
RD3/PSP322
RD2/PSP221
RC7/RX/DT26
RC6/TX/CK25
RC5/SDO24
RC4/SDI/SDA23
RA3/AN3/VREF+5
RC0/T1OSO/T1CKI15
MCLR/Vpp/THV1
U3
PIC16F877A
![Page 200: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/200.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
200
Aplicaciones PWM: movimiento rotacional en robot móvil
Movimiento de ruedas: velocidad mediante PWM
Dirección: control diferencial
Sentido: DRIVERS, puentes H
Lógica de programación define operación de recorrido.
![Page 201: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/201.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
201
Actividad 12: Módulo ADC Objetivos
Definir las etapas de conversión analógica a digital mediante la determinación del proceso de adquisición de datos en relación a registros afectados lo que permitirá la interpretación de instrucciones en Lenguaje C para este procedimiento.
Reflexión: ¿Cómo percibe las condiciones de su entorno un
sistema microcontrolado? ¿Cómo codifica parámetros no eléctricos un
microcontrolador? Todo lo que se puede medir se puede
controlar.
![Page 202: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/202.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
202
Módulo Convertidor Analógico Digital (ADC)
![Page 203: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/203.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
203
Módulo ADC en PICs La familia de microcontroladores PIC16F87X,
disponen de un módulo de conversión Analógico/Digital que tiene cinco entradas para los dispositivos de 28 pines y ocho para los otros dispositivos de la familia.
A través de la entrada analógica se aplica la señal analógica a un condensador de captura y retención (sample and hold) que después se introduce en el convertidor. El convertidor A/D que es de aproximaciones sucesiva da como resultado una palabra de 10 bits.
Permite al microcontrolador sensar al entorno.
![Page 204: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/204.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
204
Muestreo y retención (SAMPLE & HOLD)
Tomar una muestra de la señal: Es como un interruptor electrónico cuya única función es dejar pasar la señal análoga a convertir, este paso será por un pequeño instante de tiempo, solo lo necesario para que el retenedor quede cargado al mismo nivel de voltaje de la señal de entrada.
Cuantificar y Codificar: Una vez que la señal esta lista en el retenedor, el modulo de control SAR (Successive-approximation-register), inicia el proceso de cuantificación y codificación directa.
![Page 205: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/205.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
205
Muestreo y retención (SAMPLE & HOLD)
![Page 206: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/206.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
206
Módulo ADC en PICs Tomar una muestra de una señal análoga en
un instante de tiempo, cuantificarla y darle un código digital que representa la cantidad de niveles a los cuales pertenece la muestra.
![Page 207: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/207.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
207
Valores máximos y mínimos de ADC
El módulo del convertidor A/D puede seleccionar como tensión de referencia la interna, es decir entre VDD y masa o bien una externa que se introduzca entre RA3/AN3/ VREF+ y RA2/AN2/VREF-.
La máxima tensión aplicada a la patilla VREF+ (RA3/AN3) podrá ser de VDD+0,3V y la mínima de VDD- 2,5V. En cuanto a la tensión VREF- (RA2/AN2) la mínima tensión será VSS-0,3V y la máxima VREF+ - 2V, así por ejemplo, si la tensión de alimentación es de 5V, la tensión en RA3/AN3 no podrá exceder de 5V.
Por lo que la máxima tensión en la VREF- será de 3V. Siempre se ha de cumplir que VREF+ - VREF - ≤2V.
![Page 208: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/208.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
208
Registros en ADC El módulo conversor A/D tiene asociados cuatro
registros: ADRESH : Parte alta del resultado de la conversión ADRESL : Parte baja del resultado de la conversión ADCON0: Registro de Control 0 ADCON1, Registro de Control 1
Los pines del PORTA pueden configurarse como entradas analógicas (RA, también puede ser entrada de tensión de referencia) o como E/S digital.
Los registros ADRESH: ADRESL contienen los 10 bits resultado de la conversión A/D. Cuando se completa la conversión A/D, el resultado se guarda en los registros ADRESH:ADRESL y se pone a cero el bit GO/DONE y el flag de fin de conversión ADIF (PIR1<6>) se pone a 1.
![Page 209: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/209.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
209
Proceso módulo ADC
1. Configurar el módulo conversor A/D:1. Configurar los pines que actúan como entradas
analógicas, las señales que harán de tensión de referencia la que trabajarán como E/S digitales (ADDCON1)
2. Seleccionar el canal de entrada A/D (ADCON0).3. Seleccionar la fuente de la señal de reloj para la
conversión A/D (ADCON0).4. Activar el módulo de conversión A/D (ADCON0)
2. Activar si, se desea, la interrupción del módulo conversor A/D
1. Poner a cero el bit ADIF2. Poner a uno el bit ADIE3. Poner a uno los bits habilitadores GIE y PEIE
3. Esperar el tiempo requerido para la adquisición
![Page 210: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/210.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
210
Proceso módulo ADC1. Inicio de la conversión
1. Poner a 1 el bit GO/#DONE (ADCON0)
2. Tiempo de espera para terminar la conversión A/D que puede detectarse por:
1. Exploración de bit GO/#DONE , que al finalizar la conversión toma el valor "0"
2. Esperar que se produzca una interrupción si se ha programado al finalizar la conversión.
![Page 211: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/211.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
211
Librería ADC en MIKROC unsigned int ADC_Read(unsigned short
channel); Inicializa el módulo A/D para operar con el
oscilador interno RC. Retorna un número de 10 bits como resultado
de la conversión.
![Page 212: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/212.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
212
Ejemplo: Lectura de voltaje. Se mide el
voltaje de una fuente de DC y se presenta su valor en LCD
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW
5R
S4
VS
S1
VD
D2
VE
E3
LCD1LM016L
RA0/AN02
RA1/AN13
RA2/AN2/VREF-/CVREF4
RA4/T0CKI/C1OUT6
RA5/AN4/SS/C2OUT7
RE0/AN5/RD8
RE1/AN6/WR9
RE2/AN7/CS10
OSC1/CLKIN13
OSC2/CLKOUT14
RC1/T1OSI/CCP2 16
RC2/CCP1 17
RC3/SCK/SCL 18
RD0/PSP0 19
RD1/PSP1 20
RB7/PGD 40RB6/PGC 39
RB5 38RB4 37
RB3/PGM 36RB2 35RB1 34
RB0/INT 33
RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21
RC7/RX/DT 26RC6/TX/CK 25
RC5/SDO 24RC4/SDI/SDA 23
RA3/AN3/VREF+5
RC0/T1OSO/T1CKI 15
MCLR/Vpp/THV1
U2
PIC16F877A
R1
10k
R220kBAT1
3.5V
VT(15V max)
![Page 213: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/213.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
213
Actividad 13: Interconexión con sensores
Objetivo: analizar el funcionamiento de sensores mediante la comunicación con PIC en lenguaje lo que permitirá el desarrollo de aplicaciones de control básicas
Reflexión: ¿Qué variables físicas se pueden medir? ¿Cómo se pueden medir estas variables? ¿Cómo se comunican con microcontrolador?
![Page 214: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/214.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
214
Entorno de desarrollo con sensores
![Page 215: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/215.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
215
Sensor de temperatura LM35 Es un dispositivo activo de
3 terminales que permite adquirir la temperatura ambiente en rangos de -55° a 150°
Es de fácil implementación dado que solo cuenta con dos terminales de polarización, y una salida de voltaje directamente proporcional a la temperatura.
Este sensor puede ser polarizado de 4 a 30 voltios y tiene una salida de 10m voltios por cada grado Celsius.
![Page 216: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/216.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
216
Sensor de temperatura Para realizar la lectura del voltaje de salida del
sensor se implementa en el microcontrolador el módulo ADC. La máxima salida del sensor es 1,5 voltios, cuando la temperatura es 150 grados Celsius. Por esto es importante cambiar el valor de referencia positiva del convertidor análogo digital, con el fin de mejorar la resolución de la medida de voltaje. Para el ejemplo de este capítulo se configurará el voltaje de referencia positivo del ADC, en 2,5 voltios.
![Page 217: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/217.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
217
Sensor de temperatura Cambiando la referencia
positiva a 2,5 voltios el convertidor entregará un resultado binario de 1023 cuando el voltaje a convertir es de 2,5 voltios. Para el caso de este sensor, se verá definido por las siguientes relaciones:
Donde Radc es el resultado binario de la conversión AD. De está ecuación se puede deducir que el voltaje Vadc, leído por el convertidor AD, es:
![Page 218: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/218.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
218
Sensor de temperatura Trabajando con la relación
del sensor que es: 10m voltios por cada grado Celsius, se puede plantear la siguiente ecuación:
Donde n es la temperatura en grados Celsius, que está registrando el sensor, de está ecuación se puede deducir que la temperatura n es:
Obtenemos la ecuación:
![Page 219: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/219.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
219
Simulación de sensor de temperatura
![Page 220: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/220.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
220
Actividad 14: Sensores de distancia Objetivo: Caracterizar el funcionamiento de
sensores de distancia mediante el tratamiento de algoritmos para detección de mediciones provenientes de estos sensores para su futura aplicación en medición de distancias
![Page 221: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/221.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
221
Sensores de distancia: Infrarrojos Permiten medir una longitud desde el punto
de ubicación del sensor hasta un obstáculo puesto en un punto dentro del rango de trabajo del sensor.
Con un rango de 3 centímetros a 3.3 metros, es una atracción para cualquier elemento robótico y proyectos de automatización.
Sensor GP2D12, este dispositivo usa un rayo de luz infrarroja y su reflejo para determinar la longitud.
![Page 222: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/222.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
222
Sensor Infrarrojo GP2D12 Descripción física y PINOUT
![Page 223: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/223.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
223
Sensor Infrarrojo GP2D12 Este tipo de sensores
cuentan con un comportamiento no lineal, esto quiere decir que la salida no obedece a una función de transferencia lineal.
Se realiza una interpolación con una cantidad finita de puntos conocidos de la función.
![Page 224: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/224.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
224
Sensor Infrarrojo GP2D12 Ejemplo de medición: Tenemos y es distancia,
x voltaje del sensor.
Escogemos dos puntos donde la función se aproxime a la escogida.
Resolvemos el sistema con los valores de las constantes: A = 34,76546392 B = -4,793814433
![Page 225: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/225.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
225
Sensor Infrarrojo GP2D12
Parametrizar la función:
x representa el voltaje de salida del sensor que no supera 2,5 voltios, la referencia del convertidor AD, se puede ajustar
Remplazando x por Vad:
![Page 226: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/226.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
226
Sensor Infrarrojo GP2D12
![Page 227: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/227.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
227
El Sensor Ultrasónico de Distancia
![Page 228: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/228.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
228
Sensor Ultrasónico de Distancia PING El sensor envía un breve silbido con su altavoz
ultrasónico y mide el tiempo de regreso del eco a su micrófono ultrasónico.
El PIC empieza enviándole un pulso para iniciar la medición. Luego, el sensor espera lo suficiente para que el programa del PIC inicie un comando de lectura de Pulso. Entonces, al mismo tiempo que silba un tono de 40 kHz, le envía una señal alta al PIC. Cuando detecta el eco con su micrófono ultrasónico, cambia la señal alta de regreso a señal baja.
![Page 229: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/229.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
229
Sensor Ultrasónico de Distancia PING
![Page 230: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/230.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
230
Actividad 16: Actuadores y potencia
Objetivos: Describir funcionamiento de dispositivos
de potencia, mediante conexión de componentes eléctricos de carga a microcontrolador.
Los actuadores son dispositivos eléctricos o electrónicos que permiten crear un cambio físico sobre una variable. Está pueden ser temperatura, velocidad, presión, luminosidad, humedad, posición angular o lineal, entre otras.
Los actuadores DC, son aquellos como motores, servomotores, lámparas incandescentes, solenoides, relevadores, entre otros.
![Page 231: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/231.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
231
Relevadores Son dispositivos
electromecánicos, que tienen un electroimán con el cual se cierra o se abre un circuito eléctrico por medio de uno o varios contactos.
Los relevadores son ideales para aislar los circuitos de potencia con la etapa de control electrónico.
Bajo rendimiento, dado que no pueden hacer cambios de estado veloces, y con el uso constante los contactos eléctricos se deterioran con el tiempo.
![Page 232: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/232.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
232
Uso de relevadores con uC PIC
![Page 233: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/233.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
233
Uso de relevadores con uC PIC Opto acopladores:
![Page 234: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/234.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
234
Motores DC Permiten movimiento a través de cargas
inductivas. Podemos controlar velocidad.
Velocidad mediante PWM
![Page 235: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/235.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
235
Conexión PIC a motor DC
![Page 236: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/236.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
236
Motores DC Sentido de giro:
Mediante puente H
![Page 237: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/237.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
237
Motores paso a paso Se componen de varias bobinas lo que
permite un control en el giro correspondiente al número de paso de activación
Se requiere activar un secuencia en las entradas de las bobinas.
Control desde 1,8° o menos.
![Page 238: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/238.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
238
Tipos de motores PAP
![Page 239: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/239.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
239
Secuencias en motores PAP (STEPPER)
![Page 240: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/240.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
240
Conexión PIC a motor PAP
![Page 241: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/241.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
241
Conexión PIC a motor PAP
![Page 242: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/242.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
242
Motores Servo Son sistemas integrados que tienen un control
de posición angular, y un sistema mecánico de piñones para ofrecer mayor fuerza pero menor velocidad.
Un servomotor tiene incorporado un control de posición angular, que puede ser gobernado por medio de una señal PWM, cuentan con un terminal de tres pines para la alimentación, la referencia y la señal de control PWM.
![Page 243: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/243.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
243
Conexión PIC a servomotor
![Page 244: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/244.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
244
PROGRAMACIÓN GRÁFICA DE MICROCONTROLADORES
![Page 245: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/245.jpg)
Microcontroladores: Ing. Víctor Medina G
245
Para qué sirven los diagramas de flujo
El diagrama de flujo es la representación gráfica del algoritmo o proceso.
Se utiliza en disciplinas como la programación, la economía, los procesos industriales y la psicología cognitiva.
![Page 246: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/246.jpg)
Microcontroladores: Ing. Víctor Medina G
246
Definición Es una representación gráfica
que desglosa un proceso en cualquier tipo de actividad a desarrollarse tanto en empresas industriales o de servicios y en sus departamentos, secciones u áreas de su estructura organizativa.
Se trata de una muy útil herramienta para poder entender correctamente las diferentes fases de cualquier proceso y su funcionamiento, por tanto, permite comprenderlo y estudiarlo para tratar de mejorar sus procedimientos.
![Page 247: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/247.jpg)
Microcontroladores: Ing. Víctor Medina G
247
Ventajas Ventajas de los Diagramas de Flujo
Favorecen la comprensión del proceso a través de mostrarlo como un dibujo.
Un buen diagrama de flujo remplaza varias páginas de texto.
Permiten identificar los problemas y las oportunidades de mejora del proceso.
Se identifican los pasos redundantes, los flujos de los re procesos, los conflictos de autoridad, las responsabilidades, los cuellos de botella, y los puntos de decisión.
![Page 248: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/248.jpg)
ESTRUCTURA DE PROGRAMA EN MODO GRÁFICO
Permite programar microcontroladores mediante diagramas de flujo, que se traducen en código C o ASSEMBLER
Microcontroladores: Ing. Víctor Medina G
248
![Page 249: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/249.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
249
Plan de trabajo modo gráfico
![Page 250: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/250.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
250
Plan de trabajo modo gráfico Diseño del programa fuente. Escogiendo y arrastrando los
diferentes iconos de comandos disponibles, vamos dibujando el organigrama o diagrama de flujo de nuestra aplicación. Podemos ajustar los diferentes parámetros y propiedades asociados a ellos.
Diseño del sistema. Dispone de una gran variedad de periféricos típicos como leds, interruptores, pantallas LCD, etc.
Simulación del programa. Podemos ejecutar el programa paso a paso, icono a icono, analizar los resultados obtenidos sobre los componentes del sistema, editar y/o visualizar las variables del programa o ejecutar la simulación en tiempo real.
Descargar y grabar el microcontrolador. Con un único botón podemos compilar, ensamblar y grabar el programa ejecutable obtenido sobre la memoria física del microcontrolador.
![Page 251: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/251.jpg)
Actividad 19: ENTORNO DE TRABAJO FLOWCODE
Microcontroladores: Ing. Víctor Medina G
251
![Page 252: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/252.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
252
Herramientas en FLOWCODE Herramientas de ingreso Permite ejecutar tareas relacionadas
con la adquisición de datos procedentes de los Puertos del controlador.
En el campo “Variable” indicamos en qué variable se va a guardar el valor leído desde el Puerto de entrada.
Podremos crear, editar y borrar variables de 8 bits, de 16, de cadenas ASCII o strings y variables para almacenar números en coma flotante.
La lectura de un Puerto de entrada puede hacerse a nivel de un bit único o a nivel del puerto completo.
Lectura enmascarada, es decir qué bits de ese puerto son los que nos interesa leer. En el ejemplo se leen los bits 0,2 y 3 del Puerto A.
![Page 253: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/253.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
253
Herramienta de salida Permite ejecutar operaciones
relacionadas con los Puertos de salida del controlador.
En “Mostrar Nombre” podemos añadir el comentario deseado. En el campo “Variable o Valor” introducimos directamente el valor de salida o bien el nombre de la variable que contiene el valor que deseamos sacar.
Mediante el campo “Puerto” se selecciona el puerto de salida, la escritura se puede realizar a nivel de bit único o a nivel de Puerto completo.
![Page 254: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/254.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
254
Herramienta de temporización Permite realizar todo tipo de
temporizaciones basadas en la frecuencia de trabajo del sistema que hemos seleccionado mediante las opciones del proyecto.
En el campo “Mostrar Nombre”, podemos incluir un comentario. En el campo “Tiempo de Demora o Variable” introducimos el valor a temporizar.
Este valor se puede indicar directamente, o bien indicando el nombre de la variable que lo contiene.
![Page 255: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/255.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
255
Herramienta de decisión Se trata de la clásica toma de
decisiones. Se realiza una determinada evaluación y, en función del resultado, el flujo del programa va por un camino o por otro. En el campo “En Caso de Que” se establece la condición.
Esto es equivalente a evaluar si la línea RA0 de la puerta A está a nivel lógico “1” o no. En caso afirmativo, el curso de la ejecución se desvía por la derecha. En caso contrario la ejecución continúa su curso.
Podemos activar (o no) el campo “Intercambiar Si y No”. En este caso el desvío del curso de la ejecución se produce si NO se da la condición establecida.
![Page 256: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/256.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
256
Herramienta de decisión Las condiciones pueden estar formadas por
números y/o variables y uno de los siguientes operadores: ( ) Paréntesis =, <> Igual a, diferente a. +, -, *, /, MOD Adición, sustracción, multiplicación,
división y módulo. <, <=, >, >= Menor que, menor que o igual a,
mayor que, mayor que o igual a. >>, << Desplazamiento a la derecha,
desplazamiento a la izquierda. NOT, AND, OR, XOR Funciones lógicas: NOT, AND,
OR u OR exclusiva
![Page 257: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/257.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
257
Herramientas de decisión múltiple En este caso se pueden evaluar hasta once posibles
condiciones. Resultan especialmente útiles a la hora de personalizar el programa para que reaccione de formas diferentes basándose en una variable de entrada.
En el campo “Expresión” se indica el nombre de la variable cuyo contenido se desea evaluar, “Entradas” en el ejemplo. Los campos “Caso”, cuando se activan, permiten determinar con qué valores hay que comparar el contenido de la variable “Entradas”: 1, 4, 2 o 7. Cuando coincide uno de ellos, el flujo de ejecución del programa toma un camino u otro. Si no coincide con ninguno, la ejecución sigue su curso.
![Page 258: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/258.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
258
Herramientas de decisión múltiple
![Page 259: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/259.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
259
Herramienta punto de conexión Permite establecer el punto de conexión de
destino al que debe dirigirse el flujo del programa.
En el campo “Ir a Punto de Conexión” asignamos un nombre o etiqueta del punto de destino. En el ejemplo hemos asignado la etiqueta “Bucle”.
![Page 260: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/260.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
260
Herramienta ir a punto de conexión
Esta herramienta se emplea junto con la anterior. Permite establecer el punto de conexión de destino al que debe dirigirse el flujo del programa.
En el campo “Ir a Punto de Conexión” asignamos un nombre o etiqueta del punto de destino. En el ejemplo hemos asignado la etiqueta “Bucle”
![Page 261: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/261.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
261
Herramienta punto de conexión
![Page 262: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/262.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
262
Herramienta Bucle Esta herramienta de Bucle se emplea para repetir
una tarea, bien de forma incondicional o indefinida, o bien hasta que se cumplan las condiciones indicadas. Esta herramienta siempre se muestra como dos iconos, uno de inicio y otro de final, donde se alojan los comandos de programa que forman el bucle.
![Page 263: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/263.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
263
Herramienta Bucle Los comandos encerrados dentro de un
bucle se pueden ejecutar mientras se produzca una condición (“Bucle Mientras”) o hasta que se produzca esa condición (“Bucle Hasta”).
En el momento en que se cumpla esta condición, el bucle finaliza y el flujo del programa reanuda su curso.
Las condiciones se pueden evaluar y comprobar si se cumplen, al “Principio” del bucle o al “Final” del mismo. Los comandos o instrucciones que componen un bucle también se pueden ejecutar un número determinado de veces. Para ello, activamos e indicamos en el campo “Recuento de bucle”, el número de veces deseado (entre 1 y 255).
![Page 264: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/264.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
264
Herramienta MACRO Una macro es una función o una
subrutina, que está compuesta de cualquiera de los comandos o iconos disponibles y/o también de otras macros.
En el campo “Mostrar Nombre” podemos escribir un comentario. En el campo “Macro” podemos ver una lista con todas las macros disponibles. Seleccionamos la que necesitemos en un momento dado.
Mediante el botón “Crear Nuevo Macro” accedemos a una ventana que nos permite definir una nueva Macro. Con el botón “OK&Editar Macro” podemos editar una Macro. Es decir, describir los componentes que debe ejecutar para realizar una determinada tarea.
![Page 265: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/265.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
265
Herramienta MACRO de componentes
FlowCode incluye una serie de componentes o periféricos con los que podemos construir, para su simulación, el circuito eléctrico de nuestra aplicación. Estos componentes se colocan en el “Panel de Montaje”, en donde se establecen sus propiedades y conexiones con el controlador. Cada componente tiene asociadas, según sus características, un número determinado de funciones o Macros para su control.
Cuando empleamos la herramienta “Macro de Componentes” y hacemos doble clic sobre ella, aparece una ventana de propiedades. En ella disponemos de un listado con todos los componentes que hubiera en ese momento en el panel de montaje y accedemos a todas las funciones asociadas a los mismos. En la figura, vemos que hay dos componentes: un interruptor SWITCH(0) y un led LED(0). Al seleccionar por ejemplo, el
SWITCH(0), a la derecha, en la ventana “Macro”, aparecen las funciones a él asociadas. Hay tres:
LeerEstado. Lee el estado de la línea de entrada a la que está conectado el SWITCH(0) y los deposita en la variable de retorno que se indica en el campo “Valor de Retorno(BYTE)”.
2. EsperarHastaAlto. Espera a que la línea de entrada a la que está conectado el SWITCH(0) se ponga a nivel “1”. En este momento finaliza la Macro o función, que no retorna ningún valor.
3. EsperarHastaBajo. Espera a que la línea de entrada a la que está conectado el SWITCH(0) se ponga a nivel “0”. En este momento finaliza la Macro o función, que no retorna ningún valor.
![Page 266: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/266.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
266
Herramienta MACRO de componentes
![Page 267: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/267.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
267
Herramienta de cálculo Permite insertar operaciones
lógico/aritméticas en nuestros programas. En el campo “Mostrar Nombre” podemos escribir el comentario que deseemos. En el campo “Cálculos” describimos los cálculos a realizar.
El botón “Variables” nos abre una ventana donde podemos crear, editar, borrar y seleccionar distintas variables. Con el botón “Funciones” accedemos a todas las funciones lógico/ aritméticas disponibles.
![Page 268: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/268.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
268
Herramienta secuencia La herramienta de
Manipulación de Secuencia permite manipular y operar con cadenas
de caracteres ASCII. En el campo “Funciones de”
editamos las operaciones a realizar con una o varias cadenas de caracteres.
El botón “Variables” nos permite crear, borrar, editar o usar variables de secuencia o cadenas. El botón “Funciones” nos presenta una lista con todas las funciones disponibles para el manejo de secuencias o cadenas de caracteres.
![Page 269: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/269.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
269
Herramienta interrupción FlowCode 4 también soporta la activación/desactivación de
algunas de las interrupciones más relevantes del microcontrolador seleccionado. Aunque no están disponibles todas las que tiene el controlador, si están las más representativas.
Con el botón “Propiedades” se selecciona el evento deseado para esa interrupción. Por ejemplo, en el caso de la interrupción externa INT, podemos seleccionar el flanco ascendente o descendente.
En el campo “Llamará al Macro” se indica qué Macro o función se debe ejecutar cada vez que se produzca la interrupción. Con el botón “Crear Nuevo Macro” creamos una nueva función.
Con el botón “OK & Editar Macro” editamos el contenido de la Macro. Es decir, dibujamos el organigrama de tareas que esa Macro debe ejecutar. El funcionamiento es muy similar al empleado en la herramienta de componente “Macro”.
![Page 270: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/270.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
270
Herramienta interrupción
![Page 271: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/271.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
271
Herramienta código C Puede haber casos en que el lenguaje como tal no pueda
realizar ciertas tareas. Por ello, este tipo de lenguajes siempre tienen una puerta abierta que nos permita insertar nuestro propio código fuente en C o en ensamblador, para resolver aquellas tareas que FlowCode no pueda realizar directamente. Disponemos así de la herramienta Código C.
![Page 272: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/272.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
272
Macros de Periféricos Comunes:
Led. Coloca un led en el panel de montaje.
LEDarray. Coloca una barra de hasta ocho diodos leds.
SWITCHbank. Coloca un banco de hasta ocho interruptores.
SWITCH. Interruptor sencillo.
ADC. Coloca un potenciómetro para emular una entrada analógica.
LCDDisplay. Inserta una pantalla LCD alfanumérica.
![Page 273: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/273.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
273
Macros de Periféricos Entradas:
KeyPad. Teclado matricial de hasta 4 x 4.
SWITCHbank. Coloca un banco de hasta ocho interruptores.
SWITCH. Interruptor sencillo
ADC. Coloca un potenciómetro para emular una entrada analógica.
![Page 274: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/274.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
274
Macros de Periféricos Salidas: Led7seg. Coloca el
clásico display de 7 segmentos con punto decimal.
Led. Coloca un led en el panel de montaje.
LEDarray. Coloca una barra de hasta ocho diodos leds.
GLCD. Pantalla gráfica. LCD Display. Inserta una
pantalla LCD alfanumérica.
Led7seg4. Inserta un conjunto de 4 displays de 7 segmentos conectados en paralelo.
![Page 275: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/275.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
275
Macros de Periféricos Comunicaciones: LinMaster: Uso de Macros y
funciones que implementan el protocolo Lin en modo Master para la transferencia de datos.
SPI_Legacy: Protocolo SPI para la transferencia de datos.
One_Wire: Protocolo One_Wire para la transferencia de datos.
I2C_Master. Protocolo I2C en el modo Master para la transferencia de datos.
CAN2: Protocolo CAN2. RS232: Estándar RS232 para la
transferencia de datos. Lin_Slave. Protocolo Lin en modo
Slave para la transferencia de datos. CAN: Protocolo CAN.
![Page 276: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/276.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
276
Macros de Periféricos WIRELESS
IrDA Comunicación mediante infrarrojos.
RFID. Identificación por radiofrecuencia.
Zigbee. Comunicación por radiofrecuencia según el protocolo Zigbee
Bluetooth. Comunicación por radiofrecuencia según el protocolo Bluetooth.
![Page 277: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/277.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
277
Macros de Periféricos Periféricos USBSerial: Dispositivo USB para la
comunicación serie. TCP_IP: Transferencia de datos según el
estándar TCP_IP. USBHID: Dispositivo USB como
dispositivo de interface humano (HID). MIDI: Comunicación en tiempo real
entre diferentes dispositivos como controladores musicales o instrumentos.
FAT16: Diseñado para usarse junto con tarjetas de memoria MMC/SD para configurar el sistema de localización de archivos (FAT) y empleo de los mismos.
WebServer: Podemos diseñar aplicaciones basadas en servicios de páginas web.
USBSlave: Dispositivo USB esclavo.
![Page 278: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/278.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
278
Macros de Periféricos MECHATRONICS
Stepper. Para la simulación de aplicaciones que controlan un motor paso a paso
PWM. Componente cuyas Macros o funciones podemos emplear para generar y visualizar señales
PWM moduladas en anchura. Speech. Permite el diseño
de aplicaciones con síntesis de voz.
Servo. Para la simulación de aplicaciones que controlan un servo motor
![Page 279: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/279.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
279
Consideraciones previas al diseño con microcontroladores
![Page 280: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/280.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
280
Solucionar problemas con uso de TIC´s
![Page 281: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/281.jpg)
Diseño de aplicaciones con microcontroladores
Interpretar y formular el problema Diseñar una solución Identificar los recursos para obtener la
solución. Organizarnos como equipo de trabajo Programar las tareas para llevar a
cabo la solución Ejecutar la solución Evaluar la solución Presentar la Solución
Microcontroladores281
![Page 282: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/282.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
282
Análisis Funcional - Estructural Analizar:
Descomposición mental del objeto de estudio en sus partes integrantes, con el objetivo de relevar su composición y estructura así como su descomposición en elementos más simples.
![Page 283: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/283.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
283
Análisis Funcional - Estructural Dado que los productos de la tecnología
pueden ser bienes (objetos), procesos o servicios, el análisis de productos revestirá distintas formas según sea el tipo de producto a analizar.
Un producto puede ser sujeto a diferentes tipos de análisis, como el análisis morfológico, funcional, estructural, de funcionamiento, económico, tecnológico, comparativo, relacional, del surgimiento y evolución histórica del producto.
![Page 284: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/284.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
284
Análisis Funcional - Estructural Las diversas etapas del método de análisis
surgen como respuesta a interrogantes que normalmente un observador crítico se plantearía frente a los objetos en general y a un objeto en particular. La secuenciación de las etapas no será estrictamente lineal, sino que habrá idas y vueltas. En muchos casos el proceso será recursivo y se planteará la necesidad de reconsiderar etapas ya tratadas.
![Page 285: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/285.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
285
Fases del método Fase de reconocimiento y análisis del
problema, necesidad o situación El análisis del problema se centra en plantear los
interrogantes cuyas respuestas se buscarán a lo largo del proceso de análisis. Algunos de lo interrogantes que se pueden plantear, teniendo en cuenta las características del producto (que puede ser tangible o intangible), los objetivos buscados y lo que se intenta priorizar.
Fase de síntesis Análisis del producto donde se hace una descripción más
precisa de los elementos que lo componen Fase de conclusión
Análisis de las relaciones del producto con su entorno, con la estructura sociocultural.
![Page 286: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/286.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
286
Análisis Funcional - Estructural Análisis funcional Está centrado en la función que cumple el objeto. Se llama
función a la manera en que el objeto cumple el propósito para el cual fue concebido y construido.
Debemos analizar el repertorio de funciones elementales que el objeto debe cumplir para satisfacer los requerimientos que motivaron su creación (especificaciones).
Análisis estructural Se busca reconocer la estructura del objeto (modo en que están
dispuestas las partes), confeccionar el listado de componentes, determinar la misión de cada uno y las relaciones entre ellos.
La estructura formal (relaciones descripciones vinculadas a la forma del objeto) no se obtiene de la simple captación sensorial, sino que es una construcción intelectual del observador, resultado de un análisis y de una búsqueda de las relaciones entre las partes de ese todo que es el objeto.
![Page 287: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/287.jpg)
Consideraciones previas PIC
Análisis de entradas y salidas.
Condiciones de trabajo del sistema Lugar de
emplazamiento: Interno, externo
Modos de operación: Manual, automático,
semiautomático Maniobras de operación:
Sensores, controladores y actuadores
Microcontroladores287
![Page 288: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/288.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
288
Ejemplo de evaluación a discapacitado
![Page 289: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/289.jpg)
Selección de componentes:
Inversión del sistema Arquitectura del sistema
propuesto Cableado, inalámbrico
Tecnología de componente TTL, CMOS
Selección de controlador: PIC, ATMEL, INTEL
Sensores e interfaces en entradas
Actuadores y controladores en salidas
Microcontroladores289
![Page 290: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/290.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
290
Ejemplo de selección de componentes
Se propone diseñar el modelo de estación remota de control de indicadores en una estación minera, con las siguientes condiciones:• Se medirán gases en el aire, minerales en fuentes de agua y
temperatura en los trayectos de mina• Los datos serán almacenados en una micro SD• Todos los días a la misma hora en medianoche, los datos son
enviados vía red GSM a un servidor central en Guayaquil con BACKUP en QUITO.
• Estos datos se almacenan en documento de texto para ser revisados por el supervisor regional al día siguiente.
• La plataforma de servicio debe ser OPEN SOURCE
Se armarán grupos de 3 estudiantes para proponer el modelo de la estación remota.Tendrán el siguiente puntaje• 3 puntos, al definir los sensores que se van a utilizar• 3 puntos si definen el sistema de subida de datos y
especificaciones del servidor central y BACKUP• 4 puntos si definen la plataforma de servicio y SOFTWARE
de tratamiento de datos
![Page 291: ARQUITECTURA SIST MICRO_REV2.pptx](https://reader034.fdocumento.com/reader034/viewer/2022052311/557212c5497959fc0b90e6c1/html5/thumbnails/291.jpg)
13/04/2023Arquitectura de Sistemas Microprocesados
291
Aplicaciones GSM - PIC