Moderadores: andre_luis, 51, guest2003, Renie
Pask escreveu:Como é a sua função, Turuna?
[/code]//##############################################################################
//ROTINA DE ESPERA EM mili segundos(1 A 65535 ms) #
//exemplo de chamada: DELAY_MS(500);//duara 500 milisegundos #
void DELAY_MS_2(unsigned int a)// #
{// #
unsigned int i;// #
for (i = 0; i < a; i++){//executa a quantidade de loop conforme valor de "i" #
{// #
delay_ms(1);// #
}//fecha loop delay #
}//fecha loop for #
}//fecha função "DELAY_MS_2" #
//##############################################################################]
#include "at89c52.h"
#define DEF_TH0 0xDB
#define DEF_TL0 0xFF
/*
deltaT = 12 / ( 11.0592 * 10^6 )
T0(TH0/TL0) = 65535 - (IntTempo / deltaT);
Para um IntTempo = 10ms
T0 = 0xDBFF
*/
void init_hardware(void)
{
SCON = 0x50;
TMOD = 0x21;
TCON = 0x11;
}
void init_timer( void )
{
TR0 = 0;
TH0 = DEF_TH0;
TL0 = DEF_TL0;
TR0 = 1;
ET0 = 1;
}
void timer0_isr( void ) interrupt 1
{
TR0 = 0; /* timer 0 stop timer */
/* update time counter 0 (th0, tl0 ) */
TH0 = DEF_TH0;
TL0 = DEF_TL0;
TR0 = 1; /* timer 0 run */
/* Decrease Variables and Setting Flags */
}
void main( void )
{
init_hardware();
init_timer();
while(1)
{
}
}
[\code]
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante