امتیاز موضوع:
  • 2 رأی - میانگین امتیازات: 2
  • 1
  • 2
  • 3
  • 4
  • 5
تولید موج مربعی 10% در مد fast pwm
نویسنده پیام
mmmjavad آفلاین
تازه وارد

ارسال‌ها: 1
موضوع‌ها: 1
تاریخ عضویت: دى ۱۳۹۲

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
تولید موج مربعی 10% در مد fast pwm
سلام.
تولید موج مربعی 10% در مد fast pwm روی پایه oc؟نمی دونم کجای کد ایراد داره که شکل موج رو مربعی نشون نمی ده و شبیه سینوسیه.لطفا کمک کنید:
کد:
/*
2)PWM wave_pulse width %10 on pin PB7 or OC0(OCx)

compiler: iar avr 6.1 or later

  Target : M2560
Crystal: 16.000Mhz
*/

#include <ioavr.h>
#include <intrinsics.h>

void port_init(void)
{
PORTA = 0x00;
DDRA  = 0x00;
PORTB = 0x00;
DDRB  = 0x80; // PB7 (OC0A) output
PORTC = 0x00; //m103 output only
DDRC  = 0x00;
PORTD = 0x00;
DDRD  = 0x00;
PORTE = 0x00;
DDRE  = 0x00;
PORTF = 0x00;
DDRF  = 0x00;
PORTG = 0x00;
DDRG  = 0x00;
PORTH = 0x00;
DDRH  = 0x00;
PORTJ = 0x00;
DDRJ  = 0x00;
PORTK = 0x00;
DDRK  = 0x00;
PORTL = 0x00;
DDRL  = 0x00;
}

//TIMER0 initialize - prescale:8
// WGM: PWM Fast-non invert
// desired value: 2MHz.... f=fcl/8 = 2MHz
void timer0_init(void)
{
TCCR0A = 0x00;
TCCR0B = 0x00; //stop
TCNT0 = 0x05; //set count
OCR0A = 0x19;
TCCR0A = 0x83; //start timer, f=fcl/8 = 2MHz, fast pwm, non invert
TCCR0B = 0x02; //start timer
}

#pragma vector = TIMER0_OVF_vect
__interrupt void timer0_ovf_isr(void)
{
TCNT0 = 0x05; //reload counter value
}

//call this routine to initialize all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
__disable_interrupt(); //disable all interrupts
XMCRA = 0x00; //external memory
XMCRB = 0x00; //external memory
port_init();
timer0_init();

MCUCR  = 0x00;
EICRA  = 0x00; //pin change int edge 0:3
EICRB  = 0x00; //pin change int edge 4:7
PCICR  = 0x00; //pin change int enable
PCMSK0 = 0x00; //pin change mask
PCMSK1 = 0x00; //pin change mask
PCMSK2 = 0x00; //pin change mask
EIMSK  = 0x00;
TIMSK0 = 0x01; //timer0 interrupt sources
TIMSK1 = 0x00; //timer1 interrupt sources
TIMSK2 = 0x00; //timer2 interrupt sources
TIMSK3 = 0x00; //timer3 interrupt sources
TIMSK4 = 0x00; //timer4 interrupt sources
TIMSK5 = 0x00; //timer5 interrupt sources

__enable_interrupt(); //re-enable interrupts
//all peripherals are now initialized
}

int main(void)
{
  
  init_devices();
  while(1);
  return 0;
}
(آخرین ویرایش در این ارسال: ۲۷-آذر-۱۳۹۳, ۲۱:۳۹:۱۲، توسط omid_phoenix.)
۲۷-آذر-۱۳۹۳, ۲۱:۱۸:۱۵
ارسال‌ها
پاسخ
patmatp آفلاین
تازه وارد

ارسال‌ها: 12
موضوع‌ها: 3
تاریخ عضویت: اردیبهشت ۱۳۹۲

تشکرها : 15
( 2 تشکر در 2 ارسال )
ارسال: #2
RE: تولید موج مربعی 10% در مد fast pwm
سلام
من خودم زیاد توی برنامه نویسی C وارد نیستم ولی فایلی که اینجا گذاشتید ناقصه
کتابخونه #include <ioavr.h> را قرار ندادید.
نوع ای سی مورد استفاده در برنامه را ننوشتید. برنامه را با چه نرم افزار و چه ای سی کامپایل کردید؟
در ای سی های atmega پورت E نداریم
از طرفی برنامه شما پیکر اصلی را ندارد، void main،
۳۰-آذر-۱۳۹۳, ۱۲:۴۶:۲۱
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [فوری] ایجاد موج مربعی با دو کلید و نماش فرکانس در ال سی دی mamadr 0 2,041 ۰۹-تير-۱۳۹۶, ۱۶:۲۰:۲۹
آخرین ارسال: mamadr
  پروگرامر هاتل و Fast Fuse مهدی ن 7 7,246 ۱۰-بهمن-۱۳۹۵, ۱۰:۱۳:۲۱
آخرین ارسال: aKaReZa75
  راهنمایی برای تولید پالس vistac2000 15 17,041 ۰۸-اردیبهشت-۱۳۹۵, ۰۰:۳۹:۴۶
آخرین ارسال: omid_phoenix
  سوال درباره نحوه تولید پالس مربعی sinohe 37 41,329 ۱۷-اسفند-۱۳۹۴, ۱۸:۳۶:۲۴
آخرین ارسال: sharin
  [سوال] اندازه گیری فرکانس پالس مربعی mohza 6 6,886 ۳۰-اردیبهشت-۱۳۹۴, ۲۱:۴۴:۵۶
آخرین ارسال: sharin
  درخواست راهنمایی در خصوص تولید صفر و یک sinastar 0 1,492 ۲۹-مرداد-۱۳۹۳, ۲۱:۲۹:۰۲
آخرین ارسال: sinastar
  [سوال] مشکل در تولید PWM 38khz با تایمر میکرو HamidSay 2 2,793 ۲۳-مرداد-۱۳۹۳, ۱۱:۴۸:۲۹
آخرین ارسال: HamidSay
  در بسکام مد FAST PWM وجود داره ؟ علیدلی 3 2,807 ۱۵-مرداد-۱۳۹۳, ۰۱:۰۵:۰۷
آخرین ارسال: علیدلی
Exclamation مشکل اساس در تولید فایل hex PRO 7 5,075 ۰۹-مرداد-۱۳۹۲, ۰۱:۲۹:۵۹
آخرین ارسال: salehjg
  درخواست کد تولید پالس آتش برای گیت میکرو Masood-PC 1 2,223 ۰۵-اردیبهشت-۱۳۹۲, ۱۳:۲۱:۱۶
آخرین ارسال: sharin

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS