Unidad IV: Programación de microcontroladores

Documentos relacionados
Relación de Problemas I

El nivel ISA (II)! Conjunto de Instrucciones

Arquitectura de Computadores II Clase #3

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

CICLOS DEL PROCESADOR

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

Sistemas con Microprocesadores I

ORGANIZACIÓN DE LA MEMORIA

Qué es un programa informático?

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

Unidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño

Tema 4. Organización de la memoria

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR

TEMA VI DISEÑO DEL PROCESADOR

Introducción a la programación: Contenido. Introducción

El Diseño de un Lenguaje Máquina

Conceptos y definiciones básicos en computación

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

5 - Lenguaje Ensamblador

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

GUIA 24: REPERTORIO DE INSTRUCCIONES

Introducción a la arquitectura de computadores

Arquitectura del MIPS: Introducción

Ejercicios del tema 4. El procesador

FUNCIONAMIENTO DEL ORDENADOR

Práctica 1 : INTRODUCCIÓN Práctica 1: Introducción al 8051

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

Organización del Computador 1. CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017

Arquitectura de Computadoras

Arquitectura del CPU. Organización del Computador 1 Verano 2016

Introducción a la arquitectura PIC

BLOQUE 3 (PARTE 2) MICROCONTROLADOR 8051 DESCRIPCIÓN GENERAL

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Fecha de Introducción. Velocidad de reloj. Anchura del bus. Número de transistores. (microns) Memoria direccionable.

Organización de Computadoras. Clase 7

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Repaso concepto de programa

Examen de teoría (5 puntos)

SISTEMAS OPERATIVOS Arquitectura de computadores

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

CUESTIONARIO. Instituto Tecnológico de Iztapalapa Ingeniería en Sistemas computacionales. LENGUAJE ENSAMBLADOR Temas: 1.3 y 1.4

Arquitectura de Computadoras

INTRODUCCIÓN. Comunicación Serial.

Arquitectura de Computadores II Clase #3

MODOS DE DIRECCIONAMIENTO DEL µc51

Un. VIII. Generación de Código Objeto

1. Computadores y programación

Tablas familia MCS-51 (8051)

Organización de Computadoras. Clase 6

Computación I (CI-2125) Clase 1. Prof. Mireya Morales Primera

EVOLUCIÓN HISTÓRICA DE LOS µp

NÚMEROS UTILIZADOS EN ELECTRÓNICA DIGITAL

Contenido. Conjunto de Instrucciones. Formato de la Instrucción. Instrucciones de 1 byte. Formato de la Instrucción 28/09/2011

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

Microprocesadores, Tema 2:

INFORMÁTICA APLICADA UNIDAD DIDÁCTICA 1. Tema 1 Sistemas informáticos

Página 1 de 12 CONCEPTOS INFORMÁTICOS BÁSICOS

Programación de Sistemas. Unidad 1. Programación de Sistemas y Arquitectura de una Computadora

ÍNDICE CAPÍTULO 1 FUNDAMENTOS DE LOS MICROCONTROLADORES

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Introducción a la Programación en Lenguaje Ensamblador.

Universidad Nacional de Ingeniería Arquitectura de Maquinas I. Unidad II: Arquitectura y Programacion de un Microprocesador (80X86)

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones

Microcontroladores ( C)

Tema 2 Introducción a la Programación en C.

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

CONJUNTO DE INSTRUCCIONES PARA LA FAMILIA DEL 51

Arquitectura (Procesador familia 80 x 86 )

Funcionamiento de las computadoras

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

EJECUCIÓN DE INSTRUCCIONES

Arquitectura y mapa de memoria del 80C167. Cesáreo Fernández Martínez Álvaro Sánchez Miralles

Tema 0. Introducción a los computadores

UNIDAD CENTRAL DE PROCESO

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

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

Sistemas de Computadoras

Recopilación presentada por 1

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

INSTRUCCIONES DE ENSAMBLADOR

MEMORIA EJERCICIO 1 EJERCICIO 2

Docente: Sandra Romero Otálora SISTEMA DE COMPUTO INTRODUCCIÓN A LOS COMPUTADORES CONCEPTOS BÁSICOS

Técnicas de Programación

Unidad 5 Unidad central de proceso

Grado en Ingeniería Informática - Ingeniería del Software Estructura de Computadores - Prueba 2 - Junio de 2011

8.4. El software en los μprocesadores

Lenguaje binario. Código ASCII. Medidas de la información

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 1 - INTRODUCCIÓN JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ

ARQUITECTURA DEL PIC16F84A

CAPITULO III CONTROLADORES

Clasificación de las Arquitecturas

2.2 METODOLOGÍA PARA EL DISEÑO DE SOFTWARE

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

MÓDULO 1: Sistemas de Cómputo

Introducción al PLC Simatic Siemens S7-200.

PANORAMA GENERAL DE LOS µc

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

Transcripción:

Unidad IV: Programación de microcontroladores El microcontrolador ejecuta el programa cargado en la memoria Flash. Esto se denomina el código ejecutable y está compuesto por una serie de ceros y unos, aparentemente sin significado. Dependiendo de la arquitectura del microcontrolador, el código binario está compuesto por palabras de 12, 14 o 16 bits de anchura. Cada palabra se interpreta por la CPU como una instrucción a ser ejecutada durante el funcionamiento del microcontrolador. Todas las instrucciones que el microcontrolador puede reconocer y ejecutar se les denominan colectivamente Conjunto de instrucciones. Como es más fácil trabajar con el sistema de numeración hexadecimal, el código ejecutable se representa con frecuencia como una serie de los 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. 4.1 Modelo de programación Funciones de un programa de control de procesos: Adquisición y acondicionamiento de datos Control digital directo Supervisión del sistema Control de secuencias Modelos a estudiar Organigramas (diagramas de flujo) Maquinas de estado finita (Finite State Machine--FSM) Organigramas Suelen utilizarse en aplicaciones sencillas o en la planificación de rutinas en las que se divide una aplicación más compleja.

Máquina de estados finita (FSM) Estados: Son las diferentes situaciones en las que puede encontrarse el sistema. Entradas (señales de transición de estados): Constituyen los acontecimientos que producen los cambios de estado. Salidas: Respuesta del sistema ante los cambios en las entradas. Funciones de transición de estado: Descripción detallada, para cada estado, de cuál es el siguiente estado y la salida del sistema, cuando se producen las distintas entradas. La forma en que los representan son: Diagrama de grafo de estado Tabla de transiciones 4.2 Estructura de los registros del CPU Los programas de los microcontroladores suelen dividirse en dos grandes grupos: La estructura de interrupciones, formada por las rutinas de servicio a las mismas. El programa principal, que consta de dos partes: La rutina de inicialización del sistema y Un lazo de ejecución perpetua, en donde n perpetua, en donde se ejecutan todas se ejecutan todas aquellas tareas que no estén ligadas a la estructura de n ligadas a la estructura de interrupciones: máquina de estados principal, rutinas no quina de estados principal, rutinas no críticas, inicialización del circuito de vigilancia 4.3 Modos de direccionamiento Modos de direccionamiento 8051

Dir En el direccionamiento directo, se indica la dirección a operar de forma absoluta. Para la familia de microcontroladores 8051 se dispone de 256 direcciones directas, correspondientes a (Ram interna + Registros SFR). El OpCode va seguido de un byte que representa la dirección. MOV A,30H ; A<-(30H), El contenido de la dirección 30H se mueve al acumulador ADD A,31H ; A<-(A)+(31H), Se suma el contenido de acumulador con el de la dirección 31H ; el resultado se deposita en el acumulador Por registro (Rn) Rn. Para el direccionamiento por registro el código de la instrucción (OpCode) contiene la información del registro a operar, del banco de registros seleccionado. MOV R1,A ; R1<-(A), El contenido del acumulador se mueve al registro R1 OpCode de (MOV Rn,A) es F8H, en binario: 1 1 1 1 1 0 0 1 Los tres últimos bits identifican el registro sobre el cual se opera. Indirecto (@) @. Se especifica un registro que contiene la dirección del dato a operar. R0, R1 cuando se accede a la memoria interna de direccionamiento indirecto 256 Bytes. DPTR para el acceso a la memoria externa 64K Bytes.

MOV R0,#30H ; RO<-30H, mover al registro 0 el dato inmediato 30H (constante) MOV A,@R0 ; A<-((R0)), mueve el contenido de la posición de memoria indicada en R0 al Acc. Implícito La instrucción indica implícitamente el registro sobre el que se ha de operar. INC A ; A<-(A)+1, incrementar el acumulador CPL A ; A<-(Ã), complementa el acumulador Inmediato (#) #. El OpCode está seguido de una constante que representa el valor con el que se operará. MOV A,#0 ; A<-0, poner cero en el Acc MOV R1,#123 ; R1<-123, poner el valor 123 (decimal) en el registro uno Indexado Se utilizan dos registros para apuntar a la dirección que contiene el dato. La suma del contenido del DPTR más el acumulador determina la dirección a operar. Este direccionamiento esta limitado a dos únicas instrucciones que mueven datos de la ROM al acumulador. MOVC A,@A+DPTR ; A<-((DPTR+A)), el contenido de la posición que apunta el DPTR+A se deposita en el Acc

4.4 Conjunto de instrucciones Un conjunto de instrucciones o repertorio de instrucciones, juego de instrucciones o ISA (del inglés Instruction Set Architecture, Arquitectura del Conjunto de Instrucciones) es una especificación que detalla las instrucciones que una CPU de un ordenador puede entender y ejecutar, o el conjunto de todos los comandos implementados por un diseño particular de una CPU. El término describe los aspectos del procesador generalmente visibles a un programador, incluyendo los tipos de datos nativos, las instrucciones, los registros, la arquitectura de memoria y las interrupciones, entre otros aspectos. 4.5 Lenguajes ensambladores Ventajas: Permite desarrollar programas muy eficientes: Uso eficiente de recursos Código compacto Control total sobre el tiempo de ejecución de las instrucciones especialmente importante en aplicaciones en tiempo real Desventajas: Programación costosa y difícil de modificar 4.6 Codificación A menudo gastamos una gran cantidad de energía diseñando un circuito elegante, bien diseñado y robusto. Hoy día, el cerebro de muchos de estos circuitos es un microcontrolador que necesita un software para funcionar. No es razonable entonces esperar un programa bien diseñado y escrito adecuadamente que se complemente con la calidad del trabajo del circuito? Aparentemente así es. Hablemos de la cualidad del software.es un hecho muy bien conocido: los errores matan a gente y los errores de programación no son una excepción. Todos los

años muere gente debido a errores de programas. Algunos accidentes fatales de avión, helicóptero y coches pueden ser atribuidos a problemas en el software. El mal funcionamiento del firmware interno de los dispositivos médicos crea víctimas de manera regular. Los edificios se convierten en humo debido a errores de programa, y algunas personas son asesinadas a machetazos. El software erróneo puede incluso hundir barcos. Creedme, he visto que eso sucede.