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














دیدگاه