اطلاعیه

Collapse
No announcement yet.

کنترل دو عدد سروو موتور همزمان

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کنترل دو عدد سروو موتور همزمان

    سلام من میخوام که دو تا سروو رو باهم از طریق یه میکرو atmega 8 کنترل کنم . با این برنامه تونستم با تایمر شماره 1 * timer1* یه سروو رو زاویه بدم ولی تنظیمات تایمر2 با تایمر 1 فرق داره و جواب نمیده ، باید چکار کنم ؟ خیلی ممنون میشم زود جواب بدین
    اینم متن برنامه
    #include <mega16.h>
    #include <delay.h>
    #define xtal 16000000

    void main(void)
    {

    PORTD=0x00;
    DDRD=0x20;
    PORTA=0x00;
    DDRA=0x00;
    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: 2000.000 kHz
    // Mode: Ph. & fr. cor. PWM top=ICR1
    // OC1A output: Non-Inv.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    TCCR1A=0x80;
    TCCR1B=0x12;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x4E;
    ICR1L=0x20;

    while (1)
    {

    if(PINA.0==1)
    {
    OCR1A = OCR1A+1;
    delay_ms(1);
    if(OCR1A>2000){OCR1A=2000;}
    }

    if(PINA.1==1)
    {
    OCR1A = OCR1A-1;
    delay_ms(1);
    if(OCR1A<1000){OCR1A=1000;}
    }
    if(PINA.0!=1 && PINA.1!=1){
    OCR1A = 1500;
    }

    }
    }
لطفا صبر کنید...
X