Red de conocimiento informático - Aprendizaje de código fuente - Diseño y ayuda del curso de tecnología de interfaz

Diseño y ayuda del curso de tecnología de interfaz

Ejemplo de programa de conversión A/D:

El siguiente es el programa de muestreo AD utilizado por el transmisor inteligente que compilamos en el entorno KEILC51V7.05. Se descarga desde el puerto serie de la computadora a la placa de circuito. del transmisor inteligente. El convertidor DA puede muestrearlo correctamente y mostrarlo en la pantalla LCD para obtener el valor actual correspondiente.

#include lt; REG1210.Hgt;

#define XTAL 843200 // Establece la frecuencia del cristal

#define A_CLK 9

# define DECIMACIÓN 288

void main()

{

ACLK=A_CLK // Establece la frecuencia del reloj analógico

ADCON0= 0x31; //Establece el voltaje de referencia y el multiplicador de ganancia

ADCON2 = DECIMATION amp 0xFF //Establece la tasa de conversión de AD a 10 veces por segundo

ADCON3 = (DECIMATIONgt;gt ;8) amp; 0x07;

ADCON1 = 0x01; //Establecer método de filtrado

ADMUX=0X10

PDCONamp;=0x0f7; convertidor

while(1)

{

display((ADRESH); //llama a la función de visualización para mostrar el resultado de la conversión

display ((ADRESM);

display((ADRESL);

}

}

Configuración del convertidor D/A:

p>

Relativamente hablando, el convertidor D/A no es el único. En comparación con el convertidor A/D, la configuración del convertidor D/A es muy simple. Requiere configurar 4 registros de conversión DAC (. DAC0~. DAC3) y el registro de control de carga DAC El registro de conversión digital a analógico controla el modo de salida de voltaje correspondiente y el voltaje de referencia. El registro de control de carga se utiliza para controlar el método de carga de datos de conversión digital a analógico. /p>

La parte de software del transmisor inteligente incluye los siguientes módulos: (1) Inicialización de MSC1211, incluida la inicialización del microcontrolador, LCD, convertidor A/D y convertidor D/A (2) Convertidor A/D. La calibración incluye la ganancia de cada canal y la corrección de la deriva del cero (3) Recopilación de datos de presión y temperatura en el sitio (4) Calibración del punto cero, compensación de la deriva de la temperatura y compensación no lineal del sensor de presión (5) Conversión de rango, salida de datos D/A (6 Visualización de presión en tiempo real. El diagrama de flujo del software se muestra en la Figura 2.

Figura 2 Diagrama de flujo del software

Tabla 1: Resultados de la prueba de presión a diferentes temperaturas (unidad de presión kPa). , unidad de temperatura °C) Valor estándar 20 40 60 80

Temperatura

20 19.988 39.990 60.012 79.985

40 20.003 40.005 59.988 80.005

60 20.010 39.985 60.010 79.990

Resultados experimentales

Al utilizar el sensor de presión piezoresistivo serie SensymICT19C, sus principales indicadores técnicos son: rango 100kPa, sensibilidad 2mV/V, punto cero ± 2mV, linealidad El grado es ±0,2.

Sus principales indicadores técnicos son: rango de medición de 100 kPa, sensibilidad de 2 mV/V, punto cero de ±2 mV, linealidad de ±0,2 y temperatura de funcionamiento de -40~125 ℃. El rango de señal de entrada del convertidor A/D se establece en ±100 mV. Después de la compensación de la deriva de temperatura y la corrección no lineal, los resultados obtenidos en la parte de prueba se muestran en la Tabla 1. Después del cálculo, la precisión es inferior a una milésima de milímetro. , que cumple con los requisitos de fabricación.