chào bạn,mình xin được vào đề luôn,mình định sửa code đếm 1-9 dùng ngắt ngoài của bạn để làm mạch đếm sản phẩm nhưng code có vấn đề ở chỗ vòng lăp while , đây là "tác phẩm của mình.
// Chuong trinh ngat
#int_ext
void ngat_RB0()
{
int16 a;
int8 i,n, nghin, tram, chuc, dvi;
i=a;
++a;
n=a;
nghin=n/1000;
n=n%1000;
tram=n/100;
n=n%100;
chuc=n/10;
dvi=n%10;
while(!i)
{
output_d(dvi|0xE0); //don vi so 4
delay_ms(2);
output_d(chuc|0xD0);
delay_ms(2);
output_d(tram|0xB0);
delay_ms(2);
output_d(nghin|0x70);
delay_ms(2);
}
}
Nếu để while(i<100) thì led nháy rùi tắt luôn, còn nếu để như trên thì chỉ chạy vòng lặp 1 lần, nếu để while(1) thì ko điều khiển được, mình cũng chưa hiểu tại sao hảm main không gọi hàm con mà vẫn chạy được bình thường, nếu có thể thì sửa code trên giúp mình. Mong hồi âm của bạn. mail của mình là
duyet4029@gmail.com . Cảm ơn đã đọc!