Red de conocimientos turísticos - Información de alquiler - Programación de MCU para mostrar formas de onda

Programación de MCU para mostrar formas de onda

Tengo un programa para la computadora host, pero mi adquisición se basa en el microcontrolador STC12C5A32S2, que es el AD interno de la computadora.

Mi idea de programación: el microcontrolador recopila continuamente un lote de datos. Por supuesto, el período de recopilación debe ser ajustable y luego lo envía a la computadora host.

No envíe al recopilar, no recopile la computadora host al enviar, no haga nada al recibir datos y haga dibujos después de recibir los datos.

No se perderán datos.

Aunque los datos son discontinuos, la forma de onda es continua. Aunque es un intervalo cuadro a cuadro, se actualizan varias imágenes en un segundo, por lo que se considera tiempo real.

Los programas para la computadora host, la microcomputadora de un solo chip, etc. son muy largos, por lo que solo se publican las partes clave.

El programa de dibujo del ordenador host es el siguiente: inbuff son los datos recibidos.

Dibuja una cuadrícula

Para i = 0 a 40 paso 1 'Dibuja una línea horizontal.

y1 = 100 i * 200

Imagen 1. fila(60,y 1)-paso(10240,0),QBColor(6)'Amarillo.

A continuación

dibujaré una línea vertical para i = 1 a 52 pasos 1’.

x1 = 60 i * 200

Imagen 1. Línea(x1,100)-Paso(0,8000), Color QB(6)'Amarillo.

Siguiente yo

Foto 1. Línea (60, 4100)-(10500, 4100), el origen de QBColor (9) hasta el punto final del eje X es azul.

Foto 1. Paso de línea (-150, -40), flecha QBColor (9)

Imagen 1. Línea (10500, 8100) - Paso (-150, 40), Flecha Color QB (9)

Imagen 1. Línea (60, 8100) - (60, 0), color QB (9) 'El punto final del eje Y de abajo hacia arriba.

Foto 1. Paso de línea (-40, 100), flecha QBColor (9)

Imagen 1. Línea (60, 0) - paso (40, 100), flecha color QB (9)

Escribe la abscisa

Imagen 1. PSet (10150, 3900)

Imagen 1. Imprimir "t"

Imagen 1. PSet (10120, 4080)

Imagen 1. Imprimir "(milisegundos)"

Escribe la coordenada vertical

Imagen 1. PSet (100, 0)

Imagen 1. Imprimir "V"

Dibuja una forma de onda basada en el principio de conectar dos puntos.

Para i = 0 a (ll - 1)

VV1 = inbuff(i)

X(i) = x0 i * 100

y(i) = y0 - 4000 * VV1 / 256

x(I 1)= x0 (I 1)* 100

VV2 = inbuff(i 1)

y(i 1) = y0 - 4000 * VV2 / 256

Imagen 1. DrawWidth = 2

Imagen 1. Línea (x (i), y (i))-(x (i 1), y (i 1)), QBColor (11)' Cian.

Siguiente I

El programa principal del microcontrolador en la placa experimental TX-1C es el siguiente: El valor de KEY se utiliza para ajustar el tiempo de retardo de adquisición para adaptarse a diferentes frecuencias. El dibujo está en 12864. Se puede omitir.

LCD _ inital(); //Inicialización de LCD

inits com(); //Inicialización del puerto serie

diola = 1; tube

while(key == 16){ key scan();}//Espera a que se presione la tecla.

Interruptor (llave)

{

Caso 0: m = 9; led 2 = 0;

Caso 1: m = 27; led 3 = 0;

Caso 2: m = 61; led 4 = 0; ;romper;

Predeterminado: romper

}

mientras(1)

{

punto del colector( ); //Recopila 256 datos.

clear(); //Borrar la pantalla

dibujar imagen(); //Dibujar

tr 1 = 1;

for (I = 0;ilt256;i)

{

send(tempdate[I]); //Enviar al host

}

tr 1 = 0;

retraso _ 500 ms(); //Este tiempo no es 500 ms, ajústelo entre 100 y 500. Aunque la velocidad de procesamiento de la computadora host es muy rápida,

//pero lleva algo de tiempo y los gráficos parpadearán si la actualización es demasiado rápida.

//Para baja frecuencia, se necesita mucho tiempo para recopilar 256 datos y este intervalo de tiempo puede ser más corto.

}