จำหน่ายและให้คำปรึกษาเกี่ยวกับการใช้งานบอร์ดไมโครคอนโทรลเลอร์ Arduino, Shield for arduino, Module และ Sensor รุ่นต่างๆ

ช่วยผมเขียน16f877ให้กำเหนิดpwmต่างเฟสกัน90องศาด้วยครับ

กลุ่มวงจรที่ใช้ Microcontroller Arduino , PIC , AVR ,ETC.

Moderator: gang

yakuza408
Rookie
Rookie
โพสต์: 3
ลงทะเบียนเมื่อ: 19/08/2010 9:35 pm

ช่วยผมเขียน16f877ให้กำเหนิดpwmต่างเฟสกัน90องศาด้วยครับ

โพสต์โดย yakuza408 » 20/01/2011 9:22 am

ตอนนี้ผมทำโปรเจ็กเกี่ยวกับสัญญาณ pwm ที่สร้างโดย pic16f877 output ccp1,ccp2 ให้มันต่างเฟสกัน90องศาครับ ผมใช้ภาษาซีเขียนแต่มันไม่ยอมต่างเฟส
ขอความกรุณาจากท่านที่มีความรู้ทางด้านนี้ช่วยแนะนำ ด้วย นะครับ หากได้ตัวอย่าง โค๊ดจะขอบพระคุณมากเลยครับ

รูปภาพ

โค๊ตโปรแกรมครับ ใช้ ccs เขียนครับ ค่าดิวตี้ไซเคิ้ล50%ความถี่ 20kHz ท่านเทพช่วยแนะนำหน่อยครับ ขอบคุณมากครับ
#include <16F877A.h>
#device ADC=10

#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#use fast_io(c)
int16 mce;
void main()
{
set_tris_c(0x00);

setup_port_a(ALL_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL);

setup_timer_2(T2_DIV_BY_1,250,1);
setup_ccp1(ccp_pwm);
setup_ccp2(ccp_pwm);
mce=500;

while(1)
{
set_pwm1_duty(mce); // PIN_C2
set_pwm2_duty(mce); // PIN_C1
}
}

ภาพประจำตัวสมาชิก
gang
Master of the Order[ ผู้ดูแลระบบ]
Master of the Order[ ผู้ดูแลระบบ]
โพสต์: 1023
ลงทะเบียนเมื่อ: 11/08/2004 11:00 pm
ที่อยู่: บางน้ำผึ้ง พระประแดง สมุทรปราการ
ติดต่อ:

Re: ช่วยผมเขียน16f877ให้กำเหนิดpwmต่างเฟสกัน90องศาด้วยครับ

โพสต์โดย gang » 20/01/2011 2:11 pm

คิดวิธีใช้กับ pwm ไม่ออก วิธีนี้จะพอได้ใหม

โค้ด: เลือกทั้งหมด

while(1){

   switch(j){
      case 1:

         output_low(PIN_A4);
         output_low(PIN_A5);
      break;
      case 2:
         output_high(PIN_A4);
         output_low(PIN_A5);
         
      break;
      case 3:
         output_high(PIN_A4);
         output_high(PIN_A5);
         
      break;

      case 4:
         output_low(PIN_A5);
         output_high(PIN_A4);
 

      }
      if(j>=4){j=1;}
      else{j++;}
      delay(250);
}
I Love Arduino



ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 7 และ บุคคลทั่วไป 0 ท่าน