27 de abril de 2010

Ejercicio con dos temporizadores

sfr TMOD=0x89; sfr  TCON=0x88; sfr  TH0=0x8C; sfr  TL0=0x8A; sfr  TH1=0x8D; sfr
TL1=0x8B; sfr P2=0xA0; sfr P3=0xB0;
sbit P3_0=P3^0; sbit P3_1=P3^1; sbit P2_0=P2^0; sbit TF0=TCON^5; sbit
TRO=TCON^4; sbit TF1=TCON^7; sbit TR1=TCON^6;


void main(void){
int desbordes=0,cont=0;
TMOD=0x11;
TH0=0xD8;
TL0=0xEF;
TL1=0xA3;
TH1=0x3E;
TF0=0;
TF1=0;
P3_0=0;
if(cont<10){
if(P2_0==1){
TRO=1;
P3_0=1;
while(!TF0){}
P3_0=0; P3_1=1;
TR1=1;
while(desbordes<2){
if(TF1==1){
desbordes++;
TR1=0;
TL1=0xA3;
TH1=0x3E;
TR1=1;
TF1=0;
}
}
P3_0=1; P3_1=0;
cont++;
}
}
}

No hay comentarios: