PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 07-10-2009, 03:05 PM   #1
JumboT
Đệ tử 1 túi
 
Tham gia ngày: Feb 2009
Bài gửi: 21
:
Chương trình sai

chào các bác !!! chương trình sau của em ko biết sai ở chỗ nào mà khi mô phỏng thì ko thể thay đổi độ rộng xung được.
ý em là khi vặn biến trở thì độ rộng xung cũng theo đó mà thay đổi. các phím dùng để thay đổi chiều của động cơ.
Code:
//chuong trinh:
...........
#define stop  RB1                
#define start RB2
#define left   RB3
#define right  RB4
int8 value;           //khai bao bien luu tru ket qua ADC
void quay_trai(){
      SET_PWM1_DUTY(0);
      DELAY_MS(100);
      value = read_adc();
      SET_PWM2_DUTY(VALUE);
 }
 void quay_phai(){
      set_pwm2_duty(0);
      DELAY_MS(100);
      value = read_adc();
      set_pwm1_duty(value);
}
void stop_DC(){
      set_pwm1_duty(0);
      set_pwm2_duty(0);
 }

//====================CHUONG TRINH CHINH========================//
void main(void)
{
//=================== KHOI TAO CHO ADC=========================//
   setup_adc(adc_clock_internal);      //chon xung xung clock cho bo ADC
   setup_adc_ports(sAN0|VSS_VDD);      //thiet lap cong AN0 la dau vao ADC
   set_adc_channel(0);                 //chon chan AN0 cho lenh doc ADC tiep
   delay_us(10);
   
//====================KHOI TAO CHO PWM=========================//

   setup_ccp1(CCP_PWM);                //cau hinh cho ccp1 lam dau ra PWM
   setup_ccp2(CCP_PWM);                //-------------ccp2---------------
   setup_timer_2(T2_DIV_BY_1,255,1);   //chon tan so dau ra cho bo PWM
   

   set_tris_B(0x1E);                   //thiet lap cac chan RB1-RB4 la input (00011110b = 1Eh)
   set_pwm1_duty(0);                   //tat dong co
   set_pwm2_duty(0);                   //-----------
   delay_ms(50);
START:
   while(1){                 
      IF(stop == 0){
         stop_DC();
         }
      ELSE IF(left == 0){
         quay_trai();
         }
      ELSE IF(right==0){
         quay_phai();
         }
   }
}
Em có gửi cả sơ đồ nguyên lý bên dưới:
http://www.mediafire.com/?sharekey=0...4e75f6e8ebb871
mong các bác chỉ giùm

thay đổi nội dung bởi: phamminhtuan, 09-10-2009 lúc 09:36 AM. Lý do: định dạng code
JumboT vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-10-2009, 03:24 PM   #2
JumboT
Đệ tử 1 túi
 
Tham gia ngày: Feb 2009
Bài gửi: 21
:
ah xin lỗi các bác. Cái nhãn START ko có tác dụng gì cả. em quên chưa xoa nó đi
JumboT vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-10-2009, 02:39 PM   #3
JumboT
Đệ tử 1 túi
 
Tham gia ngày: Feb 2009
Bài gửi: 21
:
Bác falleaf và các bác khác có thể chỉ cho em chỗ chưa đúng được ko vậy.
Hoặc viết hộ em một chương trình nhw ý tưởng của em cũng được.
Em sốt ruột wa !!!
JumboT vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-10-2009, 09:39 AM   #4
phamminhtuan
Super Moderator
 
phamminhtuan's Avatar
 
Tham gia ngày: Feb 2006
Bài gửi: 150
:
Bạn cho biết là bạn đã dịch chương trình được chưa, vì hình như bạn viết bằng CCS nhưng các định nghĩa như #define stop RB1 rồi sau đó if(stop) .. sẽ báo lỗi ngay -> thay bằng #define stop input(PIN_B1)
phamminhtuan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-10-2009, 01:24 PM   #5
JumboT
Đệ tử 1 túi
 
Tham gia ngày: Feb 2009
Bài gửi: 21
:
em đã dịch OK. ko có lỗi gì cả. v4.078 thì phải. trong phần help của nó cũng dùng như vậy mà. nói chung là mấy phần định nghĩa ko có lỗi gì cả.
JumboT vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 10-10-2009, 01:05 AM   #6
JumboT
Đệ tử 1 túi
 
Tham gia ngày: Feb 2009
Bài gửi: 21
:
cảm ơn các bác. Em đã tìm ra đường đi rồi. Tận hai con đường cơ. một đường chuột chạy và một đường chim bay. hjhj.
JumboT vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 03:55 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam