اطلاعیه

Collapse
No announcement yet.

تنظیم سرعت با شاستی

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

    تنظیم سرعت با شاستی

    با سلام من میخوام یه فلاشر درست کنم و سرعت چشمک زدن led ها رو با دوتا شاستی کم و زیاد کنم
    لطفا با bascom راهنمایی کنید

    #2
    پاسخ : تنظیم سرعت با شاستی

    شروع کم یه برنامه اولیه بنویس راهنماییت می کنیم.
    انا لله و انا الیه الراجعون

    دیدگاه


      #3
      پاسخ : تنظیم سرعت با شاستی

      من این برنامه رو نوشتم و به پین های پورت c میخوام کلید وصل کنم که با یکی زیاد کنم و با یکی کم کنم
      $regfile = "m8def.dat"
      $crystal = 1000000
      Config Portd = Output
      Config Portb = Output
      Config Pinc.0 = Input
      Config Pinc.1 = Input
      Do


      Portd = &B00001111
      Waitms 150
      Portd = &B00011111
      Waitms 150
      Portd = &B00111111
      Waitms 150
      Portd = &B01111111
      Waitms 150
      Portd = &B11111111
      Waitms 150
      Portd = &B11111111
      Portb = &B00000001
      Waitms 150
      Portd = &B11111111
      Portb = &B00000011
      Waitms 150
      Portd = 0
      Portb = 0
      Waitms 1
      Loop
      End

      دیدگاه


        #4
        پاسخ : تنظیم سرعت با شاستی

        سلام
        میشه یه متغییر مثل A تعریف کرد و به جای نوشتن Waitms 150 نوشت Waitms A و بعد مقدار A رو با شستی کم یا زیاد کرد.

        دیدگاه


          #5
          پاسخ : تنظیم سرعت با شاستی

          خوب گیر من هم همین است

          دیدگاه


            #6
            پاسخ : تنظیم سرعت با شاستی

            کسی جواب من رو نمیده

            دیدگاه


              #7
              پاسخ : تنظیم سرعت با شاستی

              خب شما مثه اینکه تازه اول راهی!
              هنوز نمی دونی متغیر رو چه جوری تعریف می کنن.خب لول باید یه مطالعه اولیه داشته باشی وگرنه اگه برنامه آماده هم جلوت بزارن نمی تونی استفاده کنی. :agree:
              کتاب بخت آور رو بگیر شروع کن ظرف یکی دو هفته ردیف ردیف میشی. :nerd:
              انا لله و انا الیه الراجعون

              دیدگاه


                #8
                پاسخ : تنظیم سرعت با شاستی

                سلام
                یک متغیر قبل از حلقه برنامه تعریف کن مثل
                Dim Speed As Word
                دو خط زیر رو توی حلقه برنامه اضافه کن. دستورات خواندن کلید متصل شده به پین میکرو هستند.
                Debounce Pinc.0 , 0 , Ziad , Sub
                Debounce Pinc.1 , 0 , Kam , Sub
                در انتهای برنامه، دو زیر برنامه رو باید به صورت زیر اضافه کنید. در صورت فشردن هرکدام از کلیدها زیربرنامه مربوط به اون اجرا میشه. کلید ها باید به زمین وصل شوند. به جای 150 در برنامه خودتون از Speed استفاده کنید.
                Ziad:
                if Speed < 2000 then speed = Speed + 100
                Return

                Kam:
                If Speed >= 200 Then Speed = Speed - 100
                Return
                در ضمن جا داشت از جناب شاهین شرق و behnam sa تشکر کنید.

                دیدگاه


                  #9
                  پاسخ : تنظیم سرعت با شاستی

                  با سلام من این کارو کردم ولی بازهم سرعت کم و زیاد نشد
                  $regfile = "m8def.dat"
                  $crystal = 1000000
                  Config Portd = Output
                  Config Pinc.0 = Input
                  Config Pinc.0 = Input
                  Dim W As Word
                  Debounce Pinc.0 , 0 , Ziad , Sub
                  Debounce Pinc.1 , 0 , Kam , Sub

                  Do
                  Portd = &B01111111
                  waitms w 'cheshmak all
                  Portd = &B00000111
                  waitms w 'on only arayshe
                  Portd = &B01111000
                  waitms w 'on only arayesh ghahy
                  Portd = &B00000111
                  waitms w 'on only arayshe
                  Portd = &B01111000
                  waitms w 'on only arayesh ghahy
                  Portd = &B00000111
                  waitms w 'on only arayshe
                  Portd = &B01111000
                  waitms w 'on only arayesh ghahy
                  Portd = &B00000111
                  waitms w 'on only arayshe
                  Portd = &B01111000
                  waitms w 'on only arayesh ghahy
                  Loop
                  End

                  Ziad:
                  If W < 1000 Then W = W + 100
                  Return

                  Kam:
                  If W >= 200 Then W = W - 100
                  Return

                  دیدگاه


                    #10
                    پاسخ : تنظیم سرعت با شاستی


                    Debounce Pinc.0 , 0 , Ziad , Sub
                    Debounce Pinc.1 , 0 , Kam , Sub
                    این دو سطر رو باید داخل do-loop قرار بدید
                    و w=200 قبل از do بنویسید.

                    دیدگاه


                      #11
                      پاسخ : تنظیم سرعت با شاستی

                      این کارو هم کردم ولی بازهم تغیری حاصل نشد
                      حالا یک برنامه دیگه نوشتم ولی مشکل اینجاست که این تغییرات ذخیره نمیشه بعد از قطع شدن تغذیه به مقدار اولیه باز میگردد

                      دیدگاه


                        #12
                        پاسخ : تنظیم سرعت با شاستی

                        نوشته اصلی توسط hsoft2
                        این کارو هم کردم ولی بازهم تغیری حاصل نشد
                        چطور تغییر دادید ؟
                        من امتحان کردم کار کرد (تو Proteuse)
                        ولی بهتره از وقفه استفاده کنید.

                        نوشته اصلی توسط hsoft2
                        حالا یک برنامه دیگه نوشتم ولی مشکل اینجاست که این تغییرات ذخیره نمیشه بعد از قطع شدن تغذیه به مقدار اولیه باز میگردد
                        اگر بعد از قطع شدن تغذیه بخواهید تغییرات ذخیره بشه و به مقدار اولیه باز نگردد باید در حافظه غیر فرار مثلا در eeprom خود میکرو ذخیره بشه ولی باید به یاد داشته باشید که 100،000 بار قابل نوشتن / پاک کردن هست.


                        دیدگاه


                          #13
                          پاسخ : تنظیم سرعت با شاستی

                          اگر ممکنه روی همین برنامه توضیح بدید
                          $regfile = "m8def.dat"
                          $crystal = 1000000
                          Config Portb = Output
                          Config Portc = Output
                          Config Int0 = Falling
                          Config Int1 = Falling
                          Enable Interrupts
                          Enable Int0
                          Enable Int1
                          On Int0 Updelay
                          On Int1 Downdelay
                          Dim W As Word
                          W = 500
                          Do
                          Portb = 0
                          Portc = 0
                          Waitms 1
                          Portb = &B00000001
                          Waitms W
                          Portb = &B00000011
                          Waitms W
                          Portb = &B00000111
                          Waitms W
                          Portb = &B00001111
                          Waitms W
                          Portb = &B00011111
                          Waitms W
                          Portb = &B00111111
                          Waitms W
                          Portb = &B00111111
                          Portc = &B00000001
                          Waitms W
                          Portc = &B00000011
                          Waitms W
                          Portc = &B00000111
                          Waitms W
                          Portc = &B00001111
                          Waitms W
                          Portc = &B00011111
                          Waitms W
                          Portc = &B00111111
                          Waitms W
                          Loop
                          End
                          Updelay:
                          W = W + 100
                          Return

                          Downdelay:
                          W = W - 100
                          Return

                          دیدگاه


                            #14
                            پاسخ : تنظیم سرعت با شاستی

                            راستی همون فایل پروتئوس و بسکام رو که جواب گرفتید میشه اپلود کنید

                            دیدگاه


                              #15
                              پاسخ : تنظیم سرعت با شاستی

                              نوشته اصلی توسط hsoft2
                              راستی همون فایل پروتئوس و بسکام رو که جواب گرفتید میشه اپلود کنید

                              کد:
                              $regfile = "m8def.dat"
                              $crystal = 1000000
                              Config Portb = Output
                              Config Portc = Output
                              Config Int0 = Falling
                              Config Int1 = Falling
                              Enable Interrupts
                              Enable Int0
                              Enable Int1
                              On Int0 Updelay
                              On Int1 Downdelay
                              Dim W As Word
                              W = 500
                              Do
                              Portb = 0
                              Portc = 0
                              Waitms 1
                              Portb = &B00000001
                              Waitms W
                              Portb = &B00000011
                              Waitms W
                              Portb = &B00000111
                              Waitms W
                              Portb = &B00001111
                              Waitms W
                              Portb = &B00011111
                              Waitms W
                              Portb = &B00111111
                              Waitms W
                              Portb = &B01111111
                              Portc = &B11111111
                              Waitms W
                              Portc = &B01111111
                              Waitms W
                              Portc = &B00111111
                              Waitms W
                              Portc = &B00011111
                              Waitms W
                              Portc = &B00001111
                              Waitms W
                              Portc = &B00000111
                              Waitms W
                              Portc = &B00000011
                              Waitms W
                              Portc = &B00000001
                              Waitms W
                              Loop
                              End
                              
                              Updelay:
                              If W < 1501 Then W = W + 100
                              Return
                              
                              Downdelay:
                              If W > 0 Then W = W - 100
                              Return
                              شماتیک:

                              http://electronic289.persiangig.com/1.gif

                              دیدگاه

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