View Single Post
Old 29-06-2007, 08:41 AM   #3
che
Nhập môn đệ tử
 
che's Avatar
 
Tham gia ngày: Jun 2007
Bài gửi: 9
:
em cảm ơm anh namqn,em cũng đã đọc kỹ các hướng dẫn trong CCS và cũng đẫ thay đổi các option trong setup_power_pwm_pins(),mà vẫn không được anh ạ. anh xem đoạn code em viết có sai không nhé
Code:
#include <18F4431.h>
#include <DEF_18F4431.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, BRGH1OK)
int16 counter=0;
int16 soxung=0;
int16 period;
int1 BLINK=1;
int16 ch=16383;

#int_EXT
EXT_isr()
{
   output_bit(PIN_D7, BLINK); //đo xung trên chân D7 xem đã vào ngắt chưa
   counter++;
  BLINK = !BLINK;
   output_bit(PIN_D7, BLINK);  
}

#INT_TIMER1
void ngat_timer() {
   int i;
   
   set_timer1(0xEC78);                      // sets timer to interrupt in 1ms
    soxung=counter;
   counter = 0;                              // reset counter
 
   }


void main() {
  
   setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);   // setup interrupts
   enable_interrupts(INT_TIMER1);
   enable_interrupts(global);
   enable_interrupts(int_ext);
   ext_int_edge(H_to_L);
   enable_interrupts(GLOBAL);
   period = 4095; //Frequency = Fosc / (4 * (period+1) * postscale)
   setup_power_pwm_pins (PWM_ODD_ON, PWM_ODD_ON, PWM_OFF, PWM_OFF);
     setup_power_pwm (PWM_CLOCK_DIV_4|PWM_FREE_RUN, 1, 0, period, 0, 1, 0); //add dead time
  
  
   while (true)
	{
		ch = getc();
                         set_power_pwm0_duty(ch);
                        set_power_pwm2_duty(ch); 

	   
      putc(ch);
	   
   }
}
khi em chưa truyền tham số xuống cho bộ PWM từ máy tính ,mà động cơ đã chạy luôn rồi anh ạ .khi em truyền các tham số khác nhau thì chip chỉ out ra một giá trị PWM duy nhất,em chưa biết lỗi của nó anh ạ. Em dùng bộ PWM0 và PWM1 để điều khiển 2 động cơ ,chương trình em viết vẫn còn thiếu nhiều và em chưa sử dụng bộ QEI của nó,em sẽ viết tiếp và anh kiểm tra hộ em nhé

thay đổi nội dung bởi: falleaf, 29-06-2007 lúc 03:19 PM.
che vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn