سلام خسته نباشید ...
بعد از تحقیقات فراوان که فهمیدم باید 1 موج PWM 50HZ بدم به Speed control تا از 1 میلی ثانیه به بالا تغییر کنه و موتور لعنتی روشن بشه
به کد زیر رسیدم که 2 روزه دارم باش ور میرم ولی جواب نمیده ! از دوستان خواهشمندم کد منو اصلاح کنن یا کمکم کنن ! من میخوام با 1 شدن PA0 دیوتی زیاد و با 1 شدن PA1 دیوتی کم بشه :(
با تشکر.
بعد از تحقیقات فراوان که فهمیدم باید 1 موج PWM 50HZ بدم به Speed control تا از 1 میلی ثانیه به بالا تغییر کنه و موتور لعنتی روشن بشه
به کد زیر رسیدم که 2 روزه دارم باش ور میرم ولی جواب نمیده ! از دوستان خواهشمندم کد منو اصلاح کنن یا کمکم کنن ! من میخوام با 1 شدن PA0 دیوتی زیاد و با 1 شدن PA1 دیوتی کم بشه :(با تشکر.
کد:
#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);
}
}
}






دیدگاه