... //set_pwm1_duty(value); // This sets the time the pulse is //=================================== // Test Mode OutEnable2 = 0x0F; delay_ms(10); Step = 0x00; // Motor Stop AllRelay1 = 0x00; ... trước khi ngắt ??. Phải coi lại cái sơ đồ khối của Timer 2 mới biết được. Một cách viết khác để tham khảo với hy vọng viết C sao cho dễ hiểu :-) #include <16F877A.h> #fuses NOWDT, PUT, ... blink,on_off,blink_min,blink_max; int1 do_F; void convert_bcd(int8 x); void set_blink(); void bao_dong(); void test( ); // void main() { float value; on_off =1; min =15; //nhiet do min default max...