اطلاعیه

Collapse
No announcement yet.

ایجاد PWM روی پورت

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

    #16
    پاسخ : ایجاد PWM روی پورت

    شما به غیر از اون پورت که گفتم بی زحمت اینتراپت رو هم فعال کن
    enable interrupts
    همانطور که مایل نیستم بنده کسی باشم، حاضر نیستم آقای کسی باشم. کسانی که مخالف آزادی دیگرانند، خود لیاقت آزادی را ندارند.((آبراهام لینکن))

    قدرت شگفت انگیز نیروهای خلاق و استعدادهای نهفته آدمی هنگامی آشکار می شود که نیازی حیاتی، تواناییهای او را به فعالیت وادارد و کشش آرزویی، سراپای وجودش را به جنب و جوش درآورد.((آبراهام لینکن))

    [img width=343 height=100]http://www.elecdesigner.com/uploads/PRO-DESIGNER-GROUP.jpg[/img]

    دیدگاه


      #17
      پاسخ : ایجاد PWM روی پورت

      مرسی
      حالا اگه بخوام خودم یه سری افکت بدم همون کاری که توحلقه دو لوپ کردم که اشتباه بود چه کار میتونم کنم؟
      یعنی هم افکت داشته باشم هم یه وقتهای pwm
      با این میشه؟
      **** k i n j ****

      دیدگاه


        #18
        پاسخ : ایجاد PWM روی پورت

        دوست عزیز الان شما pwm داری پس دیگه روشن و خاموش کردن پورت معنی نداره می تونی به جای روشن کردن به متغیر مربوط به پینت عدد 255 و به جای خاموش کردن به متغیر مربوط به پینت عدد 0 بدی و در خلالش هم می تونی مثلا با حلقه for افکت شید و غیره بدی
        همانطور که مایل نیستم بنده کسی باشم، حاضر نیستم آقای کسی باشم. کسانی که مخالف آزادی دیگرانند، خود لیاقت آزادی را ندارند.((آبراهام لینکن))

        قدرت شگفت انگیز نیروهای خلاق و استعدادهای نهفته آدمی هنگامی آشکار می شود که نیازی حیاتی، تواناییهای او را به فعالیت وادارد و کشش آرزویی، سراپای وجودش را به جنب و جوش درآورد.((آبراهام لینکن))

        [img width=343 height=100]http://www.elecdesigner.com/uploads/PRO-DESIGNER-GROUP.jpg[/img]

        دیدگاه


          #19
          پاسخ : ایجاد PWM روی پورت

          نوشته اصلی توسط PRO-DESIGNER
          بهترین روش اینه که شما با وقفه تایمر pwm رو افزایش بدی

          اینطوری

          کد:
          [left]
          
          گیریم پورت a خزوجی باشه
          config timer0=timer,prescale=1
          enable ovf0
          on ovf0 pwmcounter
          
          dim pro1 as byte
          dim pro2 as byte
          dim bufferpwm as byte
          
          pro1=100
          pro2=80
          do
          
          loop
          
          end
          
          pwmcounter:
          incr bufferpwm
          if bufferpwm=0 then
          porta.0=1
          porta.1=1
          end if
          if bufferpwm=pro1 then porta.0=0
          if bufferpwm=pro2 then porta.1=0
          return
          [/left]
          تو این برنامه پین 0 و 1 پورت a برات pwm می سازه و هر چه مقدار pro1 بیشتر باشه pwm روی پین 0 بیشتر می شه و همچنین برای pro2

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

          یک چیز دیگه اگر خواستی فرکانس pwm بیشتر بشه می تونی مقدار اولیه به تایمرت بدی و تو هر زیر برنامه وقفش هم اون مقدار اولیه رو تمدید کنی
          سلام
          استفاده از روش تایمری وpwm یه مشکلی که داره اینکه به عنوان مثال در مگا8 شما فقط 2تایمر بیشتر نداری و فقط 2 خروجی رو میتونی کنترل کنی مگر اینکه از مالتی پلکس استفاده کنی
          یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

          دیدگاه


            #20
            پاسخ : ایجاد PWM روی پورت

            نوشته اصلی توسط kinj
            سلام
            من این برنامه رو تو پرتوس اجرا میکنم هیچ اتفاقی نمیوفته
            همون برنامه شما
            $regfile "m8def.dat"
            $crystal = 1000000

            Config Timer0 = Timer , Prescale = 1
            Enable Ovf0
            On Ovf0 Pwmcounter

            Dim Pro1 As Byte
            Dim Pro2 As Byte
            Dim Bufferpwm As Byte

            Pro1 = 100
            Pro2 = 80

            Start Timer0
            Do


            Loop

            End

            Pwmcounter:
            Incr Bufferpwm
            If Bufferpwm = 0 Then
            Portd.0 = 1
            Portd.1 = 1
            End If
            If Bufferpwm = Pro1 Then Portd.0 = 0
            If Bufferpwm = Pro2 Then Portd.1 = 0
            Return
            سلام
            دوست عزیز kinj شما ازروش فوق جواب گرفتید؟؟

            من دقیقا همون چیزی رو میخام که شما میخاید .

            من 5 تا کلمه دارم که میخام کم نور بشن و بصورت فلاشری on-off بشن

            خاستم ببینم شما از 2 روش تایمری و for جواب گرفتید ؟؟

            اگر برنامه ای در این زمینه دارید ممنون میشم قرار بدید
            یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

            دیدگاه


              #21
              پاسخ : ایجاد PWM روی پورت

              نوشته اصلی توسط اقای دکتر
              سلام
              دوست عزیز kinj شما ازروش فوق جواب گرفتید؟؟

              من دقیقا همون چیزی رو میخام که شما میخاید .

              من 5 تا کلمه دارم که میخام کم نور بشن و بصورت فلاشری on-off بشن

              خاستم ببینم شما از 2 روش تایمری و for جواب گرفتید ؟؟

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

              http://s2.picofile.com/file/7666732682/pwm_m.zip.html

              که شاید با یه کم تغییر اعداد جواب بده
              اگه نیتونید یه تست کنید و من منتظر جواب شما هستم
              **** k i n j ****

              دیدگاه


                #22
                پاسخ : ایجاد PWM روی پورت

                سلام دوستان
                برای کسانی که از اینگونه موضوعات جستجو میکنند ولی چیز خوبی نصیبشون نشده این لینک رو میگذارم تا استفاده کنند ...
                امیدوارم مفید باشه ....
                چگونه همه پایه های میکروکنترلر را PWM کنیم ؟؟
                با سه کامپایلر :
                کدویژن
                بسکام
                اتمل استودیو
                http://www.eca.ir/forum2/index.php?topic=90246.0
                [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                معرفی نرم افزار Codewizard PWM
                با من بیشتر آشنا شوید

                دیدگاه

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