|
Tài trợ cho PIC Vietnam |
|
Ðiều Chỉnh | Xếp Bài |
04-06-2011, 10:36 PM | #1 |
Nhập môn đệ tử
Tham gia ngày: Apr 2011
Bài gửi: 2
: |
ai giUp em css đIều khiển tỐc đỘ động cƠ hiỆn thi lên led 7 thanh vOi :((
em đang làm bài tập lớn môn vxl vỚi cOn pic16f877a em đã viết code mà chỉ điều khiển được tốc động cƠ . à em sử dụng đỘng cƠ có enconder để đọc xung rồi hiện thị lên led nhƯng khi chạy thì khÔng hiện thị được tốc đỘ ai giúp em vơi ((
đây là hình còn đây là code ạ #include <16f877a.h> #fuses noprotect,nowdt,nolvp,xt,put #device pic16f877a*=16adc=10 #use delay(clock=4000000) #use fast_io(a) #use fast_io(c) #use fast_io(b) #byte portc=0x07 #byte porta=0x05 #byte portb=0x06 #byte option_reg=0x81 #byte timer0=0x01 #bit c2=portc.2 #bit a1=porta.1 #bit a2=porta.2 #bit p5=option_reg.5 #bit p4=option_reg.4 #bit p3=option_reg.3 int x,i,chuc,dv; int a[10]={129,207,146,134,204,164,160,143,128,132}; void doc_adc(); void xuat_xung(); void hienthi(); void main() { set_tris_a(0b10001); set_tris_c(0); set_tris_b(0); while(true) { doc_adc(); x=read_adc(); xuat_xung(); p5=1; p4=1; p3=1; chuc=timer0/10; dv=timer0%10; timer0=0; for(i=0;i<=49;i++) { a2=0; a1=1; portb=a[chuc]; delay_ms(10); a2=1; a1=0; portb=a[dv]; delay_ms(10); } } } void doc_adc() { setup_adc(adc_clock_div_4); setup_adc_ports(AN0); set_adc_channel(0); delay_ms(5); } void xuat_xung() { setup_ccp1(ccp_pwm); set_pwm1_duty(x); setup_timer_2(t2_div_by_16,255,1); } em gƯởi kèm cả file rồi mong các bac giúp cho khÔng là em bay mÔn vxl ( |
05-06-2011, 09:44 AM | #2 |
Nhập môn đệ tử
Tham gia ngày: Apr 2011
Bài gửi: 2
: |
dien dan toan bzO saO khOng ai jup em vay (((
|
20-06-2011, 12:18 AM | #3 |
Nhập môn đệ tử
Tham gia ngày: Oct 2010
Bài gửi: 4
: |
Bạn nên đi chầm chậm, học cái nào chắc cái đấy!
Gợi ý:
+ Bạn đọc ADC để điều xung, tốt. + Bạn dùng chân counter để đếm xung, tốt với đồ án bạn làm, nhưng nếu muốn phát triển thành điều khiển PID thì nên dùng ngắt ngoài để đếm xung và kiểm tra chiều.(3 chân gần nhau của motor encoder là 3 chân xung x, y, z chứ ko phài một chân nguồn và một chân mass như bạn nghĩ nha.) +Giá trị timer bạn đọc về mình chưa bao giờ làm nhưng theo lí thuyết của bạn thì hình như là giá trị couter đọc được, tuy nhiên hàm quét led của bạn là ko ổn, cũng như cách bạn viết chương trình khá là cẩu thả. Nếu có hứng thú thì bạn có thể email cho mình, mình sẽ hướng dẫn bạn cụ thể hơn. quangkhuon01g@gmail.com 08DTD-Hutech Y!m: elviestran thay đổi nội dung bởi: elvies, 20-06-2011 lúc 12:46 AM. |
|
|