Programación de MCU para mostrar formas de onda
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.
}