Programacion de Microcontrolador

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 18

UNIVERSIDAD POLITECNICA AMAZONICA

PROGRAMACIN DE
MICROCONTROLADOR

Docente:
Carrera Profesional:
Curso:
Estudiantes:

Ing. Marcos Aurelio Porro Chulli


Ingeniera De Sistemas Y Telemtica
Microprocesadores
Lely Yojany Ydrogo Mego.
Deisy Gladys Vlchez Cieza.

PROGRAMACIN DE MICROCONTROLADOR

PROGRAMACIN DE MICROCONTROLADOR

1. Definicin:
El microcontrolador ejecuta el programa cargado en la memoria Flash. Esto se
denomina el cdigo ejecutable y est compuesto por una serie de ceros y unos,
aparentemente sin significado. Dependiendo de la arquitectura del microcontrolador, el
cdigo binario est compuesto por palabras de 12, 14 o 16 bits de anchura. Cada
palabra se interpreta por la CPU como una instruccin 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 ms fcil trabajar con el sistema de numeracin hexadecimal,
el cdigo ejecutable se representa con frecuencia como una serie de los nmeros
hexadecimales denominada cdigo Hex.

PROGRAMACIN DE MICROCONTROLADOR

LENGUAJE ENSAMBLADOR:
Como el proceso de escribir un cdigo ejecutable era considerablemente arduo, en
consecuencia fue creado el primer lenguaje de programacin denominado ensamblador
(ASM). Siguiendo la sintaxis bsica del ensamblador, era ms fcil escribir y
comprender el cdigo. Las instrucciones en ensamblador consisten en las abreviaturas
con significado y a cada instruccin corresponde una localidad de memoria. Un
programa denominado ensamblador compila (traduce) las instrucciones del lenguaje
ensamblador a cdigo mquina (cdigo binario).

Ventajas de lenguajes de programacin de alto nivel


A pesar de todos los lados buenos, el lenguaje ensamblador tiene algunas desventajas:

Incluso una sola operacin en el programa escrito en ensamblador consiste en


muchas instrucciones, hacindolo muy largo y difcil de manejar.

Cada tipo de microcontrolador tiene su propio conjunto de instrucciones que un


programador tiene que conocer para escribir un programa

Un programador tiene que conocer el hardware del microcontrolador para escribir


un programa

PROGRAMACIN DE MICROCONTROLADOR

2. PROTEUS:
Definicin:
El programa PROTEUS es una herramienta para la verificacin va software que
permite comprobar, prcticamente en cualquier diseo, la eficacia del programa
desarrollado. Su combinacin de simulacin de cdigo de programacin y simulacin
mixta SPICE permite verificaciones analgicas digitales de sistemas basados en
microcontroladores. Su potencia de trabajo es magnfica.

PROGRAMACIN DE MICROCONTROLADOR

PIC C:
Definicin:
PIC normalmente se usa un dispositivo llamado programador. La mayora de PIC
que Microchip distribuye hoy en da incorporan ICSP (In Circuit Serial
Programming,

programacin

serie

incorporada)

LVP

(Low

Voltage

Programming, programacin a bajo voltaje), lo que permite programar el PIC


directamente en el circuito destino. Para la ICSP se usan los pines RB6 y RB7 (En
algunos modelos pueden usarse otros pines como el GP0 y GP1 o el RA0 y RA1)
como reloj y datos y el MCLR para activar el modo programacin aplicando un
voltaje de 13 voltios. Existen muchos programadores de PIC, desde los ms
simples que dejan al software los detalles de comunicaciones, a los ms
complejos, que pueden verificar el dispositivo a diversas tensiones de
alimentacin e implementan en hardware casi todas las funcionalidades. Muchos
de estos programadores complejos incluyen ellos mismos PIC preprogramados
como interfaz para enviar las rdenes al PIC que se desea programar. Uno de los
programadores ms simples es el TE20, que utiliza la lnea TX del puerto RS232 como alimentacin y las lneas DTR y CTS para mandar o recibir datos
cuando el microcontrolador est en modo programacin. El software de
programacin puede ser el ICprog, muy comn entre la gente que utiliza este tipo
de microcontroladores. Entornos de programacin basados en intrpretes BASIC
ponen al alcance de cualquier proyecto que parecieran ser ambiciosos.

PROGRAMACIN DE MICROCONTROLADOR

Caractersticas:

arquitectura RISC

El microcontrolador cuenta con solo 35 instrucciones diferentes

Todas las instrucciones son uni-ciclo excepto por las de ramificacin

Frecuencia de operacin 0-20 MHz

Oscilador interno de alta precisin

Calibrado de fbrica

Rango de frecuencia de 8MHz a 31KHz seleccionado por software

Voltaje de la fuente de alimentacin de 2.0V a 5.5V

Consumo: 220uA (2.0V, 4MHz), 11uA (2.0 V, 32 KHz) 50nA (en modo de

espera)

Ahorro de energa en el Modo de suspensin

Brown-out Reset (BOR) con opcin para controlar por software

35 pines de entrada/salida

alta corriente de fuente y de drenador para manejo de LED

resistencias pull-up programables individualmente por software

interrupcin al cambiar el estado del pin

memoria ROM de 8K con tecnologa FLASH

Opcin de programacin serial en el circuito

El chip se puede re-programar hasta 100.000 veces

El chip se puede programar incluso incorporado en el dispositivo destino.

256 bytes de memoria EEPROM

Los datos se pueden grabar ms de 1.000.000 veces

368 bytes de memoria RAM

Convertidor A/D:

14 canales

resolucin de 10 bits

3 temporizadores/contadores independientes

Temporizador perro guardin

Mdulo comparador analgico con

Dos comparadores analgicos

Referencia de voltaje fija (0.6V)

Referencia de voltaje programable en el chip


5

PROGRAMACIN DE MICROCONTROLADOR

Mdulo PWM incorporado

Mdulo USART mejorado

Soporta las comunicaciones seriales RS-485, RS-232 y LIN2.0

Auto deteccin de baudios

Puerto Serie Sncrono Maestro (MSSP)

Soporta los modos SPI e I2C

3. Lenguaje C
Definicin:
Un programa codificado en lenguaje C resulta muy til en la aplicacin de
controladores, dado que su compilacin es bastante eficiente y ptima
acercndose a la codificacin de lenguaje de mquina. Lo descriptivo de la
sintaxis permite elaborar de mejor forma los algoritmos olvidndose de los
molestos push y pop usados en el lenguaje de mquina cuando se usan saltos
a subrutinas.
El lenguaje C dispone de todas las ventajas de un lenguaje de programacin de
alto nivel (anteriormente descritas) y le permite realizar algunas operaciones
tanto sobre los bytes como sobre los bits (operaciones lgicas, desplazamiento
etc.). Las caractersticas de C pueden ser muy tiles al programar los
microcontroladores. Adems, C est estandarizado (el estndar ANSI), es muy
portable, as que el mismo cdigo se puede utilizar muchas veces en diferentes
proyectos. Lo que lo hace accesible para cualquiera que conozca este lenguaje
sin reparar en el propsito de uso del microcontrolador. C es un lenguaje
compilado, lo que significa que los archivos fuentes que contienen el cdigo C
se traducen a lenguaje mquina por el compilador. Todas estas caractersticas
hicieron al C uno de los lenguajes de programacin ms populares.

PROGRAMACIN DE MICROCONTROLADOR

Caractersticas:

FASES DE COMPILACIN:
El proceso de compilacin consiste en varios pasos y se ejecuta automticamente por
el compilador. Por con, un conocimiento bsico del funcionamiento puede ser til para
entender l concepto del lenguaje mikroC.
El archivo fuente contiene el cdigo en mikroC que usted escribe para programar el
microcontrolador. El preprocesador se utiliza automticamente por el compilador al
iniciarse el proceso de la compilacin. El compilador busca las directivas del
preprocesador (que siempre empiezan por #) dentro del cdigo y modifica el cdigo
fuente de acuerdo con las directivas. En esta fase se llevan a cabo inclusin de
archivos, definicin de constantes y macros etc, lo que facilita el proceso. Ms tarde
vamos a describir estas directivas en detalle. El analizador sintctico (parser) elimina
toda la informacin intil del cdigo (comentarios, espacios en blanco). Luego,
elcompilador traduce el cdigo a un archivo binario denominado archivo .mcl.
El enlazador (linker) recupera toda la informacin requerida para ejecutar el programa
de los archivos externos y la agrupa en un solo archivo (.dbg). Adems, un proyecto
puede contener ms de un archivo fuente y el programador puede utilizar funciones

predefinidas y agrupadas dentro de los archivos denominados libreras. Por ltimo,


el generador .hex produce un archivo .hex. Es el archivo que se va a cargar en el
microcontrolador.

El proceso entero de la compilacin que incluye todos los pasos anteriormente descritos
se le denomina building

PROGRAMACIN DE MICROCONTROLADOR

ESTRUCTURA DE PROGRAMA:
La

idea

principal

de

escribir

un

programa en C es de romper un
problema mayor en varios trozos ms
pequeos.

Supongamos

que

es

necesario escribir un programa para el


microcontrolador

para

medir

la

temperatura y visualizar los resultados


en un LCD. El proceso de medicin se
realiza por un sensor que convierte
temperatura

en

voltaje.

El

microcontrolador utiliza el convertidor


A/D para convertir este voltaje (valor analgico) en un nmero (valor digital) que luego
se enva al LCD por medio de varios conductores. En consecuencia, el programa se
divide en cuatro partes, de las que cada una corresponde a una accin especfica:

1. Activar y configurar el convertidor A/D incorporado;


2. Medir el valor analgico;
3. Calcular temperatura; y
4. Enviar los datos en el formato apropiado al LCD;
Los lenguajes de programacin de alto nivel como es C le permiten solucionar
este problema con facilidad al escribir cuatro funciones que se ejecutarn
cclicamente sin parar.
La idea general es de dividir el problema en varios trozos, de los que cada uno se
puede escribir como una sola funcin. Todos los programas escritos en mikroC
contienen por lo menos una funcin llamada main() que encierra entre llaves {} las
sentencias a ser ejecutadas. Esto es la primera funcin a ser ejecutada al iniciarse
la ejecucin de programa. Las otras funciones se pueden llamar dentro de la
funcin main. En otras palabras, podemos decir que la funcin main () es
obligatoria, mientras que las dems son opcionales. Si todava no ha escrito un
programa en C, es probable que todo le resulte confuso. No se preocupe, acptelo
tal como es por el momento y ms tarde entender la sintaxis.
8

PROGRAMACIN DE MICROCONTROLADOR

Ejemplos:

PROGRAMACIN DE MICROCONTROLADOR

4. Visual Basic:
Definicin:
El lenguaje de programacin Visual Basic es uno de los lenguajes de programacin
que utiliza una interfaz visual es decir que nos permite programar en un entorno
grfico, nos permite realizar un gran nmero de tareas sin escribir cdigo,
simplemente realizando operaciones con el ratn sobre la pantalla de la
computadora.
Este lenguaje de programacin es uno de los que ms inters despiertan entre los
programadores. Porque este lenguaje de programacin, el Visual Basic, le facilita
la realizacin de tareas complejas en poco tiempo y a los que estn comenzado a
programar con Visual Basic ven como son capaces de realizar pequeos
programas al poco tiempo de haber comenzado a estudiar este lenguaje de
programacin.
El Visual Basic es un lenguaje de programacin que proviene del BASIC. La primera
versin de este lenguaje de programacin Visual Basic fue presentada en el ao
1991. La intencin de este primer programa era simplificar la programacin
utilizando un entorno de trabajo claro que permitiera crear interfaces grficas
facilitando as la programacin.
Las sintaxis que utiliza este lenguaje de programacin proviene del conocido
BASIC, pero completada con comandos y cdigos de otros lenguajes ms
modernos. Este lenguaje de programacin Visual Basic tiene un apartado dedicado
a la Programacin Orientada a Objetos.
Es un lenguaje muy apropiado para el manejo de bases de datos. Muchas
empresas lo utilizan para la gestin de sus bases de datos porque su utilizacin es
sencilla y abundan los programadores de este lenguaje.

10

PROGRAMACIN DE MICROCONTROLADOR

Caractersticas:
En los siguientes temas se presentan y se describen los componentes bsicos de Visual
Basic, un lenguaje de programacin orientado a objetos. Tras crear la interfaz de
usuario de su aplicacin utilizando formularios y controles, debe escribir el cdigo que
define el comportamiento de la aplicacin. Al igual que cualquier otro lenguaje de
programacin moderno, Visual Basic admite varios elementos de lenguaje y
construcciones de programacin comunes.
Matrices
Explica cmo hacer el cdigo ms compacto y eficaz declarando y utilizando
matrices, que contienen mltiples valores relacionados.
Inicializadores de coleccin
Describe los inicializadores de coleccin, que permiten crear una coleccin y
rellenarla con un conjunto inicial de valores.
Constantes y enumeraciones
Explica el almacenamiento de valores inmutables para su uso repetido, incluidos
los conjuntos de valores constantes relacionados.
Control Flow
Muestra cmo regular el flujo de la ejecucin del programa.
Tipos de datos
Describe qu tipos de datos pueden albergar los elementos de programacin y
la forma en que stos se almacenan.
Elementos Declarados
Cubre los elementos de programacin que puede declarar, sus nombres y
caractersticas, y cmo el compilador resuelve las referencias a los mismos.

11

PROGRAMACIN DE MICROCONTROLADOR

Delegados
Proporciona una introduccin a los delegados y a cmo se utilizan en Visual
Basic.
Enlace en tiempo de compilacin y en tiempo de ejecucin (Visual Basic)
Describe los enlaces, que realiza el compilador cuando se asigna un objeto a
una variable de objeto, y las diferencias entre los objetos con enlaces en tiempo
de compilacin y en tiempo de ejecucin.
Tipos de error (Visual Basic)
Proporciona informacin general sobre los errores de sintaxis, los errores en
tiempo de ejecucin y los errores lgicos.
Eventos
Muestra cmo declarar y utilizar eventos.
Interfaces
Describe qu son las interfaces y cmo pueden utilizarse en las aplicaciones.
LINQ
Proporciona vnculos a temas que introducen las caractersticas y la
programacin de Language-Integrated Query (LINQ).
Objetos y clases
Ofrece informacin general sobre objetos y clases, cmo se utilizan, cmo se
relacionan entre s, y las propiedades, mtodos y eventos que exponen.
Operadores y expresiones
Describe los elementos de cdigo que manipulan elementos que contienen
valores, cmo utilizarlos eficientemente y cmo combinarlos para producir
nuevos valores.
Procedimientos
Explica los procedimientos Sub, Function, Property y Operator, adems de
temas avanzados como procedimientos recursivos y sobrecargados.

12

PROGRAMACIN DE MICROCONTROLADOR

5. Assembler:
Definicin:
Es un lenguaje de bajo nivel. Consiste en un conjunto de mnemnicos que
representan

instrucciones

bsicas

para

los computadores, microprocesadores, microcontroladores y otros circuitos


integrados programables. Implementa una representacin simblica de
los cdigos de mquina binarios y otras constantes necesarias para programar
una arquitectura de procesador y constituye la representacin ms directa
del cdigo mquina especfico para cada arquitectura legible por un
programador. Cada arquitectura tiene su propio lenguaje ensamblador que
usualmente es definida por el fabricante de hardware, y est basada en
los

mnemnicos

que

simbolizan

los

pasos

de

procesamiento

(las

instrucciones), los registros del procesador, las posiciones de memoria y otras


caractersticas del lenguaje. Un lenguaje ensamblador es por lo tanto especfico
de cierta arquitectura de computador fsica (o virtual). Esto est en contraste
con la mayora de los lenguajes de programacin de alto nivel, que idealmente
son porttiles.
Caractersticas:

El cdigo escrito en lenguaje ensamblador posee una cierta dificultad de


ser entendido ya que su estructura se acerca al lenguaje mquina, es decir,
es un lenguaje de bajo nivel.

El lenguaje ensamblador es difcilmente portable, es decir, un cdigo escrito


para un microprocesador, puede necesitar ser modificado, para poder ser
usado en otra mquina distinta. Al cambiar a una mquina con arquitectura
diferente, generalmente es necesario reescribirlo completamente.

Los programas hechos por un programador experto en lenguaje


ensamblador son generalmente mucho ms rpidos y consumen menos
recursos del sistema (memoria RAM y ROM) que el programa equivalente
compilado desde un lenguaje de alto nivel. Al programar cuidadosamente
en lenguaje ensamblador se pueden crear programas que se ejecutan ms
rpidamente y ocupan menos espacio que con lenguajes de alto nivel.

Con el lenguaje ensamblador se tiene un control muy preciso de las tareas


realizadas por un microprocesador por lo que se pueden crear segmentos
13

PROGRAMACIN DE MICROCONTROLADOR

de cdigo difciles y/o muy ineficientes de programar en un lenguaje de alto


nivel, ya que, entre otras cosas, en el lenguaje ensamblador se dispone de
instrucciones del CPU que generalmente no estn disponibles en los
lenguajes de alto nivel.

Tambin se puede controlar el tiempo en que tarda una rutina en


ejecutarse, e impedir que se interrumpa durante su ejecucin.

Resumen:
PROGRAMACIN DE MICROCONTROLADOR

Definicin:
El microcontrolador ejecuta el programa cargado en la memoria Flash. Esto se
denomina el cdigo ejecutable y est compuesto por una serie de ceros y unos,
aparentemente sin significado.
PROTEUS:
Definicin:
El programa PROTEUS VSM es una herramienta para la verificacin va software
que permite comprobar, prcticamente en cualquier diseo, la eficacia del programa
desarrollado.
PIC C:
Definicin:
PIC normalmente se usa un dispositivo llamado programador. La mayora de PIC
que Microchip distribuye hoy en da incorporan ICSP (In Circuit Serial Programming,
programacin serie incorporada) o LVP (Low Voltage Programming, programacin
a bajo voltaje), lo que permite programar el PIC directamente en el circuito destino.
LENGUAJE C
Definicin:
Un programa codificado en lenguaje C resulta muy til en la aplicacin de
controladores, dado que su compilacin es bastante eficiente y ptima
acercndose a la codificacin de lenguaje de mquina.
Visual Basic:
Definicin:
14

PROGRAMACIN DE MICROCONTROLADOR

El lenguaje de programacin Visual Basic es uno de los lenguajes de programacin


que utiliza una interfaz visual es decir que nos permite programar en un entorno
grfico, nos permite realizar un gran nmero de tareas sin escribir cdigo,
simplemente realizando operaciones con el ratn sobre la pantalla de la
computadora.
Assembler:
Definicin:
Es un lenguaje de bajo nivel. Consiste en un conjunto de mnemnicos que
representan

instrucciones

bsicas

para

los computadores, microprocesadores, microcontroladores y otros circuitos


integrados programables.
Sumary:
Microcontroller Programming

Definition:
The microcontroller executes the program loaded in the Flash memory. This is called
the executable code and is composed of a series of zeros and ones, apparently
meaningless.
PROTEUS:
Definition:
The PROTEUS VSM program is a tool for verification via software so you can see
virtually any design, program effectiveness developed.
PIC C:
Definition:
A device called PIC programmer normally used. Most PIC Microchip distributes
nowadays incorporates ICSP (In Circuit Serial Programming, programming built series)
or LVP (Low Voltage Programming, programming low voltage), which lets you program
the PIC directly to the target circuit.

LANGUAGE C
Definition:
15

PROGRAMACIN DE MICROCONTROLADOR

A program coded in C language is very useful in the application of controllers, since


compilation is quite efficient and optimal approaching the machine language coding.
Visual Basic:
Definition:
The programming language Visual Basic is a programming language that uses a visual
interface that is allowing us to program in a graphical environment, allows us to perform
a number of tasks without writing code, simply performing operations with the mouse on
the screen of the computer.
Assembler:
Definition:
It is a low-level language. Is a set of mnemonics representing basic instructions for
computers, microprocessors, microcontrollers and other programmable integrated
circuits.
Recomendaciones:

Cuando se realice trabajos se debe formar un equipo en el cual involucre


personas relacionadas con el tema y especialistas como por ejemplo: en
Programacin, inteligencia artificial, informtica.

En las carreras de Ingeniara en Sistemas se debe realizar un estudio ms


profundo que los estudiantes se relacionen con este campo y vean a ms
futuros proyectos de avanzada.

Hoy en da los sitios web cuenta con textos actuales afines, de lo que es
programacin de microcontroladores.

Conclusiones:
Los microcontroladores PIC estn en auge, utilizndose en proyectos industriales,
de investigacin y para docencia. No tiene sentido que el diseador slo pueda
utilizar una nica plataforma para desarrollar aplicaciones con ellos. Parece ms
lgico que el diseador utilice la que ms le convenga, o la que normalmente use.

Apreciacin de Equipo:
En este trabajo de investigacin hemos aprendido a identificar la variedad de tipos
de lenguaje de programacin en microcontroladores.

16

PROGRAMACIN DE MICROCONTROLADOR

Y cada tipo de lenguaje de programacin es muy importante para conocer cada


una de sus funciones.
Glosario de trminos

Hexadecimal: El sistema hexadecimal (abreviado como 'Hex', no

confundir con sistema sexagesimal) es el sistema de numeracin posicional


que tiene como base el 16.

Subrutinas: En informtica, una subrutina o subprograma (tambin

llamada procedimiento, funcin, rutina o mtodo), como idea general, se


presenta como un su algoritmo que forma parte del algoritmo principal, el cual
permite resolver una tarea especfica.

6. Linkografa:
http://learn.mikroe.com/ebooks/microcontroladorespicc/chapter/lenguajes-de-programacion/
http://learn.mikroe.com/ebooks/microcontroladorespicc/chapter/caracteristicas-principales-delmikroc/
http://www.larevistainformatica.com/lenguaje-programacion-viasual-basic.htm
https://msdn.microsoft.com/es-es/library/bbykd75d.aspx
https://es.wikipedia.org/wiki/Lenguaje_ensamblador

17

También podría gustarte