dungcdt190502
11-10-2014, 09:11 PM
mọi người ơi. giúp mình với. đây là code của mình, mình dùng để điều khiển rc servo, và kèm theo là sơ đồ mạch nguồn và mạch điều khiển, mình dùng mạch burn-e nạp thì vẫn báo thành công, nhưng khi cắm vào mạch thì servo ko chạy, nó cứ giật giật vậy. ai biết chỉ giùm mình với ạ.
code
#include <16F877A.h>
#include <def_877a.h>
#fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=16000000)
char dem;
char value,value1,value2,value3;
#INT_TIMER0
void set_servo()
{
set_timer0(155);
dem++;
if (dem >= 200)
{
dem=0;
RC1=1;
RC2=1;
RC3=1;
RC4=1;
}
if (dem >= value)RC1=0;
if (dem >= value1)RC2=0;
if (dem >= value2)RC3=0;
if (dem >= value3)RC4=0;
}
void main()
{
set_tris_c(0x00);
portC = 0x00;
enable_interrupts(int_timer0);
enable_interrupts(global);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4);
set_timer0(155);
while(true)
{
value=10;
delay_ms(1000);
value1=12;
delay_ms(1000);
value2=18;
delay_ms(1000);
value3=20;
delay_ms(1000);
}
}
code
#include <16F877A.h>
#include <def_877a.h>
#fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=16000000)
char dem;
char value,value1,value2,value3;
#INT_TIMER0
void set_servo()
{
set_timer0(155);
dem++;
if (dem >= 200)
{
dem=0;
RC1=1;
RC2=1;
RC3=1;
RC4=1;
}
if (dem >= value)RC1=0;
if (dem >= value1)RC2=0;
if (dem >= value2)RC3=0;
if (dem >= value3)RC4=0;
}
void main()
{
set_tris_c(0x00);
portC = 0x00;
enable_interrupts(int_timer0);
enable_interrupts(global);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4);
set_timer0(155);
while(true)
{
value=10;
delay_ms(1000);
value1=12;
delay_ms(1000);
value2=18;
delay_ms(1000);
value3=20;
delay_ms(1000);
}
}