Código fuente de conversión AD
///P2^0 controla la frecuencia de 10 HZ a 50 HZ,? Cambios de noticias
//P2 1 controla cuentas de 10 a 90, presiona cambiar.
//¿Supongamos que el oscilador de cristal es de 12 MHz?
#incluye ltreg52.h gt
#¿Definición? uint? ¿No firmado? (Igual que las organizaciones internacionales) Organizaciones internacionales
#Definición? ¿Uchar? ¿No firmado? ¿Té
uint? t=0, f=100, w = 50
bit? p10=p1^0;? //Terminal de salida
sbit? kf=p2^0; //Botón cambiar frecuencia
sbit? kw=p2^1; //Botón Cambiar ancho
¿No es válido? Inicializar()
{
TMOD = 0x 21
TH0 = (65536-1000)/256
TL0 =( 65536-1000) 256;
ET0 = 1;
TR0 = 1;
EA = 1;
}
¿Anulado? hora0()? ¿interrumpir? 1
{
TH0 =(65536-1000)/256
TL0 =(65536-1000)
t; ;? //t es 1 ms.
si(t gt;=f)? t = 0;?
}
¿Anulado? principal()
{
init();
mientras(1)
{
si ( KF==0)? //Cambiar frecuencia
{ f = f-10;
if(f lt;= 10)f = 100;
while(KF = = 0 );
w = f/10;
}
si(KW==0)? //Cambiar la proporción
{ w = w f/10;
If (w gt=f)? w = f/10;
mientras(KW = = 0);
}
if(t lt;w)p 10 = 1; Ciclo único
¿Y si? p 10 = 0;
}
}
Si no puede ver la imagen con claridad, primero “vea el panorama general” y luego guárdela. a su computadora para ver el panorama general.
******************************
Seguimiento: Según su " pregunta "Suplemento", es necesario agregar un convertidor AD. Los puertos paralelos comúnmente utilizados incluyen ADC0809 y los puertos serie incluyen ADC0834. El microcontrolador escanea los datos generados por la conversión AD y los envía a las dos variables anteriores: frecuencia f y relación w, que puede cambiar. El cambio de amplitud es muy sencillo, basta con utilizar la salida del divisor de voltaje del potenciómetro. Se necesita una cierta cantidad de espacio para escribir la historia completa y brindarle ideas. Espero que puedas utilizar más tu computadora y lograr resultados satisfactorios.