21
MICROCONTROLADORES SEGUNDO PARCIAL SESION 7 7) Lenguaje C para microcontroladores 7.1 Estructura 7.2 Directivas 7.3 Tipos de Datos 7.4 Variables

Micc Tema No. 7 Lenguaje C.pptx

Embed Size (px)

Citation preview

Page 1: Micc Tema No. 7 Lenguaje C.pptx

MICROCONTROLADORES

SEGUNDO PARCIAL

SESION

7

7) Lenguaje C para microcontroladores 7.1 Estructura 7.2 Directivas 7.3 Tipos de Datos 7.4 Variables

Page 2: Micc Tema No. 7 Lenguaje C.pptx

7) LENGUAJE C PARA MICROCONTROLADORES

• MICROCONTROLADORES

Page 3: Micc Tema No. 7 Lenguaje C.pptx

Lenguajes de Programación

• Como el proceso de escribir directamente código ejecutable es extremadamente cansado, se creó entonces el programa ensamblador.

• Sin embargo la programación en ensamblador sigue complicada y muy dependiente de la arquitectura interna del PIC, pero al menos la programación dejó de ser una pesadilla.

• Las instrucciones en lenguaje ensamblador se representan en forma abreviada mediante símbolos con sentido funcional, el proceso de ensamblado se lo deja al programa ensamblador que genera código ejecutable.

Page 4: Micc Tema No. 7 Lenguaje C.pptx

• Sin embargo los programadores siempre han necesitado de un lenguaje de programación muy próximo o cercano al lenguaje común que usamos para comunicarnos.

• Como resultado de esta necesidad se han creado los lenguajes de nivel alto. La ventaja principal de estos lenguajes es la “simplicidad” en la escritura de programas, ya no es de mucho interés conocer con exactitud cómo los comandos se ejecutan.

• En casos que requieran exactitud, es fácil insertar en el programa una secuencia de instrucciones en ensamblador, habilitándolo.

Lenguajes de Programación

Page 5: Micc Tema No. 7 Lenguaje C.pptx

• Algo similar al lenguaje ensamblador, un programa especializado llamado COMPILADOR que corre en una PC, es el encargado de compilar el programa fuente a lenguaje de máquina.

• A diferencia del programa ensamblador, un compilador genera código ejecutable que no siempre es el más corto posible, en éste sentido el ensamblador es más eficiente.

Lenguajes de Programacion

Page 6: Micc Tema No. 7 Lenguaje C.pptx

• En la siguiente gráfica se ilustra lo que ocurre durante el proceso de compilacion de un programa desde lenguaje de alto nivel a lenguaje de bajo nivel.

Lenguajes de Programacion

• MICROCONTROLADORES

Page 7: Micc Tema No. 7 Lenguaje C.pptx

Ventajas de los lenguajes de alto nivel

Page 8: Micc Tema No. 7 Lenguaje C.pptx

Ventajas de los lenguajes de alto nivel

• Los PICs basan su funcionamiento en una arquitectura RISC, es decir carecen de muchas instrucciones, tal como: multiplicacion, division, comparacion, etc.

• Cada problema tiene una solución, por ejemplo, la multiplicación fácilmente se sustituye por sumas sucesivas.

• Esto no es motivo de preocupación, porque el lenguaje C ha solucionado este problema y muchos otros.

Page 9: Micc Tema No. 7 Lenguaje C.pptx

7.1 Estructura de un programa en Lenguaje C

Page 10: Micc Tema No. 7 Lenguaje C.pptx

Comentarios• Los comentarios son parte del programa y muy necesarios para

clarificar su operación y proveer más información del mismo.• El compilador reconoce ciertos caracteres especiales usados para

designar el inicio y fin de los comentarios, ignora completamente el texto entre estos símbolos durante la compilación.

• Estos caracteres especiales son de dos tipos:

Uno define comentarios largos que se extiende varias líneas de programa./*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/

El otro define comentarios cortos de una sola línea de programa.// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Page 11: Micc Tema No. 7 Lenguaje C.pptx

• Un programa ya escrito y funcional siempre se:

Mejora.Modifica.Actualiza.Simplifica.

• Sin comentarios, tratar de entenderlo, casi siempre es una pérdida de tiempo.

Comentarios

Page 12: Micc Tema No. 7 Lenguaje C.pptx

7.2 DIRECTIVAS DEPREPROCESADOR

• Un preprocesador es parte integral del compilador C y su función es reconocer y ejecutar instrucciones del preprocesador.

• Las instrucciones del preprocesador son especiales ya que no pertenecen al lenguaje C, pero son parte del paquete (software) que viene con el compilador C.

• Cada comando del preprocesador inicia con signo numeral (#). Antes de la compilación del programa, el compilador C activa el preprocesador que recorre el programa buscando estos signos numerales (#).

• Si encuentra alguno el preprocesador los reemplazara con otro texto, que depende del tipo de comando, podria ser el contenido de un archivo o una secuencia corta de caracteres. Luego de esto, se inicia el proceso de compilación.

Page 13: Micc Tema No. 7 Lenguaje C.pptx

Directiva Preprocesadora: # include.

• El comando # include obtiene texto desde otro documento para formar parte del programa.

• Con la finalidad de acelerar el proceso de escritura de un programa, los comandos, comentarios y declaraciones que se repiten varias veces se agrupan en ficheros especiales que fácilmente se incluyen usando esta directiva.

Page 14: Micc Tema No. 7 Lenguaje C.pptx

Directiva Preprocesadora # include Directiva Preprocesadora: # include.

Page 15: Micc Tema No. 7 Lenguaje C.pptx

Directiva Preprocesadora # define

• El comando # define provee expansion macro reemplazando identificadores en el programa por sus valores.

• #define symbol sequence_of_charactersEjemplo:... #define PI 3.14

...

Page 16: Micc Tema No. 7 Lenguaje C.pptx

Fundamentos Básicos del Lenguaje de Programación C

• La idea principal de escribir un programa en lenguaje C es dividir un problema grande en módulos más pequeños.

• Por ejemplo nos piden escribir un programa para leer temperatura y visualizar resultados en una pantalla LCD. Este problema se lo podría dividir en cuatro partes que se procesan con determinado orden:

1. Configurar módulo ADC del PIC.2. Leer señal analógica.3. Calcular temperatura.4. Enviar datos con formato a pantalla LCD.

Como se puede ver este problema se resuelve escribiendo cuatro funciones que se ejecutan repetidamente en lazo infinito.Todo se basa en funciones !

Page 17: Micc Tema No. 7 Lenguaje C.pptx

7.3 Tipos de Datos en Lenguaje CLa tabla muestra el rango de valores, que estos datos tienen en su forma básica.

Page 18: Micc Tema No. 7 Lenguaje C.pptx

Tipos de Datos en lenguaje C

Los tipos float, double y long double son considerados por MikroC como iguales.

Page 19: Micc Tema No. 7 Lenguaje C.pptx

7.4 VARIABLES

• Cualquier número que cambia su valor durante la operación del programa se llama variable.

• Si un programa suma dos números (NUM1 + NUM2), es necesario tener un valor que represente lo que en la vida diaria se denomina SUMA.

• En éste caso NUM1, NUM2 y SUMA son variables.

Page 20: Micc Tema No. 7 Lenguaje C.pptx

Declarando Variables• Un nombre de variable puede incluir cualquier caracter alfabetico

A – Z (a – z), los digitos 0 – 9 y el caracter guión bajo “_”.• El compilador es sensitivo por lo que diferencia las mayúsculas de

las minúsculas.• Los nombres de funciones y variables generalmente contienen

letras minúsculas, mientras que los nombres de constantes contienen letras mayúsculas.

• Los nombres de variables no deben comenzar con dígitos.• Nombres reservados para el compilador (key words) no deben

usarse como variables.• A continuación se muestra una lista de “key words” reconocidas

por mikroC.

Page 21: Micc Tema No. 7 Lenguaje C.pptx