Microcontroladores y sistemas embebidos
Unidad 1: Arquitectura de Computadoras
Ing. Oscar Alonso Rosete Beas
Semana 23 Enero Rev:4 ciclo 2023-1
oscarrosete.com
Agenda
1.1. Introducción a los sistemas embebidos
1.2. Conceptos básicos de arquitectura de computadoras
1.3. Procesador.
1.4. Memoria.
1.5. Periféricos de entrada Salida.
1.6. Arquitectura de microcontroladores.
Unidad 1: Arquitectura de Computadoras
oscarrosete.com
Unidad 1
oscarrosete.com
Introducción a la materia
Horas de Clase Asistidas: 64 (4/semana)
Horas de laboratorio: 32 (2/semana)
Horas de Clase Independientes: 32 (2/semana)
Duración Total: 128 horas
Horario:
Lunes 17:00-19:00 Miércoles 19:00-21:00 Viernes 19:00-21:00 (Lab)
DATOS DEL DOCENTE
Nombre: Oscar Alonso Rosete Beas
E-mail: oscar.rosete@cetys.mx
oscarrosete.com
PROPÓSITO DEL CURSO
Este curso tiene como propósito que el alumno pueda adquirir y poner en práctica sus conocimientos acerca del diseño de controladores basados en microcontroladores y sistemas embebidos.
Durante el curso se estudiará:
-
Arquitectura de computadoras
-
Sistema de memoria, puertos de entrada y salida
-
Programación de microcontroladores en lenguaje ensamblador y C
-
Interconexión con sensores y periféricos
oscarrosete.com
Las actividades que se realicen dentro del aula serán dirigidas por el profesor y otras serán de carácter independiente para ser realizadas por los alumnos fuera del aula.
Las formas genéricas de actividades de aprendizaje que serán realizadas por los alumnos son:
- Trabajo colaborativo dentro del aula para analizar y debatir sobre los contenidos y bajo la dirección del profesor.
- Exposición de contenidos por parte del profesor y alumnos
- Aprendizaje basado en proyectos de aplicación por equipos o individuales.
oscarrosete.com
Introducción a la materia
EVIDENCIAS DE DESEMPEÑO
- Reportes de análisis y resolución de casos de estudio y ejercicios de aplicación.
-
Reportes de lectura y reportes de investigación.
-
Prácticas de Laboratorio (*).
-
Elaboración de prototipos/ simulaciones.
-
Presentaciones en clase.
-
Exámenes teóricos/prácticos a lo largo del curso.
-
Proyecto final integrador en donde se apliquen las herramientas vistas durante el curso.
oscarrosete.com
Contenido temático
1.1. Introducción a los sistemas embebidos
1.2.Conceptos básicos de arquitectura de computadoras
1.3. Procesador
1.4. Memoria
1.5. Periféricos de entrada Salida
1.6. Arquitectura de microcontroladores
Unidad I: Arquitectura de computadoras
oscarrosete.com
-
2.1. Introducción a los lenguajes de programación en microcontroladores
-
2.2. Arquitectura y lenguaje de programación Ensamblador
-
2.3. Modos de direccionamiento
-
2.4. Memoria RAM
-
2.5. Lenguaje C
Unidad 2: Programación
oscarrosete.com
Contenido temático
3.1. Puertos paralelo de Entrada/Salida
3.2. Manejo de Temporización básica y contadores
3.3. Interrupciones
3.4. Puertos Seriales
3.5. Convertidores A-D y D-A
Unidad 3: Recursos de los microcontroladores
oscarrosete.com
Contenido temático
4.1. Tecnologías de Memoria
4.2. Organización de Memoria
4.3. Sistemas de Memoria
4.4. Manejo de memoria externa en un microcontrolador
Unidad 4: Memoria
Unidad 5: Aplicaciones
5.1. Interfaces Hombre-Máquina
5.2. Interfaces con Sensores y Actuadores
5.3. Aplicaciones en Automatización y Robótica
oscarrosete.com
Contenido temático
POLÍTICAS ENTREGAS
- Existe tolerancia de 5 minutos de llegada tardía, a partir de los cuales se tomará asistencia.
- Las fechas de entrega y presentación para exámenes parciales, tareas, exposiciones, prácticas y trabajo final son Inamovibles.
- No se aceptarán entregas de exámenes fuera de la fecha y hora establecida y la calificación de una falta de entrega o entrega extemporánea es cero.
oscarrosete.com
- Se aceptarán entregas de tareas/prácticas fuera de las fechas y horas establecidas (calificación de falta de entrega es cero).
- Penalización 10%/ día en tareas
- Penalización 10%/ semana en práctica.
- Todas las entregas deberán realizarse por medio definido en clase, de acuerdo a las indicaciones dadas (blackboard y pdf generalmente).
POLÍTICAS ENTREGAS
oscarrosete.com
POLÍTICAS MATERIAL
- El material para trabajar en clase, descripción de tareas y temas para exposición, así como cualquier material de apoyo estará disponible a través del Blackboard o el sitio web y este será actualizado periódicamente.
- Es responsabilidad de cada estudiante traer a la sesión de clase el material que indique el maestro, incluyendo exposiciones y tareas.
oscarrosete.com
POLÍTICAS PRESENTACIONES
- Preparar una presentación formal e interactiva que presente al grupo el tema correspondiente (Prezi, PowerPoint, Google Slides, otro).
- Preparar un reporte escrito de los puntos más relevantes de la presentación, así como las referencias consultadas.
- Subir en la actividad correspondiente en Blackboard la presentación y el reporte escrito.
- Es necesario estar presente en las actividades de exposición, de lo contrario la calificación para la exposición es cero.
oscarrosete.com
Introducción a la materia
Bibliografía
Wilmhurst, T. (2009). Designing Embedded Systems with PIC microcontrollers. Principles and Applications. Burlington, MA, USA: Newnes
Williams Elliot. (2014). AVR Programming. Learning to Write Software for Hardware. San Francisco, CA, USA. Maker Media Inc.
oscarrosete.com
Software:
Arduino IDE 1.8.8, Proteus 8 Professional, Multisim 14.0, MPLAB X IDE v5.10, Atmel Studio 7
Herramientas digitales:
Blackboard, Google suite, recursos microsoft, portafolio electronico, bases de datos.
oscarrosete.com
Introducción a la materia
Concepto | Descripción | Ponderación |
---|---|---|
Formación: Actitudes y valores | Actitud en actividades individuales y en equipo relacionadas a la clase | 10% |
Tareas | Resolución de ejemplos típicos, solución de problemas en tareas individuales y en equipo. | 15% |
Exposiciones grupales | Exposiciones de acuerdo a temáticas asignadas. | 10% |
Pruebas objetivas (2) | Pruebas objetivas en forma de exámenes parciales y/o finales | 15% |
Prácticas de laboratorio | Desarrollo exitoso y elaboración de repórte de práctica de laboratorio | 25% |
Proyecto Final | Desarrollo y presentaciones profesionales de los proyectos | 25% |
oscarrosete.com
Introducción a la materia
Información de referencia
Profesor:
Ing. Oscar Alonso Rosete Beas
E-Mail:
oscar.rosete@cetys.mx
Pagina de facebook:
https://www.facebook.com/oscararosete
Sitio web:
https://oscarrosete.com/
oscarrosete.com
Contacto preferente para dudas
Asesorías: WhatsApp 686 264 5073
oscarrosete.com
Proyecto final:
Desarrollar un proyecto de innovación a nivel experimental de tecnología utilizando microcontroladores y sistemas embebidos, donde el alumno proponga la solución de un problema planteado mediante el desarrollo de un proceso para la implementación de la solución y la realización de pruebas de factibilidad y utilidad de un sistema.
oscarrosete.com
Introducción a la materia
Learning Path
Ensamblador
Software: MPLAB, Multisim , Proteus,
C
Software: MPLAB, Multisim , Proteus,
Ensamblador y C
Software: ATmega328p,
Tinkercad
Lenguaje Arduino
oscarrosete.com
Introducción a la materia
Componentes básicos
oscarrosete.com
Introducción a la materia
Componentes básicos
oscarrosete.com
Introducción a la materia
- Formación de equipos para presentaciones y proyectos (3-4 integrantes)
- Registro en grupo de Facebook
oscarrosete.com
1.1. Introducción a los sistemas embebidos
1.2. Conceptos básicos de arquitectura de computadoras
1.3. Procesador
1.4. Memoria
1.5. Periféricos de entrada Salida
1.6. Arquitectura de microcontroladores
Unidad I: Arquitectura de computadoras
oscarrosete.com
Agenda
- Ingeniería
- Sistemas de numeración
- Conversiones entre sistemas
- Código ASCII
Unidad I: Arquitectura de computadoras
oscarrosete.com
Agenda
Introducción a la materia
oscarrosete.com
Sistema de numeración decimal, compuesto de 10 dígitos (0, 1, 2, 3, 4, 5, 6, 7, 8 y 9)
528= (5*10^2) + (2*10^1) + (8*10^0)= 500+20+8
Sistema de numeración binario, compuesto de 2 dígitos (0, 1) los cuales son comúnmente denominados bits. Ejemplo 1101012
Unidad I: Arquitectura de computadoras
oscarrosete.com
Sistema de numeración binario
Es utilizado en las computadoras debido al hecho de que dos niveles de voltaje pueden ser representados como los dígitos 0 y 1.
Un sistema puede definir:
0 v como 0 lógico
+5v como 1 lógico
*con su debida tolerancia a variaciones en voltaje.
Unidad I: Arquitectura de computadoras
oscarrosete.com
Conversión binario a decimal
Unidad I: Arquitectura de computadoras
oscarrosete.com
Realizar divisiones sucesivas por 2 y escribir los restos obtenidos en cada división en orden inverso al que han sido obtenidos.
Conversión decimal a binario
Unidad I: Arquitectura de computadoras
oscarrosete.com
Utilizada como una representación conveniente de los números binarios. Compuesto de 10 dígitos y 6 letras.
1000 1001 0110=896H
Sistema de numeración hexadecimal
Unidad I: Arquitectura de computadoras
oscarrosete.com
Conversión binario a hexadecimal: separar en bloques de 4 bits y reemplazar por su equivalente en hexadecimal.
Conversión hexadecimal a binario: Intercambiar cada dígito hexadecimal por su equivalente de 4 bits
Unidad I: Arquitectura de computadoras
oscarrosete.com
Conversión decimal a hexadecimal:
Convertir a binario y posteriormente a hexadecimal
Conversión hexadecimal a decimal:
Convertir a binario y posteriormente a decimal
Unidad I: Arquitectura de computadoras
oscarrosete.com
En cada una de las bases cuando se adiciona uno al dígito más alto (9, 1 y F), el dígito se convierte en 0 con un carry en la siguiente posición.
-
1-->10 (binario)
-
9-->10 (decimal)
-
F-->10 (hexadecimal)
Suma de números binarios:
Relevante porque las computadoras tienen circuitos sumadores
Unidad I: Arquitectura de computadoras
oscarrosete.com
Suma de números hexadecimal:
Se agregan los dígitos como en la suma decimal, si el resultado es menor de 16 el dígito se asigna al resultado en la posición indicada, si es mayor de 16 al resultado de la operación se le resta 16 y se mantiene en la posición indicada con un acarreo de 1.
Unidad I: Arquitectura de computadoras
oscarrosete.com
Al requerirse representar toda la información en las computadoras por medio de 0s y 1s, se definieron patrones binarios para las letras y otros caracteres.
En 1960 una representación estándar denominada ASCII fue establecida para los números de 0 a 9, las letras del alfabeto en minúsculas y mayúsculas, así como signos de puntuación.
Unidad I: Arquitectura de computadoras
oscarrosete.com
El sistema ASCII utiliza 7 bits para representar cada “código”, ej. 100 0001 es la letra “A” y 110 0001=“a”. A menudo se agrega un 0 para utilizar paquetes de 8 bits(0100 001=”A”)
Unidad I: Arquitectura de computadoras
oscarrosete.com
Unidad I: Arquitectura de computadoras
oscarrosete.com
Actividad en clase
-
Convertir 7710 a binario y a hexadecimal
-
Convertir 1101012 a hexadecimal y a decimal
-
Realiza la adición binaria: 101100+101
Bonus:
-
Sumar 36BH+F6H
-
Investigar proceso para restar hexadecimal y realizar la operación 36BH-F6H
-
Escribir “Hola Mundo” en código ASCII(hexadecimal)
oscarrosete.com
1.1. Introducción a los sistemas embebidos
1.2. Conceptos básicos de arquitectura de computadoras
1.3. Procesador
1.4. Memoria
1.5. Periféricos de entrada Salida
1.6. Arquitectura de microcontroladores
Unidad I: Arquitectura de computadoras
oscarrosete.com
Agenda
Unidad I: Arquitectura de computadoras
oscarrosete.com
Agenda
Equipos
Equipo 1: Jesus Melendrez, Miguel Borquez, Bryan Angulo, Martin Corral
Equipo 2: Citlali Capiz, Dahel Corona, Euric Fukuy, Jared Cebreros
Equipo 3: Emmanuel Agundez, Hector de Dios, Bernardo Hernandez, Luis Arturo Montalvo
Equipo 4: Andrea Corral, Beatriz Velez, Paulina Hernández, Sofía Soto
oscarrosete.com
1.1 Introducción a los sistemas embebidos
Los componentes electrónicos se encuentran presentes en la mayoría de los sistemas, la mayoría utiliza microcontroladores.
oscarrosete.com
¿Qué tecnologías tendrán un rol importante en el futuro?
1.1 Introducción a los sistemas embebidos
oscarrosete.com
Sistema cyber-físico:
Conexión del mundo digital y el físico
Industria 4.0:
Recopilación de información de procesos de producción
1.1 Introducción a los sistemas embebidos
oscarrosete.com
Sistema cyber-físico:
Conexión del mundo digital y el físico
Industria 4.0:
Recopilación de información de procesos de producción
1.1 Introducción a los sistemas embebidos
oscarrosete.com
Embedded systems:
“Information processing systems embedded into a larger product”
-ETH Zurich EE281
No es la principal razón de compra, es valor agregado.
Información: conjunto organizado de datos
1.1 Introducción a los sistemas embebidos
oscarrosete.com
Networked embedded computing systems/IoT:
Computing systems embedded within things/gadgets connected to the network.
Stanford EE281
1.1 Introducción a los sistemas embebidos
oscarrosete.com
1.1 Introducción a los sistemas embebidos
oscarrosete.com
1.2.Conceptos básicos de arquitectura de computadoras
Programar en cualquier lenguaje de su preferencia un convertidor de sistemas de numeración.
El usuario deberá poder:
- Seleccionar la base del numero entregado
- Introducir el numero
- Seleccionar la base del numero convertido
- Obtener el numero en la base deseada.
Ejemplo:
"Me gustaría convertir el (1101) base 2 a hexadecimal"
oscarrosete.com
oscarrosete.com
1.2.Conceptos básicos de arquitectura de computadoras
¿Qué es una computadora?
Las computadoras se encuentran en todo lugar, celulares, carros, relojes, pulseras y mochilas entre otros lugares.
-Stanford EE108
oscarrosete.com
1.2.Conceptos básicos de arquitectura de computadoras
¿Cómo funcionan las computadoras?
Solo funcionan con señales binarias
-
Tiene valor de 0 o 1 lógico, llamado bit.
-
Las letras, números, cadenas e imágenes deben ser construidas de múltiples bits.
-
Las cadenas de bits que le indican al hardware que hacer (instrucciones) y una secuencia de instrucciones se denomina programa en código máquina.
1.2.Conceptos básicos de arquitectura de computadoras
oscarrosete.com
¿Cómo funcionan las computadoras?
Construidas a partir de compuertas lógicas (lógica booleana)
Cuentan con celdas de memoria para preservar bits a lo largo del tiempo (Flip-flops, registers, SRAM cells, DRAM cells)
oscarrosete.com
1.2.Conceptos básicos de arquitectura de computadoras
Terminología básica
Tamaño
Un bit es un dígito binario, un byte son 8 bits, un nibble medio byte, word son 2 bytes o 16 bits.
Un kilobyte es 2^10 bytes o 1024 bytes, un megabyte 2^20 bytes o 1,048,576 bytes, gigabyte 2^30 bytes, terabyte 2^40 bytes.
oscarrosete.com
Terminología básica
-
Software: Conjunto de programas necesarios para hacer posible la realización de una tarea específica. Programas + datos +documentación
-
Programa: Secuencia de sentencias
-
Sentencia o instrucción: Específica ciertas operaciones que debe ejecutar una computadora.
-
Lenguaje de programación: Notación que permite escribir programas.
-
Sintaxis: Reglas gramaticales
-Facultad de ingeniería , universidad de los Andes
oscarrosete.com
1.2.Conceptos básicos de arquitectura de computadoras
Programar en cualquier lenguaje de su preferencia un convertidor de sistemas de numeración.
El usuario deberá poder:
- Seleccionar la base del numero entregado
- Introducir el numero
- Seleccionar la base del numero convertido
- Obtener el numero en la base deseada.
Ejemplo:
"Me gustaría convertir el (1101) base 2 a hexadecimal"
oscarrosete.com
oscarrosete.com
Agenda
1.1. Introducción a los sistemas embebidos
1.2. Conceptos básicos de arquitectura de computadoras
1.3. Procesador
1.4. Memoria
1.5. Periféricos de entrada Salida
1.6. Arquitectura de microcontroladores
Unidad I: Arquitectura de computadoras
Arquitectura von neumann
Generalmente tienen:
- Memoria caché
- Bus del Sistema
- Controlador de memoria
- Bus de I/O
Cada sistema es distinto, pero tienen elementos similares
Debe de tener:
-
Procesador, memoria
-
Interacción con medio externo (I/O)
Arquitectura Harvard vs Von Neumann (Programa almacenado)
oscarrosete.com
La arquitectura Harvard utiliza una memoria separada para datos y para el programa con direcciones y buses independientes. Von Neumann utiliza la misma memoria.
- Microchip PIC family uses Harvard architecture
- Motorolla 68HC11 uses Von Neumann (Princeton)
Harvard
Von Neumann/Princeton
oscarrosete.com
Arquitectura Harvard vs Von Neumann (Programa almacenado)
1.3 Procesador
Procesador
Es el componente más importante de una computadora, ya que todo lo demás se encuentra centrado en el. En esencia, el procesador es la sección que hace el cómputo.
oscarrosete.com
Procesador
Es un dispositivo capaz de manipular información de acuerdo a una secuencia de instrucciones. Estas instrucciones se denomina código máquina, las cuales pueden ser modificadas para adecuarse a la aplicación (son programables), una secuencia de instrucciones se denomina programa.
oscarrosete.com
1.3 Procesador
Microprocesador
Un microprocesador incorpora las funciones de una unidad de procesamiento central (CPU/ procesador) en un circuito integrado.
Con excepción de las “supercomputadoras”, casi la totalidad de los procesadores modernos son microprocesadores, por lo que los términos son utilizados de manera intercambiable.
oscarrosete.com
1.3 Procesador
Microprocesador
De manera análoga a una caja musical (se hace una secuencia de giros y se produce música) en un microprocesador se le envía una serie de patrones de bits y estas activan o desactivan partes del núcleo de procesamiento (puede ejecutar adiciones, guardar un byte en memoria). Cada procesador tiene una serie de instrucciones específico.
oscarrosete.com
1.3 Procesador
Microprocesador
Microprocesadores utilizados en la actualidad son las series Intel, Amd, Freescale/IBM PowerPC, MIPS, ARM y SPARC entre otros.
También se les llaman CPU (Central Processing Units).
oscarrosete.com
1.3 Procesador
Elementos que componen un microprocesador
Puede existir confusión ya que a los procesadores se les denomina CPU.
La CPU es responsable de ejecutar el ciclo de obtención, decodificación y ejecución de instrucciones. (comúnmente denominado three-stage pipeline)
1.3 Procesador
oscarrosete.com
1.3 Procesador
oscarrosete.com
Pueden diferir ampliamente en sus diseños, sin embargo de acuerdo al modelo Von Neumann, el ciclo se implementa a través de la combinación de los siguientes 4 componentes:
- Buses internos de CPU: interconecta ALU, registros y CU.
- ALU (unidad aritmético lógica): Implementa las operaciones ISA.
- Registros: un tipo de memoria rápida
- CU (unidad de control): administra el ciclo de obtención y ejecución.
1.3 Procesador
oscarrosete.com
Buses internos de cpu
Un bus es un grupo físico de líneas de señal que tiene relacionada una función. Buses permiten la transferencia de señales eléctricas entre distintas partes.
-John Catsoulis-Designing Embedded Hardware(2005, O'Reilly Media)
Los buses internos de un CPU son mecanismos que interconectan sus componentes internos (ALU, CU y registros).
-Tammy Noergaard (Eds.) - Embedded Systems Architecture. A Comprehensive Guide for Engineers and Programmers (2013, Newnes)
1.3 Procesador
oscarrosete.com
Ancho de bus
El ancho de bus es el número de líneas de señal dedicadas para transferencia de información. Un bus de 8 bits transfiere 8 bits de datos en paralelo.
Buses internos de cpu
La mayoría de los microprocesadores disponibles hoy utilizan la arquitectura de sistema denominada three-bus. Estos tres buses son bus de direcciones, bus de información y bus de control.
John Catsoulis-Designing Embedded Hardware(2005, O'Reilly Media)
1.3 Procesador
oscarrosete.com
Bus de información
Transportan información bidireccionalmente, entre registros y ALU.
Bus de direcciones
Transporta la ubicación de los registros que contienen información que debe ser transferida.
Bus de control
Transporta información de señales de control, tales como temporizador y señales de control entre registros, ALU y CU.
1.3 Procesador
oscarrosete.com
ALU
Implementa operaciones de comparación, logica y operaciones matemáticas definidas por ISA.
ISA Architecture Models
Modelo abstracto de una computadora o arquitectura del conjunto de instrucciones es el repertorio de instrucciones que puede entender y ejecutar la unidad de control de una determinada CPU.
En cuanto a la complejidad se clasifica en CISC O RISC.
1.3 Procesador
oscarrosete.com
ISA Architecture Models
La ISA define las operaciones que pueden utilizar los programadores para crear programas para la arquitectura especifica, los operandos (datos) que son aceptados, almacenamiento, modos de acceso a memoria y manejo de interrupciones.
-Tammy Noergaard (Eds.) - Embedded Systems Architecture. A Comprehensive Guide for Engineers and Programmers (2013, Newnes)
1.3 Procesador
oscarrosete.com
Como ingenieros.....creamos
Describir en equipos de laboratorio aplicaciones de un microcontrolador o sistema embebido en:
-
Industria (1 documentada, 1 propuesta por el equipo)
-
Casa habitación/sociedad en general (1 documentada, 1 propuesta por el equipo)
oscarrosete.com
1.2.Conceptos básicos de arquitectura de computadoras
oscarrosete.com
1.2.Conceptos básicos de arquitectura de computadoras
Como ingenieros.....creamos
En una presentación deberá describir la problemática a resolver, con que dispositivos sera resuelto, clasificar el dispositivo central como microcontrolador o sistema embebido y justificar la selección de su dispositivo.
La extensión mínima será de 2 diapositivas por aplicación.
Nota: Toda actividad debe subirse a blackboard en un solo archivo cuya portada contenga el nombre completo y matricula de los integrantes del equipo.
oscarrosete.com
1.2.Conceptos básicos de arquitectura de computadoras
Equipos
Equipo 1: Jesus Melendrez, Miguel Borquez, Bryan Angulo, Martin Corral
Equipo 2: Citlali Capiz, Dahel Corona, Euric Fukuy, Jared Cebreros
Equipo 3: Emmanuel Agundez, Hector de Dios, Bernardo Hernandez, Luis Arturo Montalvo
Equipo 4: Andrea Corral, Beatriz Velez, Paulina Hernández, Sofía Soto
Equipo 5: Jeremi Araujo, Hugo Treviño, Ian Marroquin, Jorge Ibarra y Daniel Suarez
oscarrosete.com
ALU (Arithmetic Logic Unit)
Es un circuito lógico combinatorio que puede tener una o más entradas y solamente una salida. La salida del ALU es dependiente de las entradas aplicadas en ese instante, y no de condiciones pasadas. Conformado por compuertas lógicas, medio sumador y como bloque de construcción más básico sumador completo.
-Tammy Noergaard (Eds.) - Embedded Systems Architecture. A Comprehensive Guide for Engineers and Programmers (2013, Newnes)
1.3 Procesador
oscarrosete.com
Circuitos lógicos combinatorios
Cuando compuertas lógicas se conectan para producir una salida específica para cierta combinación de variables de entrada, sin almacenamiento de información, el circuito resultante es combinatorio. Las variables de salida son dependientes en todo momento de la combinación de variables de entrada.
-Digital Logic Circuits. A.P.Godse, D.A.Godse
1.3 Procesador
oscarrosete.com
ALU son multifunción
Provee operaciones de adición, así como otras operaciones lógicas y matemáticas, diseñado a partir de la circuiteria sumadora y circuiteria adicional incorporada para realizar sustracciones (complemento a dos), AND lógico, OR lógico, entre otras.
1.3 Procesador
oscarrosete.com
ALU son multifunción
La ubicación donde es guardado a la información obtenida por el ALU varía dependiendo de la arquitectura.
En la PowerPC se guarda en un registro denominado acumulador.
También pueden ser guardados en memoria (una stack u otro lugar) o una combinación híbrida de estas ubicaciones.
1.3 Procesador
oscarrosete.com
Las 8 operaciones básicas ALU
- Suma
- Suma con acarreo
- Resta
- Resta con prestamo
- Negación
- Incremento
- Decremento
- Traspaso de bits (Pass through)
-Sistemas digitales: principios y aplicaciones. Ronald J. Tocci, Neal S. Widmer
1.3 Procesador
oscarrosete.com
a) En base al siguiente video, la información vista en clase describir que es un ALU y una investigación de bases de datos confiables
b) Realizar mapa conceptual del ALU.
Actividad Individual
oscarrosete.com
Actividad en equipos
Trabajaremos con el ALU 74LS181N existente en multisim.
El alumno deberá investigar y armar un circuito en el simulador que logre realizar y desplegar en un display de 7 segmentos el resultado de las siguientes funciones lógicas:
1.Suma lógica A+B
2.Producto lógico A*B
3. A XOR B
Comprobar con A=1001 y B=0011.
Resultados: 1.-1011 2.-0001 3.-1010
Siendo A y B números de 4 bits.
oscarrosete.com
oscarrosete.com
Agenda
1.1. Introducción a los sistemas embebidos
1.2. Conceptos básicos de arquitectura de computadoras
1.3. Procesador
1.4. Memoria
1.5. Periféricos de entrada Salida
1.6. Arquitectura de microcontroladores
Unidad I: Arquitectura de computadoras
Automatización y monitoreo remoto proceso industrial
10 equipos interconectados en una red ethernet industrial y comunicados a computador central por medio de sistemas embebidos
Aplicaciones
oscarrosete.com
Aplicaciones
Automatización y monitoreo remoto proceso industrial
10 equipos interconectados en una red ethernet industrial y comunicados a computador central por medio de sistemas embebidos
oscarrosete.com
Desarrollo de fresadora CNC con placa de desarrollo Arduino y Dremel 3000.
Aplicaciones
oscarrosete.com
Memoria en la computadora
La memoria de una computadora se puede dividir en tres grupos:
-
Memoria primaria o principal
-
Memoria secundaria
-
Memoria del microprocesador
oscarrosete.com
1.4. Memoria
Memoria Principal
Es la memoria de la computadora donde se almacenan temporalmente tanto los datos como los programas que la unidad central de procesamiento (CPU) está procesando o va a procesar en un determinado momento.
Memoria Secundaria
Dispositivos de almacenamiento capaces de almacenar datos de gran volumen, tambien llamados medios de almacenamiento.
1.4. Memoria
oscarrosete.com
La memoria del microprocesador se refiere a sus registros internos, funcionan a velocidad del CPU pero solo se tiene un número limitado de ellos. Es una parte integral de un sistema microprocesador y su función es contener las instrucciones y los datos.
1.4. Memoria
oscarrosete.com
Registros
Son una combinación de varios flip-flops que pueden utilizarse para guardar información temporalmente o retrasar señales.
Un registro de almacenamiento es una forma de memoria de procesador interno usualmente utilizada para temporalmente guardar, copiar y modificar operandos que están inmediatamente y frecuentemente utilizado por el sistema. Shift registers retrasan señales al pasar las señales a través de varios flip-flops internos con cada pulso de reloj.
oscarrosete.com
1.4. Memoria
Registros
Los registros están construidos de un grupo de flip-flops que pueden ser activados en grupo o individualmente, en realidad el número de flip-flops utilizados en cada registro describe el procesador, procesador de 32 bits cuenta con 32 flip-flops (circuito secuencial) en sus registros de trabajo.
oscarrosete.com
1.4. Memoria
Circuito secuencial
También denominado máquina de estados finitos, tiene un número finito de estados en los cuales se recuerda cierta información dependiendo del estado en particular que nos encontremos.
Ej. Máquina expendedora.
oscarrosete.com
1.4. Memoria
Ejemplo registro 8 bits con 8 flip-flops de tipo D
Tammy Noergaard (Eds.) - Embedded Systems Architecture. A Comprehensive Guide for Engineers and Programmers (2013, Newnes)
oscarrosete.com
1.4. Memoria
Registros
En resumen los registros tienen un flip-flop por cada bit que es manipulado o almacenado en un registro.
oscarrosete.com
1.4. Memoria
Registros
Aunque los diseños ISA no utilizan los registros de la misma manera para procesar información, el almacenamiento se clasifica en dos categorías:
-
Registros de propósito general: utilizados para almacenar y manipular cualquier tipo de información determinado por el programador.
-
Registros de propósito especial: solo pueden ser utilizados de una manera especificada por ISA, incluyendo guardar los resultados de tipos específicos de cálculos, banderas, contadores, puertos I/O y registros de corrimiento.
oscarrosete.com
1.4. Memoria
oscarrosete.com
1.4. Memoria
Realizar mapa mental o cuadro sinoptico de los registros y RAM
oscarrosete.com
1.4. Memoria
oscarrosete.com
Agenda
1.1. Introducción a los sistemas embebidos
1.2. Conceptos básicos de arquitectura de computadoras
1.3. Procesador
1.4. Memoria
1.5. Periféricos de entrada Salida
1.6. Arquitectura de microcontroladores
Unidad I: Arquitectura de computadoras
CU
El CU es responsable de generar las señales de temporizado, así como controlar y coordinar la obtención, decodificación y ejecución de instrucciones en el procesador.
Tras la obtención de instrucciones de memoria y decodificación, la CU determina la operación que debe desempeñar el ALU, selecciona y escribe señales apropiadas para cada unidad funcional dentro y fuera del procesador (memoria,registros,ALU).
-Tammy Noergaard (Eds.) - Embedded Systems Architecture. A Comprehensive Guide for Engineers and Programmers (2013, Newnes).pdf
oscarrosete.com
1.4. Memoria
CU
La unidad de control se realiza por medio de una de las siguientes técnicas:
- Control alambrado. El primero se hace diseñando físicamente los circuitos con compuertas y registros lógicos, se hace para un especifico juego de instrucciones . Ejemplo zilog Z8000
- Control microprogramado incluye una ROM de control para la traducción de instrucciones, Ejemplo:Intel 8086.
oscarrosete.com
1.4. Memoria
1.4. Memoria
CU
La unidad de control se realiza por medio de una de las siguientes técnicas:
- En la nanoprogramación se incluyen dos ROMs donde la primera contiene las direcciones de la segunda que almacena las microoperaciones, esto lo hace más eficiente.
oscarrosete.com
Resumen
El microprocesador generalmente contenido en un solo chip y es compuesto de registros, una o varias ALUs y una unidad de control.
En los microprocesadores de propósito general los registros pueden usarse para almacenar datos, direcciones o resultados de operaciones. La mayor parte de los microcontroladores actuales son de este tipo, aunque algunos tienen registros para usos específicos.
oscarrosete.com
1.4. Memoria
oscarrosete.com
1.4. Memoria
Realizar mapa mental o cuadro sinoptico de los elementos del procesador
oscarrosete.com
1.4. Memoria
Aplicación
Sistema de detección y notificación de fugas con microcontrolador.
oscarrosete.com
Los 5 componentes de computadora
ENTRADAS/SALIDAS
Debido a las diferencias que hay entre el CPU y los dispositivos, es necesaria una circuitería de interfase para que se realicen las transferencias. El procesador utiliza instrucciones de E/S para tener acceso al bus de E/S.
Se tienen tres formas de transferir datos entre un dispositivo y el CPU:
oscarrosete.com
- E/S programada
- E/S por interrupción
- Acceso directo a memoria.
ENTRADAS/SALIDAS
La comunicación entre el CPU y los dispositivos es por medio de registros llamados puertos.
En los microcontroladores estos puertos se encuentran en el mismo C.I. que el CPU.
Los bits del puerto pueden configurarse como entradas o salidas ya sea como conjunto o individualmente, a través de un registro de comando.
oscarrosete.com
Los 5 componentes de computadora
ENTRADAS/SALIDAS
En los sistemas de propósito general por cuestiones de compatibilidad los puertos son fijos.
Algunos puertos cuentan además con líneas de control (handshake) para regular el flujo de información.
oscarrosete.com
Los 5 componentes de computadora
Microcontroladores
Un microcontrolador (MCU) es una computadora pequeña en un circuito integrado que consiste de una unidad central de procesamiento (CPU relativamente simple) combinada con dispositivos periféricos tales como memorias, dispositivos de entradas y salidas, y temporizadores.
Destinada a gobernar una sola tarea. Más de la mitad de los CPUS vendidos mundialmente son utilizados en microcontroladores.
oscarrosete.com
Un microcontrolador posee los siguientes componentes:
- Unidad de proceso. Procesador, memoria del programa, memoria de datos, lineas de E/S.
- Memoria no volátil para contener el programa
- Memoria de lectura y escritura para guardar los datos.
- Líneas de E/S para los controladores de periféricos: comunicación paralela,comunicación serie, diversas puertas de comunicación como bus I2C, USB, etc
oscarrosete.com
Microcontroladores
Un microcontrolador posee los siguientes componentes:
- Recursos auxiliares: Circuito de reloj, temporizadores, perro guardián, protección contra fallas de alimentación, estado de reposo o bajo consumo,etc.
- Periféricos complementarios. Timers, convertidores, A/D, comparadores analogicos, puertos de comunicación,etc.
oscarrosete.com
Microcontroladores
oscarrosete.com
Microcontroladores
oscarrosete.com
Microcontroladores
oscarrosete.com
Microcontroladores
oscarrosete.com
Microcontroladores
Fabricante de las familias PIC y AVR (disponibles en 8,16 y 32 bits) Busqueda parametrica familia AVR, Curso PIC avanzado
Microchip
Utilizaremos PIC16F84A ya que es simulable en Multisim y PROTEUS
oscarrosete.com
oscarrosete.com
Microchip
-
ARM es un procesador y las compañías más importantes lo producen
-
Mejor rendimiento en comparación con los microcontroladores de 8,16 y 32 bits como 8051, PIC 18 Y 32, texas MP
-
Son los de menor consumo de potencia eléctrica. Muy bajo costo.
-
Conjunto de instrucciones optimizado para programarse en lenguaje C
-
Hardware de punto flotante e instrucciones de DSP
oscarrosete.com
Aplicaciones
-
Qualcomm-snapdragon
-
IBM -iot con arm
-
Android principalmente en procesadores arm
-
Continental en sistemas automotrices
-
NI en sus DAQ
oscarrosete.com
Tarjetas/Placas de desarrollo
Curso Youtube. ARM® Cortex®-M4F Based MCU TM4C123G LaunchPad™ Evaluation Kit. Compra alternativa: teensy. Curso STNucleo
oscarrosete.com
picaxe
oscarrosete.com
Derivación de pic: Picaxe
'three wire' download cable connection vs programador convencional
Programado en PICAXE Basic
Blockly en PICAXE
oscarrosete.com
picaxe
Instalar MPLAB X IDE y Compiler XC8 (8 bits)
oscarrosete.com
MPLAB
Trabajo de clase individual
Para Jueves junto con cuadro sinóptico/mental
Generales: Generar un documento Word o Powerpoint
-
Clasificación de los siguientes microcontroladores acuerdo al arbol visto en clase (Agregar referencias):
-
Pic16f84a, pic16f18877
-
Atmega328p
-
PICAXE 08M2
-
oscarrosete.com
-
Investigación individual con cuadro comparativo:
-
RISC
-
CISC
-
-
Requerimientos para programar un microcontrolador pic16f84a
- Tarea conseguir los materiales para realizarlo
-
Requerimientos para simular un microcontrolador PIC16F84a utilizando lenguaje ensamblador y lenguaje C
-
Realizar una simulación del encendido de un LED utilizando el PIC16F84a en cualquier lenguaje.
-
-
Requerimientos para ejecutar un programa en lenguaje C
- Ejecutar "hello world" en su laptop
- Crear cuenta en TinkerCAD
oscarrosete.com
Trabajo de clase individual
oscarrosete.com
Agenda
1.1. Introducción a los sistemas embebidos
1.2. Conceptos básicos de arquitectura de computadoras
1.3. Procesador
1.4. Memoria
1.5. Periféricos de entrada Salida
1.6. Arquitectura de microcontroladores
Unidad I: Arquitectura de computadoras
Text
2.1. Introducción a los lenguajes de programación en microcontroladores
2.2. Arquitectura y lenguaje de programación Ensamblador
2.3. Modos de direccionamiento
2.4. Memoria RAM
2.5. Lenguaje C
Jueves 16 o Lunes 20 de febrero examen
Unidad 2. Programación
Agenda
oscarrosete.com
Trabajo de clase individual
Para Jueves junto con cuadro sinóptico/mental
Generales: Generar un documento Word o Powerpoint
-
Clasificación de los siguientes microcontroladores acuerdo al arbol visto en clase (Agregar referencias):
-
Pic16f84a, pic16f18877
-
Atmega328p
-
PICAXE 08M2
-
oscarrosete.com
MPLAB X IDE and assembly source code
mplab assembler input output
page 52,53
oscarrosete.com
MPLAB® XC8 Compiler v2.10
oscarrosete.com
oscarrosete.com
MPLAB® XC8 Compiler v2.10
oscarrosete.com
MPLAB® XC8 Compiler v2.10
309c23fe3a02
oscarrosete.com
MPLAB® XC8 Compiler v2.10
Initial Setup
oscarrosete.com
oscarrosete.com
Initial Setup
oscarrosete.com
Initial Setup
oscarrosete.com
Initial Setup
oscarrosete.com
Initial Setup
Debug main project
Click on debug
oscarrosete.com
oscarrosete.com
Debug main project
oscarrosete.com
Debug main project
Cursor on status
oscarrosete.com
Debug main project
Customize project config
oscarrosete.com
oscarrosete.com
Customize project config
Video repaso Procesador
oscarrosete.com
PIC16F84A
Imagen de componentes
leer pg 3
O 30 LIBRO
pg. 5
oscarrosete.com
Memoria PIC
Program memory
Data memory
Flash program memory
1 K words =1024 instructions
14 bit-program
memory word
Special Function Registers (SFR)
General Purpose Registers (GPR)
8-bits wide
oscarrosete.com
Memoria del programa
El vector "RESET" se encuentra en la dirección 00h ()
El vector "interrupt" se encuentra en la dirección 0004h()
La memoria de programa abarca 1K x 14 bits (0000h-03FFh)
3ff=1023 de 0 a 1023(1024 lineas)
wraparound:
20h, 420h son la misma ubicación
32 y 1056. Diferencia son 1024
oscarrosete.com
Program counter
El contador de programa (PC: Program Counter) es el registro del microcontrolador cuya función es direccionar la memoria de programa.
EL PC almacena direcciones de instrucciones; esta la dirección de la siguiente instrucción que hay que ejecutar.
es de 13 bits (8 a 12 bits PCLATH, bits 0-7 PCL)
Durante la ejecución de un programa, el PC se incrementa en 1 con cada instrucción que se ejecute.
oscarrosete.com
Data Memory
Portions of data memory are banked. This is for both the SFR area and the GPR area.
Data memory is partitioned into two banks which contain the general purpose registers and the special function registers. Bank 0 is selected by clearing the RP0 bit (STATUS<5>). Setting the RP0 bit selects Bank 1.
oscarrosete.com
Banked Memory
oscarrosete.com
Data memory in MPLab
File register
SFRs
oscarrosete.com
Special function register summary (SFR)
Page 7
oscarrosete.com
I/O
-
El microcontrolador se comunica con el mundo exterior a través de los puertos.
-
Estos están constituidos por líneas digitales de entrada/salida que trabajan entre 0 y 5 V. los puertos se pueden configurar como entradas para recibir datos o como salidas para gobernar dispositivos externos
-
El Puerto A con 5 líneas, pines RA0 a RA4.
-
El puerto B con 8 líneas, pines RB0 a RB7.
Cada línea puede ser configurada como entrada o como salida, independientemente unas de otras, según se programe.
oscarrosete.com
Grabación de microcontrolador
La información contenida en estas memorias, que es el programa que lo controla y que consiste de una serie de números hexadecimales (ejemplo:1683 0186 30FF 0085 1283 0805 0086 2805), debe ser grabada previamente mediante un equipo físico denominado programador o grabador. Este equipo se conecta al ordenador y mediante un software se controla la grabación de la memoria del programa del microcontrolador (grabar o programar el microcontrolador)
oscarrosete.com
Grabación de microcontrolador
oscarrosete.com
Ejercicio introductorio ensamblador
Realiza un programa que activa los pines 1,3,5 con un valor lógico de 1 de tu puerto B
- A traves de registro W
- A traves de bcf, bsf
Subir archivo .asm a Blackboard
oscarrosete.com
Text
2.1. Introducción a los lenguajes de programación en microcontroladores
2.2. Arquitectura y lenguaje de programación Ensamblador
2.3. Modos de direccionamiento
2.4. Memoria RAM
2.5. Lenguaje C
Unidad 2. Programación
Agenda
oscarrosete.com
Ejercicio introductorio ensamblador
Realiza un programa que activa los pines 1,3,5 con un valor lógico de 1 de tu puerto B
- A traves de registro W
- A traves de bcf, bsf
Subir archivo .asm a Blackboard
oscarrosete.com
Trabajo de clase individual
Para Lunes junto con cuadro sinóptico/mental
Generales: Generar un documento Word o Powerpoint
-
Investigación individual con cuadro comparativo:
-
RISC
-
CISC
-
-
Clasificación de los siguientes microcontroladores acuerdo al arbol visto en clase (Agregar referencias):
-
Pic16f84a, pic16f18877
-
Atmega328p
-
PICAXE 08M2
-
oscarrosete.com
-
Requerimientos para programar un microcontrolador pic16f84a
- Tarea conseguir los materiales para realizarlo
-
Requerimientos para simular un microcontrolador PIC16F84a utilizando lenguaje ensamblador y lenguaje C
-
Realizar una simulación del encendido de un LED utilizando el PIC16F84a en cualquier lenguaje.
-
-
Requerimientos para ejecutar un programa en lenguaje C
- Ejecutar "hello world" en su laptop
- Instalar MPLAB X IDE y Compiler XC8 (8 bits)
- Crear cuenta en TinkerCAD
oscarrosete.com
Trabajo de clase individual
EXPRESIONES, OPERACIONES Y OPERADORES
Las expresiones son combinaciones de constantes y símbolos mezclados con operadores aritméticos y lógicos. Se permite usar paréntesis, se pueden utilizar en el campo de los operandos.
Los operadores son los símbolos que denotan las operaciones aritméticas y lógicas definidas en el lenguaje ensamblador.
oscarrosete.com
Operadores
Se clasifican en
-
Dirección
-
Asignación
-
Operan directamente con bits
-
Lógicos y de relación
-
Aritméticos
oscarrosete.com
Operadores aritméticos
oscarrosete.com
Operadores lógicos
Verdadero si su valor numérico es diferente de 0
oscarrosete.com
Operadores con bits
Bitwise operations, operaciones bit a bit
oscarrosete.com
Ejercicio 1-bitwise
oscarrosete.com
Ejercicio 2-lógicos
oscarrosete.com
Símbolos
- símbolo equ expresión (define constante)
- símbolo set expresión (define una variable)
equ no puede ser modificado posteriormente, se utiliza comúnmente para registros de funciones especiales y sus direcciones en memoria de datos.
oscarrosete.com
Símbolos- Ejemplo
DATO1 equ .18
DATO2 equ .7
movlw DATO1 %DATO2
; Al dividir 18/7 el residuo es 4
DATO=.10 (operador de asignación)
oscarrosete.com
Ejercicios
Repaso PORTB, TRISB
- Asignar a un símbolo el valor 10, asignar a otro símbolo el valor 20, mover el valor del primer símbolo a la ubicación 2. Posteriormente incrementar en 5 el primer símbolo y en 1 el segundo símbolo y realizar el mismo proceso.
- Cargar 3f en memoria 0eh , cargar f3 en memoria 0fh e intercambiarlos.
oscarrosete.com
Text
2.1. Introducción a los lenguajes de programación en microcontroladores
2.2. Arquitectura y lenguaje de programación Ensamblador
2.3. Modos de direccionamiento
2.4. Memoria RAM
2.5. Lenguaje C
Repaso el viernes 7 de febrero
Lunes 10 de febrero examen
Unidad 2. Programación
Agenda
oscarrosete.com
Comparación de mas de 1 bit
oscarrosete.com
Brazo robotico controlado por guante inalámbrico
Microcontrolador atmel
Aplicaciones
oscarrosete.com
Práctica 1
Las 2 horas de los días Martes estarán designadas a trabajo en práctica de laboratorio.
Entrega: Martes 14/03/21
oscarrosete.com
Analogía al switch-case
En los lenguajes de programación, un switch case o switch statement, declaración de cambiador o declaración de interruptor.
El valor de la expresión entregada como parámetro es comparada con las constantes asociadas a los casos, en caso de no haber coincidencia ejecuta operación predeterminada.
oscarrosete.com
Propuesta
Se envia al registro w lo que se quiera comparar
movfw PORTA
Se llama a una subrutina
call compara
Al registro PCL se le asigna PCL+W
compara addwf PCL,F
Las combinaciones requeridas se ponen en orden dentro de la subrutina
oscarrosete.com
Propuesta
¿Qué pasa cuando F tiene un valor de D'20'?
oscarrosete.com
Realizar el programa y simulación que cumpla con lo siguiente:
1. Con interruptores conectados a las terminales RB0 y RB1 activar los LEDs conectados a las terminales RA0 y RA1 de acuerdo a la Tabla 1.
RB0 | RB1 | RA1 | RA0 |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | 1 | 1 |
Tabla 1
Si PUERTOB==0000 0010:
Puerto A = 0000 0001
oscarrosete.com
Ejercicios ensamblador 3
Ejercicios ensamblador 3
1. Una serie de interruptores conectados al Puerto B efectúan las siguientes operaciones:
- Si Puerto B==0: Sumará el contenido del registro 1 y 2 y lo asignará al registro 3.
- Si puerto B==1: Restará el contenido del registro 1 al 2 y lo asignará al registro 3.
- Si puerto B==2: Intercambiará sus valores.
- Si puerto B==3: Activará los bits 1,3 en el Puerto A.
Asegurarse que solo realice la comparación si el puerto B tiene un valor <=3.
Nota: La ubicación de los registros y sus contenidos serán seleccionados de manera arbitraria por los estudiantes.
El contenido no puede ser 0.
oscarrosete.com
Referencias
oscarrosete.com
Diagrama de flujo
Prender un LED
Documentar el codigo, decirle al software que usamos un pic16f84a e Incluir archivo de símbolos
;autor,fecha,descripción
list p=16F84a
#include "p16f84a.inc"
Definir que sucede al hacer reset al pic
org 0
goto init
Definir configuration bits
__CONFIG _FOSC_XT & _WDTE_OFF & _PWRTE_OFF & _CP_OFF
Evitar vector de interrupción y acceder a banco 1 de memoria de datos
org 5
init bsf STATUS,RP0
Definir que es salida a traves de TRISB
bcf TRISB,0
regresamos al banco 0 e ir al inicio de mi ciclo principal
bcf STATUS,RP0
goto start
En ciclo principal cambiar a 1 el bit 0 de Puerto B
start bsf PORTB,0
goto start
Finalizar
END
oscarrosete.com
Ejemplo Prender un LED
oscarrosete.com
Presiona un botón y enciende un led
Evitar vector de interrupción y acceder a banco 1 de memoria de datos
org 5
init bsf STATUS,RP0
Definir que el bit 0 de Puerto B es salida y el bit 0 del puerto A es entrada
bcf TRISB,0
bsf TRISA,0
Regresamos al banco 0 e ir al inicio de mi ciclo principal
bcf STATUS,RP0
goto start
bit 0 del puerto A==0?
start btfsc PORTA,0
Cambiar a 1 el bit 0 de Puerto B
bsf PORTB,0
Si
No
goto start
oscarrosete.com
Presiona un botón y enciende un led
oscarrosete.com
¿Cómo se realiza un retardo de tiempo?
oscarrosete.com
¿Cómo se realiza un retardo de tiempo?
The instruction cycle (also known as the fetch–decode–execute cycle or simply the fetch-execute cycle) is the cycle which the central processing unit (CPU) follows from boot-up until the computer has shut down in order to process instructions
oscarrosete.com
pg. 22
oscarrosete.com
¿Cómo se realiza un retardo de tiempo?
pg. 23
Capacitor selection for crystal oscillator
oscarrosete.com
¿Cómo se realiza un retardo de tiempo?
pg. 57
oscarrosete.com
¿Cómo se realiza un retardo de tiempo?
Si el reloj principal es de 4 MHz y queremos saber cuanto tiempo emplea en procesarse la instrucción nop, la cual sólo emplea un ciclo de máquina, se emplearía la siguiente expresión matemática:
pg. 36
TCY= 4*( 1/Fosc )*Cycles=
4*( 1/( 4*10^6 ) )*1 =
1*10^6 s =
1μs
oscarrosete.com
¿Cómo se realiza un retardo de tiempo?
Retardo de 20 µs
GOTO?
CICLOS?
oscarrosete.com
¿Cómo se realiza un retardo de tiempo?
Retardo de 20 µs
Llamada subrutina (2)
Primera vuelta (3+2)
3 vueltas intermedias (3)
Última vuelta s(2)
Retorno subrutina (2)
oscarrosete.com
Alternativa 100 ms
oscarrosete.com
Realizar un programa que simule el funcionamiento de un semáforo (mplab y multisim):
Un interruptor conectado al puerto B bit 3 inicia la siguiente secuencia
1. En el puerto A, activar el bit 0 por 5 segundos
2. Hacer un parpadeo (off-on) de 0.5s, despúes desactivar bit 0.
3. En el puerto A, activar el bit 1 por 2 segundos.
4. Hacer un parpadeo (off-on) de 0.5s, despúes desactivar bit 1 .
5. En el puerto A, activar el bit 2 por 5 segundos,
6. Hacer un parpadeo (off-on) de 0.5s, despúes desactivar bit 2 y repertir la secuencia
oscarrosete.com
Ejercicios ensamblador 4
Comparación de mas de 1 bit
oscarrosete.com
Microcontroladores Unidad 1
By Oscar Rosete
Microcontroladores Unidad 1
- 363