Actividad 5
Actividad 5
SEPTIMO CUATRIMESTRE
MICROCONTROLADORES
Introducción
Conclusión
INTRODUCCION
A medida que el programa de los microcontroladores se hace más
complejo, trabajar en lenguaje "assembler" se hace más dispendioso, difícil de
manejar y el control de interrupciones muchas veces son un dolor de cabeza. Una
muy buena alternativa para solucionar estos problemas, es usar el lenguaje C para
programarlos.
Lenguaje máquina
Lenguaje ensamblador
Traductor
Compilador
Permite traducir todo un programa de una sola vez, haciendo una ejecución
más rápida y puede almacenarse para usarse luego sin volver a hacer la
traducción.
2.- Lenguajes de programación de los PIC.
Dentro de los lenguajes en los que programamos rutinas para PIC existen
tres posibilidades:
Lenguaje BASIC
Lenguaje C
El lenguaje BASIC:
Ventajas:
Con este lenguaje tampoco se puede controlar del todo los tiempos y los
registros bit a bit.
Para este lenguaje existen también varias casas que producen software y
compiladores para este lenguaje entre ellas las más importantes son:
www.microchip.com con sus compiladores C18 para la gama alta y C30 para los
dsPIC, ambos Como otras herramientas de esta marca, se puede incluir en el
entorno gratuito MPLAB IDE, y permite a los desarrolladores, llevar a cabo su
aplicación en un lenguaje de alto nivel.
Además, incluyen una gran cantidad de librerías muy útiles para asociar
con la rutina que estamos desarrollando. Este compilador también puede
integrarse con MPLAB IDE. No es gratuito.www.htsoft.com (HI-TECH) Sus
herramientas más conocidas son PICC y PICC18. No son gratuitos.
Lenguaje Ensamblador:
Ventajas:
Es el lenguaje de bajo nivel natural de la línea PIC tanto para gama baja,
media o alta.
Como permite controlar todos los procesos puestos en marcha dentro del
microcontrolador, este lenguaje de programación todavía sigue siendo popular.
Por otro lado, los programas se ejecutan siempre a alta velocidad y en la mayoría
de casos no es necesario saber en detalle qué ocurre dentro del microcontrolador.
A pesar de todos los lados buenos del lenguaje ensamblador, los programadores
siempre han necesitado un lenguaje de programación similar al lenguaje utilizado
en el habla cotidiana. Por último, los lenguajes de programación de alto nivel
(Basic entre otros) fueron creados.
La ventaja principal de estos lenguajes es la simplicidad de escribir un
programa. Varias instrucciones en ensamblador se sustituyen por una sentencia
en Basic. El programador ya no tiene que conocer el conjunto de instrucciones del
microcontrolador utilizado. Ya no es posible conocer exactamente cómo se ejecuta
cada sentencia, de todas formas, ya no importa. Aunque siempre se puede
insertar en el programa una secuencia escrita en ensamblador.
Todo lo que se escriba luego de un ";" (punto y coma) será ignorado por el
ensamblador, estos son los comentarios, y sirve para saber qué hace cada línea
de código. Describamos el programa por partes.
BSF (SET FILE REGISTER), es la instrucción que pone un uno en el bit del
registro especificado, en este caso pone a uno el bit 5 del registro STATUS (el
rp0), para pasar al banco 1. movlw significa mueve la siguiente literal al Registro
W. W es el Registro de Trabajo, y lo usamos para almacenar momentáneamente
los datos que queremos mover. una vez hecho esto pasamos el dato a trisa, o a
trisb, según el caso. movwf significa mueve el contenido del registro W al registro
f, en este caso f sería trisa o trisb. BCF (BIT CLEAR FILE REGISTER), ésta
instrucción limpia el bit del registro especificado, o lo pone a cero, en este caso
pone a cero el bit 5 del registro STATUS para regresar al banco 0.
Programando una rutina Lo que hicimos hasta ahora solo fue configurar los
puertos, pero no genera ninguna señal ni nada por el estilo. Ejecutaremos una
rutina básica enviando una señal de encendido hacia un puerto de salida.
Encenderemos un LED, lo mantendremos encendido por un tiempo, luego lo
apagaremos y haremos que se repita todo de nuevo. Le pondremos un nombre,
aquí le asignaremos LED1.asm (no olvidar el .asm)
Si bien es cierto, que trabajar desde un lenguaje de alto nivel tiene sus
ventajas, también es cierto que esto hace que el programador no necesariamente
deba tener un conocimiento claro de la estructura interna del microcontrolador.
https://www.mikroe.com/ebooks/microcontroladores-pic-programacion-en-
basic/lenguajes-de-programacion
http://electronicadesarrollo.blogspot.com/2007/12/programacin-de-pics.html