Diseño y ayuda del curso de tecnología de interfaz
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.