اطلاعیه

Collapse
No announcement yet.

افزایش متغییر در واحد زمان

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

    افزایش متغییر در واحد زمان

    سلام
    دوستان یه سوال دارم تو بسکام من اگه بخام به یه متغیر در یک ثانیه مقدارشو زیاد کنم چه دستوری بنویسم؟؟
    مثلا اگه بخام به میکرو بگم تو یه ثانیه متغیر A رو از 10 به 90 برسون یا هر عدد دیگه چیکار باید بکنم؟
    اصلا همچین چیزی امکان پدیره؟؟
    لطفا فوری کمکم کنید
    من با دانش و آکاهی ام تمام جهالت ها رو به زانو در خواهم اورد.

    #2
    پاسخ : افزایش متغییر در واحد زمان

    سلام دوست عزیز
    بستگی داره که کاربردتون تو چی باشه
    ولی فک کنم این جواب بده
    dim a as x
    dim b as x
    a=b مثلا عدد اولتون b
    waitms 100
    a=b+x ایکس مقداریه که میخواین اضافه بشه به عدد اولی

    دیدگاه


      #3
      پاسخ : افزایش متغییر در واحد زمان

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

      دیدگاه


        #4
        پاسخ : افزایش متغییر در واحد زمان

        درود
        به نظرم اگه ی مقدار بیشتر توضیح بدید که قراره چیکار کنید بهتر بشه کمک کرد ، ی کم شفاف سازی کنید
        چشم ها را باید شست ، جور دیگر باید دید . . .

        دیدگاه


          #5
          پاسخ : افزایش متغییر در واحد زمان

          میخام فرکانس ایجاد کنم تو میکرو و بتونم کنترلش کنم بالا و پایینش کنم
          فرضا با پوش باتم بتونم فرکانس بالا پایین کنم
          من با دانش و آکاهی ام تمام جهالت ها رو به زانو در خواهم اورد.

          دیدگاه


            #6
            پاسخ : افزایش متغییر در واحد زمان

            سلام
            ببین داداش یه دستور داریم به نام Wait
            این دستور بهت کمک می کنه به اندازه ی هر مدت زمانی که می خوای در برنامت وقفه ایجاد کنی.
            مثلا:
            wait 5 پنج ثانیه صبر می کنه بعد برنامه رو ادامه میده
            waitms 100 صد میلی ثانیه صبر می کنه بعد برنامه رو ادامه میده
            waitus 50 پنجاه میکرو ثانیه صبر می کنه بعد برنامه رو ادامه میده

            ببین میتونی از این استفاده کنی یا نه :nerd:
            اللهم عجل لوليک الفرج

            دیدگاه


              #7
              پاسخ : افزایش متغییر در واحد زمان

              سلام دوست عزیز
              شما اگر یک ثانیه دقیق می خواهی بهتره از تایمر 2 و یک کریستال ساعت (32768hz) استفاده کنی چون دستور wait مقدار دقیقی به شما نمی دهد
              اگر مشکلی بود در خدمتم
              موفق باشید

              دیدگاه


                #8
                پاسخ : افزایش متغییر در واحد زمان

                نوشته اصلی توسط alireza shabani parsa
                سلام دوست عزیز
                شما اگر یک ثانیه دقیق می خواهی بهتره از تایمر 2 و یک کریستال ساعت (32768hz) استفاده کنی چون دستور wait مقدار دقیقی به شما نمی دهد
                اگر مشکلی بود در خدمتم
                موفق باشید
                اره wait جواب نمیده
                یعنی چظوری؟
                من با دانش و آکاهی ام تمام جهالت ها رو به زانو در خواهم اورد.

                دیدگاه


                  #9
                  پاسخ : افزایش متغییر در واحد زمان

                  سلامی دوباره امید وارم که خوب باشید
                  مثلا شما می خواهی در هر یک ثانیه یک واحد به متغیر x اضافه کنی در این صورت برنامه رو باید به این صورت بنویسی :
                  $regfile = "m16adef.dat"
                  $crystal = 1000000

                  Config Timer2 = Timer , Async = On , Prescale = 128

                  Enable Interrupts
                  Enable Timer2
                  Enable Ovf2
                  On Ovf2 Aa
                  Start Timer2

                  Dim x As Byte

                  Do
                  Loop


                  Aa:
                  Incr x
                  Return

                  end 'end program
                  اگر متوجه نشدید بگید با کمال میل توضیح میدم
                  راستی یک موضوع دیگه باید کریستال ساعت رو به پایه های tosc1 و tosc2 وصل کنی

                  دیدگاه


                    #10
                    پاسخ : افزایش متغییر در واحد زمان

                    نوشته اصلی توسط alireza shabani parsa
                    سلامی دوباره امید وارم که خوب باشید
                    مثلا شما می خواهی در هر یک ثانیه یک واحد به متغیر x اضافه کنی در این صورت برنامه رو باید به این صورت بنویسی :
                    $regfile = "m16adef.dat"
                    $crystal = 1000000

                    Config Timer2 = Timer , Async = On , Prescale = 128

                    Enable Interrupts
                    Enable Timer2
                    Enable Ovf2
                    On Ovf2 Aa
                    Start Timer2

                    Dim x As Byte

                    Do
                    Loop


                    Aa:
                    Incr x
                    Return

                    end 'end program
                    اگر متوجه نشدید بگید با کمال میل توضیح میدم
                    راستی یک موضوع دیگه باید کریستال ساعت رو به پایه های tosc1 و tosc2 وصل کنی
                    خب اینو ک بلدم اگه بخام تو یه ثانیه 6500 واحد اضافه کنم چطور؟؟یا بیشتر؟
                    من با دانش و آکاهی ام تمام جهالت ها رو به زانو در خواهم اورد.

                    دیدگاه


                      #11
                      پاسخ : افزایش متغییر در واحد زمان

                      اون وقت به جای دستور incr x باید بنویسید x=x+6500 یا بیشتر

                      دیدگاه


                        #12
                        پاسخ : افزایش متغییر در واحد زمان

                        نوشته اصلی توسط alireza shabani parsa
                        اون وقت به جای دستور incr x باید بنویسید x=x+6500 یا بیشتر
                        نه نه نه منظور منو متوجه نشدی
                        من گفتم تو ی ثانیه از صفر تا فرضا 100 تغییر کنه ن یک دفعه بلکه یکی یکی
                        من با دانش و آکاهی ام تمام جهالت ها رو به زانو در خواهم اورد.

                        دیدگاه


                          #13
                          پاسخ : افزایش متغییر در واحد زمان

                          خوب از اول بگید اینو
                          اون وقت برنامه به این صورت می شه
                          $regfile = "m16adef.dat"
                          $crystal = 1000000

                          Config Timer2 = Timer , Async = On , Prescale = 128

                          Enable Interrupts
                          Enable Timer2
                          Enable Ovf2
                          On Ovf2 Aa
                          Start Timer2

                          Dim x As Byte

                          Do
                          Timer2 = 254
                          Loop


                          Aa:
                          Incr x
                          Return

                          end 'end program
                          این برنامه در طول یک ثانیه متغیر x رو 255 تا جابه جا می کنه حالا برای عدد های دیگه میتونید محاسبات رو تغییر بدید

                          دیدگاه

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