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