اطلاعیه

Collapse
No announcement yet.

ایجاد PWM

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

    ایجاد PWM

    با سلام

    چطوری ، بدون استفاده از تایمر ، روی پایه های PortD میکرو ATmega8 می توانم PWM ایجاد کنم ؟
    برای کنترل نور LED نیاز دارم ، دیوتی سایکل و پریود و ... مهم نیست فقط نور LED رو کم و زیاد کنم ، البته متصل می کنم به بیس ترانزیستور TIP
    http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

    #2
    پاسخ : ایجاد PWM

    $crystal = 8000000

    Config Timer0 = Timer , Prescale = 1
    این چند خط میشه معرفی.
    -------------------------------------------------------
    T0_rut:
    If Pwm = 255 Then
    Pwm = 0
    End If

    If Pwm = B Then Set Portb.0
    If Pwm < B Then Reset Portb.0

    If Pwm = G Then Set Portb.1
    If Pwm < G Then Reset Portb.1

    If Pwm = R Then Set Portb.2
    If Pwm < R Then Reset Portb.2
    Incr Pwm
    Return

    یه تایمر تعریف کنی بعدشم تو زیر برنامش این کدو بذاری.
    ?Why not

    دیدگاه


      #3
      پاسخ : ایجاد PWM

      while(1){
      PORTD=1;
      delay_ms(d);
      PORTD=0;
      delay_ms(t-d);
      }
      d مدت زمان یک بودن و t زمان تناوب که در این صورت t>d باشه با تغییر t فرکانس و با تغییر d دیوتی سایکل تغییر می کنه.

      دیدگاه

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