اطلاعیه

Collapse
No announcement yet.

تایمر یک در مد pwm

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

    تایمر یک در مد pwm

    میشه یکی یه پروژه با pwm یک بذاره.

    مثلا یک led و دو تا کلید داشته باشه و با کلید ها نور led رو کم و زیاد کنه.

    من هرکاری میکنم نمیتونم جواب بگیرم.مثله خود کتاب علی کاهه هم برنامه رو نوشتم ولی بازم کار نکرد.

    من خوب این pwm رو نفهمیدم یکی با برنامه یه توضیحی بده ممنون میشیم.
    $regfile = "M8def.dat"
    $crystal = 8000000
    Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 64
    Config Pind.4 = Output
    Config Pind.5 = Output
    Config Pind.0 = Input
    Config Pind.1 = Input
    Config Debounce = 30

    Dim A As Byte
    Dim B As Byte
    A = 10
    B = 10

    Shoro:
    Do
    Pwm1a = A
    Pwm1b = B
    Debounce Pind.0 , 0 , Milad
    Debounce Pind.1 , 0 , Milad1
    Loop
    End
    Milad:
    A = A + 10
    jmp shoro

    Milad1:
    B = B + 10

    jmp shoro


    www.icesi.ir

    #2
    پاسخ : تایمر یک در مد pwm

    سلام

    برنامه ی شما درسته فقط متغیرهای A , B رو از نوع Word تعریف کنید چون تایمر رو به صورت 10 بیتی پیکره کردید

    و توجه داشته باشید که prescale رو 64 گرفتید وفرکانس سیگنال خروجی حدود 60 هرتز میشه

    در ضمن خروجی رو هم از پایه های OC1a , OC1b بگیرید یعنی Portb.1 , portb.2
    ِِDie for Life, Not Live to Die
    Freedom Fighter
    " ناخود گاه، هریک از ما ، از نامیرائی خود یقین دارد " . فروید

    دیدگاه


      #3
      پاسخ : تایمر یک در مد pwm

      سلام
      در مورد pwm باید بگم من فقط تونستم از تایمر 1 pwm بگیرم اما تایمر 0 و 2 نمی شه نمیدونم چرا اون متغییرت رو word تعریف کنی حله

      اما
      در مورد کلید های تکی یه نکته جالب بهت بگم اگه زمانی که دستت رو از رو کلید بر میداری رو برای خواندن کلید انتخاب کنی bounce صفر میشه و بدون این دستور هم میتونی به راحتی با کلید کار کنی امتحان کن ببین

      دیدگاه


        #4
        پاسخ : تایمر یک در مد pwm

        نوشته اصلی توسط ma_bazrafshan
        سلام
        در مورد pwm باید بگم من فقط تونستم از تایمر 1 pwm بگیرم اما تایمر 0 و 2 نمی شه نمیدونم چرا اون متغییرت رو word تعریف کنی حله

        اما
        در مورد کلید های تکی یه نکته جالب بهت بگم اگه زمانی که دستت رو از رو کلید بر میداری رو برای خواندن کلید انتخاب کنی bounce صفر میشه و بدون این دستور هم میتونی به راحتی با کلید کار کنی امتحان کن ببین
        سلام
        خیر اینطور نیست

        هر سه تایمر در مد پی دبلو ام کار میکنن شما برنامه ای که نوشتی بذار تا اشکالش رو پیدا کنیم :smile:
        ِِDie for Life, Not Live to Die
        Freedom Fighter
        " ناخود گاه، هریک از ما ، از نامیرائی خود یقین دارد " . فروید

        دیدگاه


          #5
          پاسخ : تایمر یک در مد pwm

          با سلام
          من با نرم افزار codvision می تونم برنامه را برات بنویسم چون خیلی راحتر وملموس تر است تا با زبان ماشین اگه خواستی به ایمیلم بزن تا برنامه را برات بنویسم

          دیدگاه


            #6
            پاسخ : تایمر یک در مد pwm

            سلام میشه لطف کنید این چند خط و مقادیرش رو برام توضیح بدین.این قسمتی از یک پروژه ی wav player با کارت mmc هست که در مد pwm کار میکنه.ممنون

            TCCR1A=0xA3;
            TCCR1B=0x09;
            ICR1H=0x03;
            ICR1L=0xFF;
            OCR1AH=0x00;
            OCR1AL=0x00;
            OCR1BH=0x00;
            OCR1BL=0x00;

            TCCR0=0x0A;
            TCNT0=0x00;
            OCR0=0xFF;

            TIMSK=0x02;

            DDRA=0x00;
            PORTA=0xFF;
            DDRC=0x00;
            PORTC=0xFF;
            DDRD=0x3E;
            PORTD=0xC8;
            خـــــــــــــــــــــــــــــــــــــــــــداجون،
            هوای این دوستای ما رو داشته باش...

            دیدگاه

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