اطلاعیه

Collapse
No announcement yet.

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

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

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

    می تونستی به جای استفاده از وقفه از debounce استفاده کنی.
    برای ذخیره باید چندتا کار کنی.
    اول متغیر از نوع e2prom تعریف کنی:
    dim w1 as eramword

    بعد می نویسی که هر بار کلید زده شد مقدار در درون این متغیر ذخیره بشه:

    Updelay:
    W = W + 100
    W1=W
    waitms 50
    Return

    Downdelay:
    W = W - 100
    W1=W
    waitms 50
    Return
    در مرحله آخر همون اول برنامه می نویسی:

    W=w1
    waitms 50
    که توی این قسمت مقدار رو از e2prom توی حافظه اصلی و جاری میکرو می ریزی.


    انا لله و انا الیه الراجعون

    دیدگاه


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

      منظورم این بود که اون حالت قبل که به port c کلید وصل کرده بودیم
      راستی برای ذخیره توضیحی نمیدید

      دیدگاه


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

        کد:
        $regfile = "m8def.dat"
        $crystal = 1000000
        Config Portd = Output
        Config Pinc.0 = Input
        Config Pinc.0 = Input
        Dim W As Word
        W = 20
        
        Do
        Debounce Pinc.0 , 0 , Ziad , Sub
        Debounce Pinc.1 , 0 , Kam , Sub
        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
        شماتیکش هم مثل شماتیک قبلی هست فقط پایه های 0و 1 port c وصل میشه.
        برای نوشتن متغیر در eepram داخلی

        نوشته اصلی توسط شاهین شرق

        اول متغیر از نوع e2prom تعریف کنی:
        dim w1 as eram word
        چون نمیشه روی eram مستقیم فرمول نوشت باید اعمال ریاضی ابتدا روی متغیر w انجام بشه بعد بر روی w1 ریخته بشه(w1=w نوشتن در w1 )

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

        Updelay:
        W = W + 100
        W1=W
        waitms 50
        Return

        Downdelay:
        W = W - 100
        W1=W
        waitms 50
        Return
        خوب حالا w در w1 ذخیره شده ولی از w1 چیزی خونده نمیشه پس باید w1 رو خوند (w=w1 خواندن از w1 )

        نوشته اصلی توسط شاهین شرق

        در مرحله آخر همون اول برنامه می نویسی:

        W=w1
        waitms 50
        که توی این قسمت مقدار رو از e2prom توی حافظه اصلی و جاری میکرو می ریزی.


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

        دیدگاه


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

          نوشته اصلی توسط hsoft2
          منظورم این بود که اون حالت قبل که به port c کلید وصل کرده بودیم
          راستی برای ذخیره توضیحی نمیدید
          متوجه نشدم منظورت چیه؟بیشتر توضیح بده.


          نوشته اصلی توسط behnam sa
          از آقای شاهین شرق ممنون میشم اگه اشکالی بود یا ناقص بود کامل کنند.
          بله درسته فقط اینکه میشه روی eram هم مستقیم نوشت ولی باعث کندی کار میشه.
          در ضمن حتما موقع خوندن و نوشتن حتما حداقل یه waitms10 گذاشت تا عملیات روی e2prom کاملا صحیح انجام بشه.
          انا لله و انا الیه الراجعون

          دیدگاه


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

            سلام به همه
            من پست های شما عزیزان رو خوندم
            من با حافظه E2prom میکرو قبلا کار کردم ولی به زبان C برنامه رو نوشتم و مشکلی هم نداشت.!
            الان با بسکام نوشتم و لی کد حافظه E2prom میکرو که پسوند epp. داره تولید نمیشه و کار نمیکنه
            یعنی اطلاعات دخیره نمیشه.!
            Codevision این کد رو تولید میکنه و وقتی Eprom رو برنامه ریزی میکنم برنامه جواب میده
            ولی همون برنامه با بسکام جواب نمیده.!
            دوستانی که قبلا با Eprom میکرو تو بسکام کار کردند لطفا راهنمایی کنن
            ممنون
            قومی متفکرند اندر ره دین
            قومی بگمان فتاده در راه یقین
            میترسم از آن که بانگ آید روزی
            که ای بی خبران ، راه نه آن است و نه این...!

            دیدگاه

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