Còn vấn đề nữa là mình dùng timer 1 để đo thời gian dùng ngắt ngoài 0 và 1 để nối với cảm biến trước và sau
Như vậy cái biến t sẽ quá lớn
Code:
void ngat0() interrupt 0{ //Cho ngat ngoai 0 , chan cua con cam bien thu nhat noi vao day
dem = 0;
ghi_lenh(0x01);
ghi_lenh(0x80);
ghi_chuoi("Van toc : ");
TH1 = TL1 = 0;
TR1 = 1;
}
//------------
void timer1() interrupt 3{ //Cho ngat timer 1
TR1 = TF1 = 0;
dem++;
TH1 = TL1 = 0;
P0 = dem;
TR1 = 1;
}
//-------------
void ngat1() interrupt 2{ //Cho ngat ngoai 1 , chan noi voi con cam bien thu hai
TR1 = 0;
t = dem*35536+TH1*256+TL1; // t co don vi la us
// t = TH1*256+TL1;
// t = 12345;
vantoc = khoangcach/t;
ghi_lenh(0xC0);
ghi_so(vantoc);
ghi_chuoi(" m/s ");
ghi_so(t);
}

Comment