اطلاعیه

Collapse
No announcement yet.

شمارنده سعودی و نزولی

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

    شمارنده سعودی و نزولی

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

    با تشکر :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:

    #2
    پاسخ : شمارنده سعودی و نزولی

    ابعاد رجیستری که تعریف میکنید میتونه خیلی زیاد باشه
    برای مثبت و منفی هم کلا کامپیوتر و ماشین، براش چیزی به نام مثبت و منفی تعریف نشدس و کد نویسه که یه بیت خاص رو بیت علامت در نظر میگیره یا غیره.
    پس شما میتونی بیت اول رو به عنوان علامت در نظر بگیری و در موقع نیاز تو کدت عوضش کنی و موقع خوندن هم از اون بیت علامت رو استخراج کنی!
    مثلا صفر به عنوان مثبت و یک به عنوان منفی تلقی بشه

    دیدگاه


      #3
      پاسخ : شمارنده سعودی و نزولی

      نوشته اصلی توسط dshca
      با سلام به دوستان عزیز
      من تا چند بیت می تونم یک شمارنده درست کنم
      می خوام یک خط کش الکترونیکی رو بهش وصل کنم و یا شفت انکدر
      ضمنا بتونم اعداد مثبت و منفی هم داشته باشم

      با تشکر :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:
      از نظر سخت افزار که به قول دوستمون خیلی! فک نمیکنم نرم افزار جایی محدودت کنه پس بازم همون خیلی

      برای شمارش راحت تر اینه که مقدار وسط رو 0 درنظر بگیری ازون کوچیکتر رو منفی و بزرگترا رو مثبت
      مثلا برا یه رجیستر 8 بیتی 128 رو 0 بگیر. 129 میشه 1 و 130 میشه 2 و ... . اینجوری محاسبات راحت تر میشه. توی C که ظاهرا از همین روش استفاده میشه
      پشت به کنکور ، رو به سربازی...

      دیدگاه


        #4
        پاسخ : شمارنده سعودی و نزولی

        در زبان های سطح بالایی مثل c به راحتی میتوان با مثبت و منفی کار کرد چون دستورات بسیار قوی برای این کار دارن ولی این جا بحث ما زبان ماشین هست HDL
        و دستورات سطح بالا نداریم ولی میشه مثلا یه رجیستر یه بیتی تعریف کرد که کار تعیین علامت رو کنه و یه رجیستر مثلا 100 بیتی برای شمارش
        و به راحتی با دستورای ساده ای مثل if کارش رو ساخت!
        reg sign q
        reg count [100] q

        (کیو ها رو نادیده بگیرید هر کاری کردم نشد کروشه ها رو درست بزاره و مجبور شدم یه چیزی بزارم تا کروشه ها درست شه! اگه راهی داره دوستان بگن)
        ... موقع زیاد کردن:
        if(sign==0 ) count<=count+1 اگر مثبت است کانت را یکی زیاد کن
        else if(sign==1 && count) count<=count-1 اگه منفیه و کانت صفر نیست کانت رو یکی کم کن(تا عدد ما بزرگ بشه)
        else if(sign==1 && !count) count<=1 sign<=0

        ...موقع کم کردن:
        if(sign==1) count<=count1+1 اگر منفی است کانت را یکی زیاد کن(در واقع قدر مطلق زیاد میشه ولی عدد کوچیک میشه)
        else if(sign==0 && cont) count<=count-1
        else if(sign==0 && !count) count<=1 sign<=1

        البته اونی که دوستمون گفتن هم کاملا درسته ولی احتمالا اون هم برای تبدیل کردن به عدد واقعی همین قدر کد نیاز داره!
        اگه ایرادی داره اساتید توضیح بدن :nerd:

        دیدگاه


          #5
          پاسخ : شمارنده سعودی و نزولی

          با تشکر از دوستان اساتید محترم
          می شه یک چیز سخت افزار مناسب و با قیمت مناسب که تو بازار پیدا بشه و سرعت خوبی و نسبتا بالایی داشته باشه پیشنهاد بدید؟؟؟؟
          :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes:

          دیدگاه


            #6
            پاسخ : شمارنده سعودی و نزولی

            برا انکودر با یه avr معمولی هم میشه
            با خط کش متاسفانه تا حالا کار نکردم ، ولی بعید میدونم مشکلی باشه
            پشت به کنکور ، رو به سربازی...

            دیدگاه


              #7
              پاسخ : شمارنده سعودی و نزولی

              نه نمی شه
              دو مشکل وجود داره
              ا- سرعت پائین هستش یعنی اینکه اگه خط کش را با سرعت حرکت بدیم اطلاعات گم می شه
              2- میکرو فقط می تونه به یک کار رسیدگی کنه و اگه بخواهیم مابین شمردن کاری انجام بدیم بازم اطلاعات گم میشه
              :sad: :sad: :sad: :sad: :sad: :sad: :sad: :sad: :sad: :sad: :sad: :sad: :sad: :sad:

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

              دیدگاه


                #8
                پاسخ : شمارنده سعودی و نزولی

                چرا میشه
                مگه فرکانس خط کش چقده آخه؟! :redface: برنامتو بذار ببینم چی نوشتی

                شما 2/3 تا پالس انکودرو بده به پایه های اینتراپتت اونجا شمارشو انجام بده

                نوشته اصلی توسط dshca
                2- میکرو فقط می تونه به یک کار رسیدگی کنه و اگه بخواهیم مابین شمردن کاری انجام بدیم بازم اطلاعات گم میشه
                کاملا این طوری نیس
                پشت به کنکور ، رو به سربازی...

                دیدگاه


                  #9
                  پاسخ : شمارنده سعودی و نزولی

                  دوست عزیز
                  وقتی خط کش رو تکون می دی پالس تولید می کنه
                  سرعت تکون دادن خط کش همون سرعت دستگاه هستش مثلا 0.6 متر در ثانیه
                  خط کش فرکانس نداره فقط با حرکت دادن سنسور پالس تولید می کنه

                  دیدگاه


                    #10
                    پاسخ : شمارنده سعودی و نزولی

                    نوشته اصلی توسط dshca
                    دوست عزیز
                    وقتی خط کش رو تکون می دی پالس تولید می کنه
                    سرعت تکون دادن خط کش همون سرعت دستگاه هستش مثلا 0.6 متر در ثانیه
                    خط کش فرکانس نداره فقط با حرکت دادن سنسور پالس تولید می کنه
                    oo: جدا؟!
                    منظورم فرکانس پالسی که میاد بود
                    موفق باشی
                    پشت به کنکور ، رو به سربازی...

                    دیدگاه


                      #11
                      پاسخ : شمارنده سعودی و نزولی

                      لطفا به این سایت مراجعه کنید تا همه چی دستگیرتون بشه

                      http://www.fpga4fun.com/QuadratureDecoder.html

                      :read: :read: :read: :read: :read: :read: :read: :read:

                      دیدگاه

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