


Programa de teste MCU
/******************************************
Teste de disparo do sensor
Microcontrolador: STC89C52
Taxa de transmissão: 9600
Uso do produto: detecção de luz.
*****************************************/
#incluir
data char não assinado;
#define uchar caractere não assinado
#define uint unsigned int
sbit chave1=P0^1;
/* Declaração de função-----------------------------------------------*/
atraso vazio(uint z);
vazio Initial_com(void);
//************************************************ ***********
/*
************************************************** ******************************
** Nome da função: delay(uint z)
** Função: Função de atraso
************************************************** ******************************
*/
atraso vazio(uint z)
{
unidade i,j;
para(i=z;i>0;i--)
para(j=110;j>0;j--);
}
//******************************
//********Função de inicialização de porta serial************
//******************************
void Inicial_com(void)
{
EA=1; //Abre a interrupção geral
ES=1; //Habilitar interrupção da porta serial
ET1=1; //Habilitar interrupção do temporizador T1
TMOD=0x20; //Timer T1, gera taxa de transmissão no modo 2 de interrupção
PCON=0x00; //SMOD=0
SCON=0x50; // Modo 1 controlado pelo temporizador
TH1=0xfd; //Defina a taxa de transmissão para 9600
TL1=0xfd;
TR1=1; //Inicia o bit de controle de execução do temporizador T1
}
//****************************
//**********Função principal*********
//****************************
principal()
{
Inicial_com();
enquanto(1)
{
se(chave1==0)
{
delay(); //redução de rejeição
if(key1==0) //Confirmar gatilho
{
SBUF=0X01;
atraso(200);
}
}
se(RI)
{
data=SBUF; //MCU recebe
SBUF=data; //MCU envia
IR=0;
}
}
}