سلام خسته نباشید ...
بعد از تحقیقات فراوان که فهمیدم باید 1 موج PWM 50HZ بدم به Speed control تا از 1 میلی ثانیه به بالا تغییر کنه و موتور لعنتی روشن بشه
به کد زیر رسیدم که 2 روزه دارم باش ور میرم ولی جواب نمیده ! از دوستان خواهشمندم کد منو اصلاح کنن یا کمکم کنن ! من میخوام با 1 شدن PA0 دیوتی زیاد و با 1 شدن PA1 دیوتی کم بشه :(
با تشکر.
بعد از تحقیقات فراوان که فهمیدم باید 1 موج PWM 50HZ بدم به Speed control تا از 1 میلی ثانیه به بالا تغییر کنه و موتور لعنتی روشن بشه

با تشکر.
کد:
#include <mega32a.h> unsigned int x=180; interrupt [TIM0_OVF] void timer0_ovf_isr(void) { TCCR0=0; TCNT0=100; OCR0=x; TCCR0=0X7D; } void main(void) { PORTA.0=1; PORTA.1=1; DDRA=0x00; DDRB=0x08; TCNT0=100; OCR0=110; TIMSK=0x01; TCCR0=0x7D; #asm("sei") while(1) { if (PINA.0 == 1 && x<=255){ x++; while( PINA.0 == 1); } if (PINA.1 == 1 && x>=110) { x-=1; while( PINA.1 == 1); } } }
دیدگاه