Sei sulla pagina 1di 52

Principios de

programacin para
microcontroladores

Diagramas de flujo

El Diagrama de Flujo es una herramienta muy

conveniente que suele utilizarse para la


realizacin de un programa
Estos diagramas ayudan a organizar los pasos
a seguir por el procesador, para llevar a cabo
una tarea determinada, o sea muestra el flujo
de la informacin y de los datos.
Se realizan con cuatro smbolos bsicos,
aunque para otros fines la cantidad de
smbolos puede ser un poco mayor.

Smbolos
Acciones

Decisiones

Modulo
Conector

En los ejemplos siguientes se muestran algunos

diagramas de flujo que ponen en evidencia las


caractersticas de uso de cada uno de los smbolos,
ellos representaran el funcionamiento de distintos
programas.

Ejemplo 1
C

El programa, luego de comenzar,


realiza 3 acciones y termina.

Ejemplo 2
C

El programa comienza, realiza una


accin y se queda esperando.

Ejemplo 3
C

El programa comienza, realiza 2

acciones, luego toma una decisin y


dependiendo de esta puede terminar o
repetir la ltima accin.

Cabe destacar que el ejemplo 1 tiene un comienzo y

un final de programa, el ejemplo 2 comienza y nunca


se deja de ejecutar y el ejemplo 3 muestra la
realizacin de algunas acciones y para que el
programa deje de ejecutarse se debe cumplir una
determinada condicin.

Ejemplo practico
Supongamos que se desea realizar un diagrama de

flujo que represente la secuencia de funcionamiento


de un semforo por demanda, o sea este semforo
permanecer en verde hasta que se presione un
pulsador, luego de ocurrido esto se esperar un
determinado tiempo y el semforo realizar una
secuencia completa hasta regresar a verde para
reiniciar nuevamente el ciclo

no

Encender luz
verde

Apagar luz
amarilla

Se
oprimi
botn

Encender luz
roja

si
Apagar luz
verde

Esperar 60
segundos

Encender luz
amarilla

Apagar luz
roja

Esperar 10
segundos

DISEO DE UN PROGRAMA
ELEMENTOS DE UN PROGRAMA

Elementos de un programa
En programacion se debe separar la diferencia entre

el diseo del algoritmo y su implementacion en un


lenguaje especifico.

Elementos basicos
Los elementos basicos de un programa o algoritmo
son:
palabras reservadas (inicio, fin, entonces, etc.)
identificadores (nombres de variables,
procedimientos y funciones).
Caracteristicas especiales (coma, apostrofe, etc.)
Constantes, variables, expresiones e instrucciones.

Entrada y salida de datos

ENTRADA

PROCESO

SALIDA

Entrada y salida de datos


Los calculos que realizan las computadoras

requieren la entrada de los datos necesarios para


ejecutar las operaciones que se convertiran en
resultados, es decir salida.

Entrada y salida de datos


Las entradas permiten leer determinados valores y

asignarlos a variables. Se conocen como operacin de


lectura.
La operacin de salida se conoce como escritura
Leer (lista de variables de entrada)
Escribir (lista de variables de salida)

Escritura de algoritmos
La escritura de un algoritmo mediante una

herramienta de programacion debe ser lo mas clara y


estructurada posible.
Deben ser escritos en lenguajes similares a los
programas.

Escritura de algoritmos
Un algoritmo constara de dos componentes:
Una cabecera de programa, que es una accion simple
que comienza con la palabra algoritmo.
Esta palabra estara seguida por el nombre asignado
del programa.

Escritura de algoritmos
Un bloque de algoritmo, que es el resto del programa

y consta de dos secciones:


Las acciones de declaracion que definen las variables
y constantes que usaremos
Las acciones ejecutables que es la logica con la cual
se realizara nustro programa

Declaracion de constantes numericas


En esta seccion se declaran todas las constantes que

tengan nombre
Los valores ya no pueden variar en el transcurso del
algoritmo

Comentarios
La documentacion de un programa es el conjunto de

informacion interna y externa que facilitara su


posterior mantenimiento y puesta en marcha

DISEO DE UN PROGRAMA
HERRAMIENTAS DE PROGRAMACION
HARDAWARE Y SOFTWARE

Hardware
El Hardware Bsico: son las piezas fundamentales e

imprescindibles para que la computadora funcione


como son: Tarjeta madre, monitor, teclado y ratn.
El Hardware Complementario: son todos aquellos
dispositivos adicionales no esenciales como pueden
ser: impresora, escner, cmara de vdeo digital,
webcam, etc.

Grupos de Hardware
Segn sus funciones, los componentes y dispositivos del

hardware se dividen en varios grupos y en el siguiente orden:


Dispositivos de Entrada
Chipset (Circuito Integrado Auxiliar)
Unidad Central de Procesamiento (CPU)
Unidad de Control
Unidad Aritmtico-Lgica
Unidad de Almacenamiento
Memoria Principal o Primaria (RAM ROM)
Memoria Secundaria o Auxiliar (Disco Duro, Flexible, etc.)
Dispositivos de Salida

Dispositivos de entrada
Son aquellos a travs de los cuales se envan datos

externos a la unidad central de procesamiento, como


el teclado, ratn, escner, o micrfono, entre otros.

Chipset (circuito integrado auxiliar)


Es la mdula espinal de la computadora, integrado

en la tarjeta madre, hace posible que esta funcione


como eje del sistema permitiendo el trfico de
informacin entre el microprocesador (CPU) y el
resto de componentes de la tarjeta madre,
interconectndolos a travs de diversos buses

Unidad Central de Procesamiento (CPU)


La CPU puede estar compuesta por uno o varios

microprocesadores de circuitos integrados que se


encargan de interpretar y ejecutar instrucciones, y de
administrar, coordinar y procesar datos, es en
definitiva el cerebro del sistema de la computadora
La velocidad de la computadora depende de la
velocidad de la CPU o microprocesador

Unidad de Control
Es la encargada de controlar que las instrucciones se

ejecuten, buscndolas en la memoria principal,


decodificndolas (interpretndolas) y que despus
sern ejecutadas en la unidad de proceso.

Unidad Aritmtico-Lgica
Es la unidad de proceso donde se lleva a cabo la

ejecucin de las instrucciones con operaciones


aritmticas y lgicas.

Unidad de Almacenamiento
Guarda todos los datos que son procesados en la

computadora y se divide en Memoria Principal y


Memoria Secundaria o Auxiliar.

Memoria Principal o Primaria (RAM ROM)


En la Memoria Principal o Primaria de la computadora

se encuentran las memorias RAM, ROM y CACH.


La Memoria RAM es un circuito integrado o chip que
almacena los programas, datos y resultados ejecutados
por la computadora y de forma temporal, pues su
contenido se pierde cuando esta se apaga
La Memoria ROM viene grabada en chips con una serie
de programas por el fabricante de hardware y es slo de
lectura, por lo que no puede ser modificada
La Memoria Cach es una memoria auxiliar de alta
velocidad, que no es ms que una copia de acceso rpido
de la memoria principal almacenada en los mdulos de
RAM

Memoria Secundaria o Auxiliar


Est compuesta por todos aquellos dispositivos

capaces de almacenar datos en dispositivos que


pueden ser internos como el disco duro, o extrable
como los discos flexibles (disquetes), CDs, DVDs, etc.

Dispositivos de Salida
Salida son aquellos que reciben los datos procesados

por la computadora y permiten exteriorizarlos a


travs de perifricos como el monitor, impresora,
escner, plotter, altavoces,etc.

Software
El Software es el soporte lgico e inmaterial que

permite que la computadora pueda desempear


tareas inteligentes, dirigiendo a los componentes
fsicos o hardware con instrucciones y datos a travs
de diferentes tipos de programas.

Clasificacion de software
El Software son los programas de aplicacin y los

sistemas operativos, que segn las funciones que


realizan pueden ser clasificados en:
Software de Sistema
Software de Aplicacin
Software de Programacin

Software de Sistema
Es el conjunto de programas que sirven para

interactuar con el sistema, confiriendo control sobre


el hardware, adems de dar soporte a otros
programas.
Se divide en:
Sistema Operativo
Controladores de Dispositivos
Programas Utilitarios

Sistema Operativo
Es un conjunto de programas que administran los

recursos de la computadora y controlan su


funcionamiento
Un Sistema Operativo realiza cinco funciones
bsicas: Suministro de Interfaz al Usuario,
Administracin de Recursos, Administracin de
Archivos, Administracin de Tareas y Servicio de
Soporte.

Controladores de Dispositivos
Son programas que permiten a otros programa de

mayor nivel como un sistema operativo interactuar


con un dispositivo de hardware

Programas Utilitarios
Realizan diversas funciones para resolver problemas

especficos, adems de realizar tareas en general y de


mantenimiento.
Algunos se incluyen en el sistema operativo.

Software de Aplicacin
Son los programas diseados para o por los usuarios

para facilitar la realizacin de tareas especficas en la


computadora, como pueden ser las aplicaciones
ofimticas (procesador de texto, hoja de clculo,
programa de presentacin, sistema de gestin de
base de datos...), u otros tipos de software
especializados

Software de Programacin
Es el conjunto de herramientas que permiten al

desarrollador informtico escribir programas usando


diferentes alternativas y lenguajes de programacin

Set de Instrucciones

Set de Instrucciones
El conjunto de instrucciones que puede entender o ejecutar un

Microprocesador o microcontrolador es exclusivo de ese


dispositivo

Ya que es el fabricante el que se encarga de definir sus

instrucciones de acuerdo al diseo del hardware para poder


implementar su circuito

As el conjunto de instrucciones en lenguaje ensamblador no

sera compatible con ningn otro micro

Es el mismo fabricante el encargado de especificar en sus

hojas de datos el conjunto de instrucciones de sus dispositivos

Set de Instrucciones
Para programar en ensamblador es necesario

conocer las instrucciones con las que podemos


realizar nuestras tareas
Estas instrucciones se llaman mnemnicos y son

definidas por el fabricante


Para conocerlas debemos consultar el conjunto de

instrucciones (Set de Instrucciones) en el manual del


microcontrolador

Set de Instrucciones
Cada arquitectura de computadoras tiene su propio lenguaje de

mquina, y en consecuencia su propio lenguaje ensamblador

Los ordenadores difieren en el tipo y nmero de operaciones que

soportan

tambin pueden tener diferente cantidad de registros


Distinta representacin de los tipos de datos en memoria
Aunque la mayora de las computadoras son capaces de cumplir

esencialmente las mismas funciones, la forma en que lo hacen


difiere y los respectivos lenguajes ensamblador reflejan tal
diferencia

Set de Instrucciones
El cdigo mquina, o lenguaje de mquina, est

formado por instrucciones sencillas, que


dependiendo de la estructura del procesador- pueden
especificar:
Registros especficos para operaciones aritmticas,
direccionamiento o control de funciones.
Posiciones de memoria especficas (offset).
Modos de direccionamiento usados para interpretar operandos.

Set de Instrucciones
Las operaciones ms complejas se realizan

combinando estas instrucciones sencillas, que


pueden ser ejecutadas secuencialmente o mediante
instrucciones de control de flujo.
Las operaciones disponibles en la mayora de los
conjuntos de instrucciones son las siguientes

Set de Instrucciones
mover
llenar un registro con un valor constante
mover datos de una posicin de memoria a un registro o viceversa
escribir y leer datos de dispositivos
computar
sumar, restar, multiplicar o dividir los valores de dos registros,
colocando el resultado en uno de ellos o en otro registro
o realizar operaciones binarias, incluyendo operaciones lgicas
(AND/OR/XOR/NOT)
comparar valores entre registros (mayor, menor, igual)
afectar el flujo del programa
saltar a otra posicin en el programa y ejecutar instrucciones all
saltar si se cumplen ciertas condiciones (IF)
saltar a otra posicin, pero guardar el punto de salida para retornar
(CALL, llamada a subrutinas)

Set de Instrucciones
Algunas computadoras incluyen instrucciones

complejas dentro de sus capacidades. Una sola


instruccin compleja hace lo mismo que en otras
computadoras puede requerir una larga serie de
instrucciones, por ejemplo:

salvar varios registros en la pila de una sola vez


mover grandes bloques de memoria
operaciones aritmticas complejas o de punto flotante (seno,
coseno, raz cuadrada)

Lnea de instruccin
La lnea de instruccin se fracciono en cuatro partes

importantes:

1.

Etiqueta
2. Instruccin
3. Operandos
4. Comentarios

ETIQUETA:
Es una cadena alfanumrica que inicia con el carcter _ o con un carcter alfabtico y se debe
escribir al inicio de la lnea sin ningn espacio anterior.
INSTRUCCIN:
Cadena de caracteres usualmente alfabticos que son parte del conjunto de instrucciones del
microcontrolador o microprocesador, o tambin pueden ser directivas del ensamblador. Sern las
palabras reservadas que no se pueden usar como etiquetas, y estas siempre se escribirn en una
segunda columna, es decir mnimo debe existir un espacio antes de la cadena, adems las
instrucciones se encuentran definidas dentro de la tabla de cdigos de operacin del micro.
OPERANDOS:
Son los datos con los que trabajaran las instrucciones, estos pueden ser nmeros, en distintas bases
numricas (decimal, octal, hexadecimal o binario; tambin podran ser caracteres como cdigos
ASCII), registros internos del micro o incluso etiquetas, se encuentran en la tercera columna. No
todas las instrucciones tienen operandos, existirn lneas en donde no exista operando, de igual
forma habr instrucciones que requieran de mas de un operando en cuyo caso estos se separan con
,.
COMENTARIOS:
Se pueden escribir en cualquier parte de la linea, se identifican por que inician con el carcter ;.

Potrebbero piacerti anche