Cómo utilizar el microcontrolador de la serie 51 para generar señales de audio duales DTMF. El núcleo consiste en cómo escribir dos programas de interrupción en lenguaje C.
Le brinda un estilo para escribir una rutina de servicio de interrupción:
#include "reg51.h"
void Init(void)
{
TMOD = 0x01; // Temporizador de dieciséis bits
TH0 = 60000/256; // Asignación del contador del temporizador, el oscilador de cristal de 12 MHz se interrumpe una vez cada 5,5 ms
TL0 = 60000%256;
ET0 = 1; //Habilitar interrupción del temporizador 0
PT0 = 0 //La prioridad de interrupción es 0
return;
}
void Timer0(void) interrupción 1 //Interrupción del temporizador 0
{
TL0 = TL0 |(60000 %256);//Recargar valor inicial
TH0 = 60000/256; //Asignación del contador del temporizador, el oscilador de cristal de 12MHz interrumpe una vez cada 50ms
//Su código (por ejemplo, el pin de señal está invertido ==) El ciclo de trabajo se puede cambiar juzgando y recargando diferentes valores iniciales.
return;
}
Dos señales con diferentes las frecuencias no se pueden emitir en el mismo pin, porque cuando se habla de frecuencia, ¡debe ser periódica!
Le doy la dirección del foro de microcontroladores:/index.asp?action=frameon
Por supuesto, también puedes buscar foros en el idioma 51C en Baidu. Hay muchos foros
.