اطلاعیه

Collapse
No announcement yet.

تنظیم نور led با pwm

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

    تنظیم نور led با pwm

    سلام
    چطوری میشه در میکروکنترلر های Avr با استفاده از pwm نور یه led رو کم و زیاد کرد؟ :rolleyes:
    اگه ممکنه با codewizard کدویژن توضیح بدید :redface:

    #2
    پاسخ : تنظیم نور led با pwm

    اولا همینجا سرچ کن، نمونه اینی که میگی خیلی زیاده :read:

    میتونی از عملکرد تایمر، در مد fast pwm استفاده کنی.
    بعدش کافیه مقدار متغیر مربوط به خروجی مدار (جایی که به led یا.... وصل میشه) رو برابر OCR0 قرار بدی. در طی برنامه، هرچقدر مقدار این متغیر رو عوض کنی، سطح high بودن سیگنالت (یا برعکس، بستگی به نوع تعریف خروجی و تایمرت داره) تغییر میکنه.

    کد:
    unsigned int x=38;
    interrupt [TIM0_OVF] void timer0_ovf_isr(void)
    {
     TCCR0=0X00;
     TCNT0=22;
     OCR0=x;
     TCCR0=0X6D;
     }
     void main ()
     {
     PORTC=0x00;
     DDRC=0xFF;
     PORTA=0x03;
     DDRA=0x00;
     TCNT0=22;
     OCR0=38;
     TIMSK=0X01;
     TCCR0=0X6D;
     #asm ("sei")
     while (1)
    if ...
    ...
    x++
    ...
    عددها رو ول کن. مثاله!! مقادیر TCNT0 و OCR0 همچنین portها رو میتونی عوض کنی.
    مد fast pwm هست. در طی برنامه، میتونی x رو هرجور میخوای کنترل کنی. که مستقیما OCR0 رو تغییر میده.

    البته دوستان خیلی بهتر میتونن کمکت کنن. من کمی بلدم :redface:
    دلی دارم که از تنگی در او جز غم نمی گنجد........ غمی دارم ز دلتنگی که در عالم نمیگنجد

    دیدگاه

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