void timer0(void) interrupt 1 //Ngat timer 0
{ if(b_1==1) a=5;
else a=10;
TH0 = 0x39; // tan so time 20Hz
TL0 = 0x00; //21188KHz
count++;
if(count>20)
{
count = 0;
if(en_time_cap_nuoc) time_cap_nuoc++;
if(en_time_dong_co) time_dong_co++;
if(en_time_xa_nuoc) time_xa_nuoc++;
} // tao time 1s
if(time_cap_nuoc > a) {time_cap_nuoc = 0; en_time_cap_nuoc = 0;}
if(time_dong_co > 10 ) {time_dong_co = 0;en_time_dong_co = 0; out_van_xa = 1;en_time_xa_nuoc = 1;}
if(time_xa_nuoc > 15) {time_xa_nuoc = 0; en_time_xa_nuoc = 0; out_van_xa = 0;time_cap_nuoc = 1; en_time_cap_nuoc = 1;dem++;}
if((b_on_off==0)&&(dem>1)||((b_start_stop==0)&&(de m>1))){ dem=0;}
}
Từ sau đoạn tạo time 1s thi e hiểu. Nhưng cho e hỏi là tại sao lại tao dc time 1s và TH0 = 0x39; // tan so time 20Hz
TL0 = 0x00; //21188KHz để làm j
{ if(b_1==1) a=5;
else a=10;
TH0 = 0x39; // tan so time 20Hz
TL0 = 0x00; //21188KHz
count++;
if(count>20)
{
count = 0;
if(en_time_cap_nuoc) time_cap_nuoc++;
if(en_time_dong_co) time_dong_co++;
if(en_time_xa_nuoc) time_xa_nuoc++;
} // tao time 1s
if(time_cap_nuoc > a) {time_cap_nuoc = 0; en_time_cap_nuoc = 0;}
if(time_dong_co > 10 ) {time_dong_co = 0;en_time_dong_co = 0; out_van_xa = 1;en_time_xa_nuoc = 1;}
if(time_xa_nuoc > 15) {time_xa_nuoc = 0; en_time_xa_nuoc = 0; out_van_xa = 0;time_cap_nuoc = 1; en_time_cap_nuoc = 1;dem++;}
if((b_on_off==0)&&(dem>1)||((b_start_stop==0)&&(de m>1))){ dem=0;}
}
Từ sau đoạn tạo time 1s thi e hiểu. Nhưng cho e hỏi là tại sao lại tao dc time 1s và TH0 = 0x39; // tan so time 20Hz
TL0 = 0x00; //21188KHz để làm j