Programación C de microcontroladores (C515C)
Para la determinación de los valores de temperatura mínimo y máximo se deberán emplear
sentencias de control, comparaciones y asignaciones apropiadas.
Ejemplo de programa para la determinación del valor máximo de la temperatura:
unsigned char temperature,tmin;
temperature = TEMP_IN();
if(temperature < tmin) tmin = temperature; // Comparación de variables
En el tercer paso del programa, un valor medio aritmético de 100 valores de temperatura
con dos posiciones decimales deberá ser calculado y visualizado de forma continua en la
LCD. Para la realización se puede utilizar un campo de datos. Puesto que el valor de
temperatura de LM75 es un byte, el campo debería declararse con 100 elementos del tipo
unsigned char. El acceso indexado a los distintos elementos de campo se puede realizar
con una variable contadora.
unsigned char field_counter=0;
middle_data[field_counter] = TEMP_IN();
field_counter ++;
if(field_counter >99) field_counter =0;
Este tipo del acceso al campo también se denomina búfer de anillo, porque una vez
alcanzado el último elemento de campo, el contador de índices se pone a cero y con ello el
primer elemento de campo se sobreescribe con un valor nuevo.
Para el cálculo del valor medio aritmético de los 100 valores de temperatura con dos
posiciones decimales pueden utilizarse los operadores estándar de C +, / y %.
Ejercicios de programación:
•
¡Abra un proyecto nuevo!
•
¡Copie los archivos de encabezamiento iic.h, lcd.h y lm75.h al directorio de proyectos e
incluya los archivos en el archivo fuente principal!
•
¡Compile un programa con las siguientes funcionalidades!
Función de la tecla 1 de la UNIDAD de TECLAS: Visualización temperatura máxima
Función de la tecla 2 de la UNIDAD de TECLAS: Visualización temperatura mínima
sin tecla:
CMC 5-4 Bloque de ensayos 4
CMC 5
// Declaración de variable
// Introducción de temperatura de LM75
// Declaración/Inicialización de la variable
contadora
// Guardar valor de temperatura del LM75
en el campo
// Contador de índices + 1
// Limitación del contador de índices
Visualización continua del valor medio
aritmético de la temperatura con dos
posiciones decimales que se forma de
100 valores
97