اطلاعیه

Collapse
No announcement yet.

کنترل شدت نور LED با استفاده از برنامه نویسی

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

    #31
    پاسخ : کنترل شدت نور LED با استفاده از برنامه نویسی

    آقا من این مدار رو بستم و برنامه نویسیشم اجرا کردم..

    دقیقا کار میکنه و جواب میده.ولی یه مشکلی هست.توی این برنامه نویسی led تقریبا با سرعت نسبتا زیاد نورش آروم آروم زیاد میشه.من میخوام خیلی آروم آروم نورش زیاد بشه..توی قسمت delay به جای 1ms نوشتم 2 دیدم خیلی تاثیری نداره و اگه حتی مقدار delay رو حدود 5ms بزاریم ledآ‌کاملا روشن و ثابت میمونه.
    برعکسشم انجام دادم و حدود 500us هم گزاشتم ولی دیدم باسرعت بسیار بالا چشمک میزنه..

    حالا چیکار کنم؟
    فکر کنم یه جا تو برنامه نویسیش مشکل هست..میخوام خیلی آروم آروم آروم led روشن بشه..

    لطفا راهنمایی کنید..

    اینم برنامه که دوست عزیز Saeed Saeb زحمت کشیده بود برام گذاشته بود..

    میخوام خیلی آروم آروم آروم led روشن بشه..

    لطفا راهنمایی کنید..


    #include <mega16.h>
    #include <delay.h>

    void main(void)
    {

    unsigned int s;
    unsigned int p;
    unsigned int w;
    unsigned int a;
    unsigned int q;

    PORTA=0x00;
    DDRA=0x00;

    PORTB=0x00;
    DDRB=0x00;

    PORTC=0x00;
    DDRC=0xFF;

    PORTD=0x00;
    DDRD=0x30;

    TCCR0=0x00;
    TCNT0=0x00;
    OCR0=0x00;

    TCCR1A=0xA3;
    TCCR1B=0x09;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;

    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;

    while (1)
    {
    for(s=0;s<255;s++)
    {
    PORTC=0x01;
    delay_ms(1);
    OCR1A=s;
    }
    for(p=0;p<255;p++)
    {
    PORTC=0x02;
    delay_ms(1);
    OCR1A=p;
    }
    for(w=0;w<255;w++)
    {
    PORTC=0x04;
    delay_ms(1);
    OCR1A=w;

    }


    }
    }

    دیدگاه


      #32
      پاسخ : کنترل شدت نور LED با استفاده از برنامه نویسی

      نوشته اصلی توسط mehran640
      آقا من این مدار رو بستم و برنامه نویسیشم اجرا کردم..

      دقیقا کار میکنه و جواب میده.ولی یه مشکلی هست.توی این برنامه نویسی led تقریبا با سرعت نسبتا زیاد نورش آروم آروم زیاد میشه.من میخوام خیلی آروم آروم نورش زیاد بشه..توی قسمت delay به جای 1ms نوشتم 2 دیدم خیلی تاثیری نداره و اگه حتی مقدار delay رو حدود 5ms بزاریم ledآ‌کاملا روشن و ثابت میمونه.
      برعکسشم انجام دادم و حدود 500us هم گزاشتم ولی دیدم باسرعت بسیار بالا چشمک میزنه..

      حالا چیکار کنم؟
      فکر کنم یه جا تو برنامه نویسیش مشکل هست..میخوام خیلی آروم آروم آروم led روشن بشه..

      لطفا راهنمایی کنید..

      اینم برنامه که دوست عزیز Saeed Saeb زحمت کشیده بود برام گذاشته بود..

      میخوام خیلی آروم آروم آروم led روشن بشه..

      لطفا راهنمایی کنید..


      #include <mega16.h>
      #include <delay.h>

      void main(void)
      {

      unsigned int s;
      unsigned int p;
      unsigned int w;
      unsigned int a;
      unsigned int q;

      PORTA=0x00;
      DDRA=0x00;

      PORTB=0x00;
      DDRB=0x00;

      PORTC=0x00;
      DDRC=0xFF;

      PORTD=0x00;
      DDRD=0x30;

      TCCR0=0x00;
      TCNT0=0x00;
      OCR0=0x00;

      TCCR1A=0xA3;
      TCCR1B=0x09;
      TCNT1H=0x00;
      TCNT1L=0x00;
      ICR1H=0x00;
      ICR1L=0x00;
      OCR1AH=0x00;
      OCR1AL=0x00;
      OCR1BH=0x00;
      OCR1BL=0x00;

      ASSR=0x00;
      TCCR2=0x00;
      TCNT2=0x00;
      OCR2=0x00;

      while (1)
      {
      for(s=0;s<255;s++)
      {
      PORTC=0x01;
      delay_ms(1);
      OCR1A=s;
      }
      for(p=0;p<255;p++)
      {
      PORTC=0x02;
      delay_ms(1);
      OCR1A=p;
      }
      for(w=0;w<255;w++)
      {
      PORTC=0x04;
      delay_ms(1);
      OCR1A=w;

      }


      }
      }
      سلام دوست من مقرارشو زیاد تر کن برسون به 500ms ترجیحا فرکانش میکرو رو هم کم کن ... بزار رو 1M ..اگه نشد تنظیمات timer1 رو باید دستکاری کنی من از fastpwm0xFF استفاده کردم..تا حالا با بقیش کار نکردم(به پستم نخورده )اما شاید مشکل از اون باشه اگه اسیلوسکوپ داری خونه کارت راحت تر خروجی رو اندازه بگیر ببین تغییری کرده یا نه ... نتیجشو بگو
      اشکهایی که پس از هر شکست میریزیم همان عرقیست که برای پیروزی نریخته ایم.
      هیتلر

      دیدگاه


        #33
        پاسخ : کنترل شدت نور LED با استفاده از برنامه نویسی

        آقا درست شد..

        دقیقا همونی شد که میخواستم..فرکانسشو رو 1mhz تنظیم کردم delay هم 10000us گذاشتم..

        ممنون.

        دیدگاه


          #34
          پاسخ : کنترل شدت نور LED با استفاده از برنامه نویسی

          نوشته اصلی توسط mehran640
          آقا درست شد..

          دقیقا همونی شد که میخواستم..فرکانسشو رو 1mhz تنظیم کردم delay هم 10000us گذاشتم..

          ممنون.
          خدا رو شکر یازم مشکلی بود بگو
          اشکهایی که پس از هر شکست میریزیم همان عرقیست که برای پیروزی نریخته ایم.
          هیتلر

          دیدگاه

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