Documentos de Académico
Documentos de Profesional
Documentos de Cultura
U4-Ricardo Bautista Magaña
U4-Ricardo Bautista Magaña
SUPERIOR DE COALCOMÁN
Nombre de la materia
Sistemas Programables
Nombre de la tarea
Resumen Temas Unidad IV
Unidad IV
Programación de Microcontroladores
Fecha
13/11/2021
UNIDAD IV Programación de Microcontroladores
Sistemas Programables
PROGRAMACION DE MICROCONTROLADORES
1
UNIDAD IV Programación de Microcontroladores
Sistemas Programables
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.
Tipos de Direccionamiento:
Implícito
En este modo de direccionamiento no es necesario poner ninguna dirección de forma
explícita, ya que en el propio código de operación se conoce la dirección de el/los
operandos/s al (a los) que se desea acceder o con el/los que se quiere operar.
Supongamos una arquitectura de pila, las operaciones aritméticas no requieren
direccionamiento explícito por lo que se ponen como: - add - sub ...
Inmediato
En la instrucción está incluido directamente el operando.
En este modo el operando es especificado en la instrucción misma. En otras palabras,
una instrucción de modo inmediato tiene un campo de operando en vez de un campo de
dirección. El campo del operando contiene el operando actual que se debe utilizar en
conjunto con la operación especificada en la instrucción. Las instrucciones de modo
inmediato son útiles para inicializar los registros en un valor constante.
2
UNIDAD IV Programación de Microcontroladores
Sistemas Programables
Directo o absoluto
El campo de operando en la instrucción contiene la dirección en memoria donde se
encuentra el operando.
En este modo la dirección efectiva es igual a la parte de dirección de la instrucción. El
operando reside en la memoria y su dirección es dada directamente por el campo de
dirección de la instrucción. En una instrucción de tipo ramificación el campo de dirección
especifica la dirección de la rama actual.
Indirecto
El campo de operando contiene una dirección de memoria, en la que se encuentra la
dirección efectiva del operando.
Si hace referencia a un registro de la máquina, la dirección de memoria (dirección
efectiva) que contiene el dato estará en este registro y hablaremos de direccionamiento
indirecto a registro; si hace referencia a una posición de memoria, la dirección de
memoria (dirección efectiva) que contiene el dato estará almacenada en esta posición
de memoria y hablaremos de direccionamiento indirecto a memoria.
Un conjunto de instrucciones, es una especificación que detalla las instrucciones que una
unidad central de procesamiento puede entender y ejecutar, o el conjunto de todos los
comandos implementados por un diseño particular de una CPU.
La arquitectura del conjunto de instrucciones (ISA) se emplea a veces para distinguir este
conjunto de características de la microarquitectura, que son los elementos y técnicas que se
emplean para implementar el conjunto de instrucciones. Entre estos elementos se encuentran
las microinstrucciones y los sistemas de caché.
3
UNIDAD IV Programación de Microcontroladores
Sistemas Programables
Existen varios tipos de lenguaje ensamblador, aunque finalmente todos realizan las mismas
tareas.
4
UNIDAD IV Programación de Microcontroladores
Sistemas Programables
4.6 Codificación
Una vez que los algoritmos de una aplicación han sido diseñados, ya se puede iniciar la fase de
codificación. En esta etapa se tienen que traducir dichos algoritmos a un lenguaje de
programación específico, en nuestro caso C; es decir, las acciones definidas en los algoritmos
las vamos a convertir en instrucciones, también llamadas sentencias, del lenguaje C.
#include <stdio.h>
int main()
{
int a, b, c;
printf( "\n Introduzca el primer n%cmero (entero): ", 163 );
scanf( "%d", &a );
printf( "\n Introduzca el segundo n%cmero (entero): ", 163 );
scanf( "%d", &b );
c = a + b;
printf( "\n La suma es: %d", c );
return 0;
}
Para codificar un algoritmo hay que conocer la sintaxis del lenguaje al que se va a traducir. Sin
embargo, independientemente del lenguaje de programación en que esté escrito un programa,
será su algoritmo el que determine su lógica..