PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   Giúp em đoạn code này với : chủ đề là điều khiển RCservo bằng pwm (http://www.picvietnam.com/forum/showthread.php?t=33079)

vuongdang54 21-11-2013 04:27 AM

Giúp em đoạn code này với : chủ đề là điều khiển RCservo bằng pwm
 
như trình bày ở trên thì code em viết nó có 2 thắc mắc
đó là : khi em cấp 1 góc quay là 36 độ thì nó tính ra duty =13;
nhập duty thì chạy đúng còn nếu lấy duty=x thì chạy sai.
cái em thắc mắc nữa là tại sao nó lại quay ngược chiều.
do em bắn xung ra là 1.3ms nên theo lý thuyết nó phải quay qua bên phải chứ ?

Mong các cao nhân ra tay giúp đỡ.

vuongdang54 21-11-2013 04:29 AM

#include <16F877a.h>
#device *=16 ADC=8
#use delay(clock=640000)
#fuses XT, NOWDT, NOPROTECT, BROWNOUT, NOPUT, NOLVP,HS
#INCLUDE<math.h>
#byte portc=0x07
#byte portd=0x08

int8 a;
int x;

int lamtron(int a)
{
a=36;
x=(-a/18+15);
}

void main()
{
int lamtron(int a);
a=36;
x=(-a/18+15);
setup_timer_2(T2_DIV_BY_16,199,1);
setup_ccp1(CCP_PWM);
set_pwm1_duty(x);
while(TRUE)
{
}
}


đây là code em viết

thieuthangvt 26-11-2013 11:19 PM

tui thấy code của bạn có mấy chỗ khó hiểu
#device *=16 ADC=8
dòng này bạn ko dùng bộ ANALOG thì bạn khai báo làm gì vậy ?
#fuses XT, NOWDT, NOPROTECT, BROWNOUT, NOPUT, NOLVP,HS
thạch anh 640KHz bạn khai báo HS chi vậy ?
tại sao lại đặt biến a và biến x trong khi giá trị 2 này không hề thay đổi ?

int lamtron(int a)
{a=36;x=(-a/18+15);}
khai báo này dùng làm gì vậy trong khi void main () bạn đã có a và x rồi mà ??

tui viết lại như vậy bạn xem đc ko :D
Trích:

#include <16F877a.h>
#fuses XT, NOWDT, NOPROTECT, BROWNOUT, NOPUT, NOLVP
#use delay(clock=640000)
#include <math.h>
#byte portc=0x07
#byte trisc=0x87
int8 a,x;
void main()
{
set_tris_c(0x00);
a=36;
x=((-a/18)+15);
setup_timer_2(T2_DIV_BY_16,199,1);
setup_ccp1(CCP_PWM);
set_pwm1_duty((usigned int)x);
while(TRUE) {}
}


Múi giờ GMT. Hiện tại là 01:49 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam