Debido a que quiero participar en la competencia eléctrica, entré en contacto con la microcomputadora de un solo chip STC89C52RC (A51)
STC89C52RC pin función
1 fuente de alimentación:
①VCC - fuente de alimentación del chip, conectada a +5V
②VSS - terminal de tierra
2. Reloj: XTAL1, XTAL2 - entrada y salida de inversión del circuito
del oscilador de cristal . 3. Línea de control: hay 4 líneas de control: ALE/PROG: permiso de bloqueo de dirección/pulso de programación de EPROM en chip ① Función ALE: se utiliza para bloquear la dirección inferior de 8 bits enviada por el puerto P0 ② Función PROG: EPROM en chip Chip, durante la programación de EPROM, este pin ingresa pulsos de programación. PSEN: señal estroboscópica de lectura de ROM externa . RST/VPD: fuente de alimentación de reinicio/espera. ① Función RST (Reinicio): reinicio del terminal de entrada de señal. ② Función VPD: en caso de falla de energía Vcc, conéctese a la fuente de alimentación de respaldo. EA/Vpp: selección de ROM interna y externa/fuente de alimentación de programación de EPROM en chip. ① Función EA: terminal de selección de ROM interna y externa. ② Función Vpp: para chips con EPROM en chip, la fuente de alimentación de programación Vpp se aplica durante la programación de EPROM. 4. Líneas de puertos de E/S: P0, P1, P2 y P3 son cuatro puertos de 8 bits.
El puerto P0 es un puerto bidireccional de tres estados, comúnmente conocido como puerto de bus de datos, porque solo este puerto se puede usar directamente para operaciones de lectura/escritura en la memoria externa. El puerto 0 también se utiliza para dar salida a la dirección inferior del mapa 1 de 8 bits de la memoria externa. Dado que es una salida de tiempo compartido, se debe agregar un latch externamente para enclavar los datos de la dirección, la dirección se enclava y la señal usa ALE.
El puerto P1 es un puerto de E/S especialmente para usuarios y es un puerto casi bidireccional.
El puerto P2 se utiliza como línea de dirección de 8 bits cuando se amplía el sistema esclavo. Cuando la memoria externa no está expandida, el puerto P2 también se puede usar como una línea de puerto de E/S de usuario, y el puerto P2 también es un puerto casi bidireccional.
El puerto P3 es un puerto de doble función, y cada bit de este puerto se puede definir de forma independiente como la primera función de E/S o la segunda función de E/S. Cuando se utiliza como primera función, el funcionamiento es el mismo que el del puerto P1.
1. Marquesina
Utilice el programa para controlar el nivel de salida de P20-P27 (0,1) para realizar el ciclo de iluminación de los diodos emisores de luz del módulo LED D1-D8 y completar el efecto de marquesina.
/*定义LED引脚*/
#define LED P2
/*延迟函数*/
void Delay(unsigned int a)
{
while(a--);
}
//流水灯
void Running()
{
u8 i;
LED = 0xfe;
Delay(50000);//大约延时450ms
while(1)
{
for(i = 0;i<7;i++)
{
LED = _crol_(LED,1); //左移一位 0xfe(11111110)--->0xfd(11111101)
Delay(50000);
}
for(i = 0;i<7;i++)
{
LED = _cror_(LED,1); //右移一位 0x7f(01111111)--->0xbf(10111111)
Delay(50000);
}
}
}
Defina el LED como pin P2, a P2 se le asigna un valor de 0xfe, el binario es 11111110, un total de ocho bits son respectivamente para P27-P20, cuando el pin P20 es 0-bajo voltaje, la luz está encendida y 1-alto el voltaje está apagado. Cicle a la izquierda, a la derecha y espere 450 ms para encender el siguiente
2. Botón independiente para controlar el zumbador
En la versión experimental, existen 4 botones independientes k1-k4, respectivamente para los pines P30-33 del STC80C51, cuando se presiona el botón se pone a tierra el pin correspondiente, es decir, se le asigna un valor de 0. Determine cuál de P30-P33 es 0 a través del programa, correspondiente a la pulsación de la tecla.
El BEEF del zumbador está conectado al pin OUT5 del motor paso a paso de cuatro fases inalámbrico ULN2003D, y la señal de este pin se ve afectada por el pin P25 correspondiente a IN5.
/*定义蜂鸣器*/
sbit BEEP = P2^5;
void C_buzzer()
{
while(1)
{
if(P31==0)//按下关闭
{
BEEP=1;
while(1)
{
if(P31==0)//当再次按下时,再次启动
{
break;
}
}
}
else
{
BEEP = ~BEEP;
Delay(50000);
}
}
}