Sistemas con Microprocesadores I

Documentos relacionados
Introducción a la arquitectura PIC

ARQUITECTURA DE VON NEUMANN Y HARVARD

UNIVERSIDAD NACIONAL DE COLOMBIA SEDE BOGOTÁ FACULTAD DE INGENIERÍA INGENIERÍA MECATRÓNICA

PANORAMA GENERAL DE LOS µc

UNIVERSIDAD TECNICA DE AMBATO NOVENO SEMESTRE INGENIERIA ROBOTICA MICROCONTROLADORES Y SU APLICACION EN ROBOTICA PROFESOR: UTA 2009 ING. G.

MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI

ÍNDICE CAPÍTULO 1 FUNDAMENTOS DE LOS MICROCONTROLADORES

Arquitectura de Computadoras

Sistemas de Computadoras

Capítulo 3. Microcontroladores 3.1 Definiciones

Introducción a los microcontroladores. Decanato de Postgrado Mayo de 2011

Microcontroladores. Unidad 1

Contenidos: Definiciones:

TEMA 4 ESTRUCTURA VON-NEUMANN DEL COMPUTADOR DIGITAL

UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA. Ingeniería en Electrónica EL MICROCONTROLADOR PIC16F84 PRESENTA: M. C. Felipe Santiago Espinosa

UNIVERSIDAD NACIONAL DEL CALLAO

Microcontroladores ( C)

Características PIC16F84

INSTRUCCIONES DE ENSAMBLADOR

INDICE Capitulo 1. Microcontroladores Programables: La Solución está en un CHIP Capitulo 2. Microcontroladores de 8 BITS: Los <<PIC>>

Tema: Microprocesadores

Tema 2: Lenguaje máquina. La interfaz entre el hardware y el software

Clasificación de las Arquitecturas

ORGANIZACIÓN INTERNA + INTRODUCCIÓN AL ENSAMBLADOR

Registros SFR vistos hasta ahora: Microcontroladores PIC

Tema 1: PROCESADORES SEGMENTADOS

ARQUITECTURA DEL PIC16F84A

Unidad IV: Programación de microcontroladores

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Arquitectura de Computadores II

Practica de PIC 16F84

Repaso concepto de programa

Microcontroladores PIC

Qué es un Microcontrolador?

Diagrama a bloques 2

INTRODUCCIÓN A LOS MICROPROCESADORES Y MICROCONTROLADORES

MICROCONTROLADORES (III)

Tema 3: Lenguaje ensamblador. La primera abstracción de la máquina para el programador

Unidad I: Organización del Computador. Ing. Marglorie Colina

TEMA 2: MICROPROCESADORES Y MICROCONTROLADORES

Microprocesadores, Tema 2:

Qué es un Microcontrolador?

FUNCIONAMIENTO DEL ORDENADOR

1.1 Introducción y definición de un microcontrolador 1.2 Estructura básica de un microcontrolador 1.3 Características de la Arquitectura

SISTEMA MÍNIMO BASADO EN EL PIC16F84

Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos

CAPíTULO INTRODUCCiÓN CARACTERíSTICAS GENERALES CLASIFICACiÓN, Gamaalta Gama mejorada 53

Preguntas claves (y sus respuestas)

DISEÑO CURRICULAR ARQUITECTURA DEL COMPUTADOR

Procesadores. Dr. Andrés David García García Departamento de Mecatrónica Campus Estado de México

O B J E T I V O I N T R O D U C C I O N M A R C O T E O R I C O

Microcontrolador PIC16F84: Arquitectura

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR

Modelo de von Neumann

Tema 1: Introducción a los sistemas procesadores. Sistemas Electrónicos para el Procesamiento de Señal

Informática Industrial Parte I

Introducción a la arquitectura de computadores

Programación y Aplicaciones de los Microcontroladores PIC16FXXX (Nivel Básico) ING. EULER DEZA FIGUEROA

PROBLEMAS TEMA 1: Estructuras de interconexión de un computador

Horas teóricas: 1 Horas prácticas: 4 Total de Horas: 5 Total de créditos: 6 Microcontroladores

MICROCONTROLADORES: FUNDAMENTOS Y APLICACIONES CON PIC. Autores: Fernando E. Valdés Pérez Ramon Pallàs Areny. Título de la obra:

Arquitectura de Computadores

Tema 2: Conceptos básicos. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Asignaturas antecedentes y subsecuentes

Procesadores ISA Macroarquitecura - Interfaces

PROGRAMACIÓN EN ASSEMBLER SIMULADOR MSX88

Tema 1: Introducción a los Sistemas Empotrados

PRÁCTICA 2: Programas básicos. Tipos de direccionamiento.

MÓDULO 1: Sistemas de Cómputo

Características generales

Lógica cableada: Lógica programada:

GUIA 24: REPERTORIO DE INSTRUCCIONES

Organización del Computador. Máquina de von Neumann Jerarquía de Niveles

Arquitectura de computadores I

Microprocesador. Introducción. Instituto Sagrado Corazón de Jesús

Tema 2: Introducción a los Computadores

Tema 2. Diseño del repertorio de instrucciones

ARQUITECTURA DE COMPUTADORES

Unidad Didáctica 3: Microcontroladores & Interrupciones. Sistemas embebidos para tiempo real

Fundamentos de Hardware: Arquitectura de un ordenador

Sistemas con Microprocesadores I

Instituto Tecnológico de Morelia

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

Unidad 2: Taller de Cómputo. Estructura y Componentes de la Computadora UNIDAD DOS: INTRODUCCIÓN

ESTRUCTURA BÁSICA DE UN ORDENADOR

1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento.

Partes de una computadora. Conceptos Generales. Elementos de Computación (CU) Computación (TIG) El Hardware de una computadora

TEMA VI DISEÑO DEL PROCESADOR

Sistemas Informáticos. Estructura Funcional

3 - Arquitectura interna de un up

UNIVERSIDAD DE LOS LLANOS Facultad de Ciencias Básicas e Ingeniería Programa Ingeniería de Sistemas

ESTRUCTURA DE COMPUTADORES GUÍA DOCENTE

DATOS DE IDENTIFICACIÓN DEL CURSO

UNIDAD I CONCEPTOS GENERALES. Conceptos Generales Microprocesadores Otoño 2011

Conceptos y definiciones básicos en computación

Universidad Nacional de Ingeniería Arquitectura de Maquinas I. Unidad I: Arquitectura y Programación de un Microprocesador (8086)

ÍNDICE TEMÁTICO. 4 Salida Paralelos y Serie. 7 Programación de Microprocesadores 10 4 Características de los 4 8

Transcripción:

Sistemas con Microprocesadores I 1 Microcontroladores Introducción Harvard vs. von-neumann Clasificación del procesador Segmentado o Pipeline Ortogonal vs. No ortogonal 2 Microcontroladores PIC Siglas y fabricante Características principales 3 El PIC16F84 Arquitectura Primer Ejemplo: Ejercicio 1 Símbolos básicos en los diagramas de flujo Operaciones en la ALU Instrucciones utilizadas Solución al Ejercicio 1 Estructura básica de un programa en PIC Solución al Ejercicio 1 (Segunda parte) 4 Laminillas complementarias Mauricio López V. (Ingeniería) Microcontroladores PIC Mayo, 2015 1 / 40

Microcontroladores Introducción Microcontroladores Un microcontrolador es: Un integrado programable. Contiene todos los componentes necesarios para el control de las funciones de una tarea definida. Microcontroladores de arquitectura cerrada. Modelo construido con: Un determinado CPU (Unidad de Procesamiento Central). Cierta capacidad de memoria de datos. Cierto tipo y capacidad de memoria de instrucciones. Un número de terminales de E/S (Entrada/Salida). Un conjunto de recursos auxiliares muy concretos. El modelo no permite variaciones ni ampliaciones. Debe encontrarse en su estructura todo lo que precisa para la aplicación en particular. Microchip a elegido principalmente este modo de arquitectura. Mauricio López V. (Ingeniería) Microcontroladores PIC Mayo, 2015 2 / 40

Microcontroladores Introducción Microcontroladores Un microcontrolador es: Un integrado programable. Contiene todos los componentes necesarios para el control de las funciones de una tarea definida. Microcontroladores de arquitectura cerrada. Modelo construido con: Un determinado CPU (Unidad de Procesamiento Central). Cierta capacidad de memoria de datos. Cierto tipo y capacidad de memoria de instrucciones. Un número de terminales de E/S (Entrada/Salida). Un conjunto de recursos auxiliares muy concretos. El modelo no permite variaciones ni ampliaciones. Debe encontrarse en su estructura todo lo que precisa para la aplicación en particular. Microchip a elegido principalmente este modo de arquitectura. Mauricio López V. (Ingeniería) Microcontroladores PIC Mayo, 2015 2 / 40

Microcontroladores Introducción Sistema basado en microcontrolador (arquitectura cerrada) Formado por un solo circuito integrado. Reduce considerablemente el tamaño y el costo. Mauricio López V. (Ingeniería) Microcontroladores PIC Mayo, 2015 3 / 40

Microcontroladores Introducción Microcontroladores Microcontroladores de arquitectura abierta. Además de disponer de una estructura interna determinada: Pueden emplear sus líneas de E/S para sacar al exterior los bus de: datos, direcciones y control. Tienen la posibilidad de ampliar la memoria y las terminales de E/S con circuitos integrados externos. Sin embargo, esto se asemeja a la solución que emplean los clásicos microprocesadores. Microchip dispone de modelos PIC con arquitectura abierta. Mauricio López V. (Ingeniería) Microcontroladores PIC Mayo, 2015 4 / 40

Microcontroladores Introducción Sistema basado en microprocesador (arquitectura abierta) Su arquitectura está compuesta por varios circuitos integrados que incluyen memorias y módulos de E/S. Mayor tamaño. Más costo y menor fiabilidad. Mauricio López V. (Ingeniería) Microcontroladores PIC Mayo, 2015 5 / 40

Microcontroladores Introducción Microcontrolador vs. Microprocesador Mauricio López V. (Ingeniería) Microcontroladores PIC Mayo, 2015 6 / 40

Microcontroladores Harvard vs. von-neumann Arquitectura Harvard vs. von Neumann Arquitectura von-neumann. El CPU está conectado a una memoria única que almacena las instrucciones del programa y los datos. El formato de la palabra de todas las instrucciones y de los datos tiene la misma longitud y éste está limitado de acuerdo al ancho del bus de datos de la memoria utilizada, que es de 8 bits. Cuando deba acceder a una instrucción o a un dato de longitud de más de un byte, deberá realizar más de un acceso a la memoria. Arquitectura Harvard. Dos memorias independientes a las que se conectan mediante dos grupos de bus separados: Memoria de datos. Memoria de programa. Mauricio López V. (Ingeniería) Microcontroladores PIC Mayo, 2015 7 / 40

Microcontroladores Clasificación del procesador Clasificación del procesador Las CPU, en relación al tipo de instrucción que utilizan, pueden clasificarse en: CISC (Complex Instruction Set Computer). Procesadores con un juego de instrucciones complejo. Repertorio de instrucciones elevado y algunas muy sofisticadas y potentes. Requieren muchos ciclos de reloj para ejecutar las instrucciones complejas. RISC (Reduced Instruction Set Computer). Procesadores con un repertorio de instrucciones reducido. Instrucciones simples y suelen ejecutarse en un ciclo de máquina. Por lo general tienen una estructura segmentada (Pipeline) y ejecutan casi todas las instrucciones utilizando el mismo intervalo de tiempo. SISC (Specific Instruction Set Computer). Procesadores con un juego de instrucciones específico para cada aplicación. Están destinados a aplicaciones muy concretas. Mauricio López V. (Ingeniería) Microcontroladores PIC Mayo, 2015 8 / 40

Microcontroladores Segmentado o Pipeline Procesador segmentado o Pipeline Realiza de manera simultánea la ejecución de una instrucción y la búsqueda de la siguiente instrucción. Se puede ejecutar una instrucción en un ciclo de máquina (un ciclo de máquina puede abarcar varios ciclos de reloj). Mauricio López V. (Ingeniería) Microcontroladores PIC Mayo, 2015 9 / 40

Microcontroladores Ortogonal vs. No ortogonal Arquitectura Ortogonal vs. No ortogonal Arquitectura simplificada interna de la ruta de datos en la CPU: En una arquitectura NO ortogonal (Microprocesador tradicional): La salida de la ALU (Unidad Aritmética y Lógica) tiene como destino la entrada del acumulador. En una arquitectura ortogonal (Microcontrolador PIC): Una instrucción puede utilizar cualquier elemento de la arquitectura como fuente o destino. Mauricio López V. (Ingeniería) Microcontroladores PIC Mayo, 2015 10 / 40

Microcontroladores PIC Siglas y fabricante El microcontrolador PIC PIC Peripheral Interface Controller. Fabricante: Microchip Technology Inc. Mauricio López V. (Ingeniería) Microcontroladores PIC Mayo, 2015 11 / 40

Microcontroladores PIC Características principales Características principales de un microcontrolador PIC Arquitectura Harvard. El CPU se conecta de forma independiente y con bus diferentes con la memoria de instrucciones y con la de datos. La arquitectura Hartad permite al CPU acceder simultáneamente a las dos memorias. Mauricio López V. (Ingeniería) Microcontroladores PIC Mayo, 2015 12 / 40

Microcontroladores PIC Características principales Características principales de un microcontrolador PIC Se aplica la técnica de segmentación (Pipeline) en la ejecución de las instrucciones. 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. La mayoría de las instrucciones se ejecutan en un ciclo de instrucción o de máquina y equivale a cuatro ciclos de reloj. Las instrucciones de salto ocupan dos ciclos de instrucción. En éstas, una vez que se completa el primer ciclo de instrucción, se conoce la dirección de la siguiente instrucción a ejecutar. Mauricio López V. (Ingeniería) Microcontroladores PIC Mayo, 2015 13 / 40

Microcontroladores PIC Características principales Características principales de un microcontrolador PIC El formato de todas las instrucciones tiene la misma longitud. Todas las instrucciones tiene la misma longitud. Longitud de 12 bits Gama baja. Longitud de 14 bits Gama media. Longitud de 16 bits Gama alta y Gama mejorada. Permite la optimización de la memoria de instrucciones. Facilita la construcción de ensambladores y compiladores. Procesador RISC (Reduced Instruction Set Computer; Conjunto de juego de instrucciones reducido). 33 instrucciones Gama baja (PIC16C5X). 35 instrucciones Gama media (PIC16CXX). 56 instrucciones Gama alta (PIC17CXX). 75 instrucciones Gama mejorada (PIC18CXX). Mauricio López V. (Ingeniería) Microcontroladores PIC Mayo, 2015 14 / 40

Microcontroladores PIC Características principales Características principales de un microcontrolador PIC Todas las instrucciones son ortogonales. Cualquier instrucción puede manejar cualquier elemento de la arquitectura como fuente o como destino. Mauricio López V. (Ingeniería) Microcontroladores PIC Mayo, 2015 15 / 40

Microcontroladores PIC Características principales Características principales de un microcontrolador PIC Arquitectura basada en banco de registros. Todos los objetos del sistema (puertos de E/S, temporizadores, memoria de datos, etc.) están implementados físicamente como registros. Diversidad de modelos de microcontroladores con prestaciones y recursos diferentes. Gran variedad de modelos de microcontroladores PIC que permite al usuario seleccionar el más conveniente para su proyecto. Mauricio López V. (Ingeniería) Microcontroladores PIC Mayo, 2015 16 / 40

Microcontroladores PIC Características principales Características principales de un microcontrolador PIC Herramientas de soporte y económicas. Microchip y otras empresas ponen a disposición de los usuarios numerosas herramientas para desarrollar hardware y software (programadores, simuladores, ensambladores, compiladores C, intérpretes y compiladores BASIC, etc.). Formato uniforme de los datos. En general los datos y los operandos tienen una longitud de 8 bits. Mauricio López V. (Ingeniería) Microcontroladores PIC Mayo, 2015 17 / 40

El PIC16F84 Arquitectura Arquitectura del PIC16F84 Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 18 / 40

El PIC16F84 Arquitectura Arquitectura del PIC16F84 Memoria de programa Flash/ROM de 1K x 14 bits. Memoria de datos RAM 68 x 8 bits (dividida en dos): 22 registros de propósito específico (SFR, Registros de Funciones Especiales). 68 de propósito general. Memoria de datos EEPROM de 64 x 8 bits. Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 19 / 40

El PIC16F84 Arquitectura Memoria de datos RAM = Registros de funciones especiales (SFR). Se usan para el control de los periféricos (o dispositivos). = Registros de propósito general. Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 20 / 40

El PIC16F84 Primer Ejemplo: Ejercicio 1 Primer Ejemplo Ejercicio 1: Sumar dos datos, por ejemplo 05h más 02h. El valor 05h almacenado en el registro de usuario llamado Operando1 y el valor 02h en el registro Operando2. El resultado de la suma guardarlo en el registro de usuario llamado Resultado. Asociar el Operando1 a la localidad de memoria 0x0C, el Operando2 a la localidad de memoria 0x0D y el Resultado a la localidad de memoria 0x0E. Es decir: Para ello: Resultado Operando1 + Operando2 Realizar un programa que almacene el valor 05h en la localidad de memoria 0x0C (registro de usuario Operando1) y el valor 02h en la localidad de memoria 0x0D (registro de usuario Operando2). Sumar los contenidos de las localidades de memoria 0x0C (Operando1) y 0x0D (Operando2). Guardar el resultado de la suma en la localidad de memoria 0x0E (registro de usuario Resultado). Usar como referencia el PIC16F84. Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 21 / 40

El PIC16F84 Primer Ejemplo: Ejercicio 1 Ejercicio 1: Resultado Operando1 + Operando2 Primer Operando: Localidad de memoria 0x0C, con contenido 05. 0 0 0 0 0 1 0 1 + 0 0 0 0 0 0 1 0 Resultado: Localidad de memoria 0x0E, con contenido 07. 0 0 0 0 0 1 1 1 Segundo Operando: Localidad de memoria 0x0D, con contenido 02. Memoria de Datos Localidades de memoria 0x0C 0x0D 0x0E Operando 1 Operando 2 Resultado Sumar el contenido de estas localidades de memoria. La suma se almacena en esta localidad de memoria. Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 22 / 40

El PIC16F84 Primer Ejemplo: Ejercicio 1 Primer Ejemplo En este primer ejercicio, también se aprenderá: La simbología básica de los diagramas de flujo. El conjunto de instrucciones del lenguaje ensamblador en los microcontroladores PIC (solamente las instrucciones involucradas en la solución del problema). La arquitectura interna de la ruta de datos que entran y salen de la CPU. La estructura básica de un programa en ensamblador. El uso del MPLAB como herramienta para simula y compilar el programa, y grabar el microcontrolador PIC. Por lo que antes de dar solución al problema, primero se analizan los temas, siguiendo el orden: La simbología básica de los diagramas de flujo. La arquitectura interna de la ruta de datos que entran y salen de la CPU cuando se ejecuta una instrucción que utiliza cualquier elemento de la arquitectura como fuente o destino. El conjunto de instrucciones del lenguaje ensamblador utilizados en la solución del ejercicio. Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 23 / 40

El PIC16F84 Símbolos básicos en los diagramas de flujo Símbolos básicos en los diagramas de flujo Inicio o Fin (Óvalo o elipse): Representa inicio o fin de la secuencia de operaciones. Proceso (rectángulo): Representa una operación de proceso (son la mayoría de las operaciones realizadas en un programa). Decisión (rombo): Representa una decisión que da lugar a una transferencia condicional de control (bifurcación entre dos camino posibles dependiendo de la respuesta: SI o NO). Subrutina: Representa un conjunto de operaciones cuyo empleo se repite varias veces en el programa. Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 24 / 40

El PIC16F84 Símbolos básicos en los diagramas de flujo Símbolos básicos en los diagramas de flujo Conector: Indica el camino que sigue un programa. Indica los puntos de ruptura y reanudación de la trayectoria de flujo (círculos identificados mediante un número o caracter). Líneas y flechas: los símbolos están conectados por líneas sólidas con puntos de flecha que indican el camino a seguir por el programa. Finalidad de los diagramas de flujo: Simplificar la codificación del algoritmo en el lenguaje particular del microcontrolador. Facilitar la comprensión del algoritmo por otras personas. Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 25 / 40

El PIC16F84 Operaciones en la ALU Operaciones en la ALU y el registro W Para operaciones lógicas o aritméticas que involucran dos operandos, un operando provienen del registro W y el otro provienen de cualquier otro registro o del propio código de instrucciones. El destino del resultado de la operación puede ser el registro W o el registro que fungió como el otro operando. Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 26 / 40

El PIC16F84 Instrucciones utilizadas Instrucciones utilizadas Conjunto de instrucciones del lenguaje ensamblador en los microcontroladores PIC: MOVLW MOVF ADDWF MOVWF Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 27 / 40

El PIC16F84 Instrucciones utilizadas MOVLW: Mueve una literal a W Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 28 / 40

El PIC16F84 Instrucciones utilizadas MOVF: Mueve un registro Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 29 / 40

El PIC16F84 Instrucciones utilizadas ADDWF: Suma W y un registro Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 30 / 40

El PIC16F84 Instrucciones utilizadas MOVWF: Mueve W a un registro Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 31 / 40

El PIC16F84 Solución al Ejercicio 1 Solución al Ejercicio 1: Pseudocódigo a) Inicialización del PIC Variables de usuario. b) Inicialización del contenido de los dos operandos Operando1 05h y Operando2 02h. c) Suma de los operandos y almacenamiento del resultado. Resultado Operando1 + Operando2. d) Fin del programa. Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 32 / 40

El PIC16F84 Solución al Ejercicio 1 Solución al Ejercicio 1: Diagrama de flujo INICIO Configuración del PIC (puertos, SFR, constantes, variables). Inicialización del PIC (variables). Operando1 <-- H'05' Inicialización del contenido del primer operando. Operando2 <-- H'02' Inicialización del contenido del segundo operando. Resultado <-- Operando2 + Operando1 Suma de los operandos. FIN Fin del programa. Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 33 / 40

El PIC16F84 Solución al Ejercicio 1 Solución al Ejercicio 1: Diagrama de flujo extendido INICIO Configuración del PIC (puertos, SFR, constantes, variables). INICIO W <-- 05h Operando1 <-- W W <-- 02h Operando2 <-- W W <-- Operando1 W <-- W + Operando2 Configuración del PIC (puertos, SFR, constantes, variables). Operando1 <-- H'05' Operando2 <-- H'02' Resultado <-- Operando2 + Operando1 FIN Inicialización del PIC (variables). Inicialización del contenido del primer operando. Inicialización del contenido del segundo operando. Suma de los operandos. Fin del programa. Resultado <-- W FIN Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 34 / 40

El PIC16F84 Solución al Ejercicio 1 Solución al Ejercicio 1: Diagrama de flujo extendido INICIO Configuración del PIC (puertos, SFR, constantes, variables). Operando1 EQU 0x0c ; Define la posicion del Operando 1 Operando2 EQU 0x0d ; Define la posicion del Operando 2 Resultado EQU 0x0e ; Define la posicion del Resultado W <-- 05h Carga el número 5 a W. Operando1 <-- W Mueve lo que tengas en W al "Operando1". W <-- 02h Carga el número 2 a W. Operando2 <-- W Mueve lo que tengas en W al "Operando2". W <-- Operando1 Mueve el contenido de memoria "Operando1" al registro W. W <-- W + Operando2 Suma contenido de memoria "Operando2" con W y lo almacena en W. Resultado <-- W Mueve W a la memoria "Resultado". FIN Fin del programa. código Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 35 / 40

El PIC16F84 Estructura básica de un programa en PIC Estructura básica de un programa Ensamblador Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 36 / 40

El PIC16F84 Solución al Ejercicio 1 (Segunda parte) Consideraciones en la codificación del programa (Solución Ejercicio 1) Declaraciones de los registros especiales. Declaraciones de las constantes. Declaraciones de las variables en la RAM: Operando1, Operando2 y Resultado. Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 37 / 40

El PIC16F84 Solución al Ejercicio 1 (Segunda parte) Programa que suma el contenido de la posicion 0x0C y 0x0D y guarda en 0x0E. List p=16f84 ; Introduce el modelo del PIC que se usa. ;----------------------------------------------------------------------------------------------- ; Zona de etiquetas Operando1 EQU 0x0C ; Define la posicion del Operando 1 Operando2 EQU 0x0D ; Define la posicion del Operando 2 Resultado EQU 0x0E ; Define la posicion del Resultado ;----------------------------------------------------------------------------------------------- ORG 0 ; Comando que indica al ensamblador la dirección ; de la memoria de programa donde situa la siguiente ; instrucción. MOVLW 0x05 ; Carga el número 5 a W (acumulador). 5 ----> W. MOVWF Operando1 ; Mueve lo que tengas en el acumulador al Operando 1 ; W ----> Operando 1 MOVLW 0x02 ; Carga un número 2 al registro acumulador. 2 ----> W. MOVWF Operando2 ; Mueve lo que tengas en el acumulador al Operando 2 ; W ----> Operando 2. MOVF Operando1,0 ; Mueve lo que tengas en el contenido de memoria dado ; por el Operando 1 al registro acumulador. ; Operando 1 ----> W ADDWF Operando2,0 ; Suma lo que tengas en el contenido de memoria dado ; por el Operando 2 con el registro acumulador y lo ; almacena en el acumulador. ; W + Operando 2 ----> W MOVWF Resultado ; Mueve lo que tengas en el acumulador al contenido de ; memoria dado por el Resultado. ; W ----> Resultado END Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 38 / 40 Listado del programa (Solución Ejercicio 1)

Laminillas complementarias Laminillas complementarias Laminillas complementarias Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 39 / 40

Laminillas complementarias Solución al Ejercicio 1: Diagrama de flujo extendido INICIO Configuración del PIC (puertos, SFR, constantes, variables). W <-- 05h LIST p=16f84a ;----------------------------------------------------------------------------------------- ; Zona de etiquetas Operando1 EQU 0x0c ; Define la posicion del Operando 1 Operando2 EQU 0x0d ; Define la posicion del Operando 2 Resultado EQU 0x0e ; Define la posicion del Resultado MOVLW 0x05 ; Carga el número 5 a W. 5 ----> W. Operando1 <-- W MOVWF Operando1 ; Mueve lo que tengas en W al ; Operando 1. W ----> Operando 1. W <-- 02h MOVLW 0x02 ; Carga el número 2 a W. 2 ----> W. Operando2 <-- W W <-- Operando1 W <-- Operando2 + Operando1 Resultado <-- W MOVWF Operando2 ; Mueve lo que tengas en W al ; Operando 2. W ----> Operando 2. MOVF Operando1,0 ; Mueve el contenido de memoria ; (Operando 1) al registro W. ADDWF Operando2,0 ; Suma contenido de memoria ; (Operando 2) con W y lo almacena ; en W. W + Operando 2 ----> W. MOVWF Resultado ; Mueve W a la memoria ; (Resultado). W ----> Resultado. FIN END ; Fin del programa. return Mauricio López V. (Ingeniería) Microcontrolador PIC16F84 Mayo, 2015 40 / 40