


Programa de pruebas de MCU
/******************************************
Prueba de activación del sensor
Microcontrolador: STC89C52
Tasa de baudios: 9600
Uso del producto: detección de luz.
*****************************************/
#incluir
fecha de carácter sin signo;
#define uchar carácter sin signo
#define uint entero sin signo
sbit clave1=P0^1;
/* Declaración de función-----------------------------------------------*/
vacío retraso(uint z);
vacío Inicial_com(vacío);
//***********************************************************
/*
********************************************************************************
** Nombre de la función: delay(uint z)
** Función: Función de retardo
********************************************************************************
*/
void retardo(uint z)
{
uint i,j;
para(i=z;i>0;i--)
para(j=110;j>0;j--);
}
//******************************
//********Función de inicialización del puerto serie************
//******************************
void Inicial_com(void)
{
EA=1; //Abre la interrupción general
ES=1; //Habilitar interrupción del puerto serie
ET1=1; //Habilitar interrupción del temporizador T1
TMOD=0x20; //Temporizador T1, genera tasa de baudios en interrupción de modo 2
PCON=0x00; //SMOD=0
SCON=0x50; // Modo 1 controlado por temporizador
TH1=0xfd; //Establezca la velocidad en baudios a 9600
TL1=0xfd;
TR1=1; //Iniciar el bit de control de ejecución del temporizador T1
}
//*************************
//**********Función principal*********
//*************************
principal()
{
Inicial_com();
mientras(1)
{
si(key1==0)
{
retraso(); //antirrebote
if(key1==0) //Confirmar disparador
{
SBUF=0X01;
retraso(200);
}
}
si(RI)
{
fecha=SBUF; //MCU recibe
SBUF=fecha; //MCU envía
IR=0;
}
}
}