tình hình là mình viết 2 vòng lặp for nhưng nó chỉ chạy đúng 1 lần, có bác nào biết cách chỉ mình với! tks
Code:
#include <16f877a.h> #fuses noprotect, nolvp, nowdt, put, hs #use delay(clock=20000000) #use fast_io(b) #byte portb=0x06 #bit RB0=0x06.0 #bit RB1=0x06.1 #bit RB2=0x06.2 #bit RB3=0x06.3 #bit RB4=0x06.4 #bit RB5=0x06.5 int dem, i, j, a; int duty5; int mang[19]={7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25}; #INT_TIMER0 void set_servo() { set_timer0(129); dem++; if (dem >= 200) { dem=0; RB0=1; } if (dem >= duty5)RB0=0; } void main() { set_tris_b(0x00); portb = 0x00; enable_interrupts(int_timer0); enable_interrupts(global); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4); set_timer0(129); j=0; i=0, a=0; while(true) { if(a==0) { for(i=0; i<=19; i++) { duty5=mang[i]; delay_ms(100); } a=1; } if(a==1) { for(i=19; i>=0;i--) { duty5=mang[i]; delay_ms(100); } a=0; } } }
Comment