Buscando el principio del circuito del transpondedor de cuatro vías
¿Cómo funciona?
El transpondedor se compone de 74LS148, 74LS279 y 74LS48. Cuando se inicia la pantalla LED, antes de presionar el botón del soporte, CLR es 0, por lo que las salidas Q1~Q4 son 0;
Todos los diodos emisores de luz están apagados. Cuando se presiona el botón de host, CLR es 1 y la entrada está disponible. Quien responda primero encenderá la luz correspondiente. Usando 74LS279 y 74LS148, la salida cp es igual a 0, otros pestillos están bloqueados y no se pueden realizar otras salidas.
Datos ampliados:
Utilice el microcontrolador 51 para construir un respondedor de cuatro vías
Por supuesto, el microcontrolador no es solo 51. El microcontrolador 51 es un general- Microcontrolador de propósito. La definición del puerto O puede realizar varias funciones de control.
Principio del contestador automático: si hay cuatro canales, al controlar cualquiera de los canales, los demás canales no serán válidos. Si se presiona el resultado por primera vez, se puede mostrar con un tubo digital o una luz LED. Por supuesto, esto es sólo sobre el principio y la programación. El programa se puede cambiar según el número de canales y el modo de visualización del contestador automático.
El programa fuente es el siguiente:
ltdiv class="blockcode " > ltblockquote gt/* Placa de desarrollo AT89S52, la interfaz del botón independiente es la siguiente, por lo que se utilizan estos cuatro canales . El primer botón se muestra con luces LED, correspondientes a las luces LED primera a cuarta, y los demás botones no son válidos. Si desea implementarlo nuevamente, puede restablecer manualmente el microcontrolador */
# include ltreg52.h gt
sbit key1=p3^0 //Defina el botón y conéctelo; según sea necesario, como botón independiente (4 canales).
clave de bits2=p3^1;
clave de bits3=p3^2;
clave de bits4=p3^3;
/ *retraso nulo (recuento de enteros sin signo)? //Si hay fluctuación o interferencia, puede utilizar una pequeña fluctuación de retardo.
{
mientras(-CNT);
}*/
void main()
{
indicador de bits;
mientras (!flag)
{
if (!key1)
{
p 1 = 0x Fe;
flag = 1;
} ?
/*La luz LED muestra la tecla presionada. La primera luz, aquí tengo una luz LED de 8 bits, que es: 011111, y la lectura inversa es: 165438. Es decir: 0xFE*, puerto P1 corresponde a la luz LED, asignación P1 */
else if (! Botón 2)
{
p 1 = 0x FD;
flag = 1;
} ?
//La segunda luz está encendida.
else if(!Botón 3)
{ p 1 = 0x FB; flag = 1;} ?
//La tercera luz está encendida.
else if(!Botón 4)
{
p 1 = 0xf 7
bandera = 1;
}
//La cuarta luz está encendida, lo que indica que el cuarto canal se presionó primero.
}
while(flag); //Puedes agregar un indicador de control de E/S para poder inicializarlo primero y continuar respondiendo, o puedes diseñar el sonido. cuando se presiona.
}