اطلاعیه

Collapse
No announcement yet.

شمارنده 0 تا 47

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

    شمارنده 0 تا 47

    سلام دوستان...من یک مدار شمارنده دو رقمی با 74192 طراحی کردم...میشه بگید چطور میتونم اون رو محدود کنم...یعنی مثلا تا 47 بشماره :cry:

    #2
    پاسخ : شمارنده 0 تا 47

    سلام ..

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

    دوستان! مدتی کمتر به سایت میام ..

    دیدگاه


      #3
      پاسخ : شمارنده 0 تا 47

      داداش خیلیییییییییییی مردی دستت واقعا درد نکنه...جواب داد... :applause:فقط یه چندتا سوال کوچولو هم دارم!
      اول اینکه اگه بخوام عدد ریست رو از 47 به یه عدد دیگه ببرم چیکار کنم؟
      دومم اینکه استاد ازمون خواسته وقتی به عدد 23 میرسیم یهو بپره به 44 بعد ادامه بده اون رو چیکارش کنم؟ ممنون میشم اگه جوابم رو بدی

      دیدگاه


        #4
        پاسخ : شمارنده 0 تا 47

        سلام ..

        در ابتدا یک نکته ی کوتاه: با توجه به قوانیـن انجمن؛ تنها از گزینه ی تشکر استفاده کنید برای تشکر؛ تا بتونیم به غنی شدن تاپیک ها بیش از پیش کمک کنیم .. امــا در مورد مدار بالا .. کادرهای صورتی و آبی رنگ وظیفه ی همین کار رو بر عهده دارن .. شاید بهتر این باشه که در ابتدا تصویر زیر رو باهم بررسی کنیم ..


        همونطور که مشاهده میکنیم؛ خروجی گیت ها؛ همگی به یک گیت AND منتهی میشه و این به اون معنا هست که نیاز به خروجی های 1 داریم .. کمی بالاتر؛ از Logic State هایی استفاده کردیم که هر کدام قرار هست تا برای ما نماینده ی یک بیت باشن .. با فرض اینکه؛ بیت سمت راست، کم ارزش ترین؛ و بیت سمت چپ، پر ارزش ترین بیت هست؛ برای تولید عدد 5؛ کافیست بیت اول و بیت سوم 1 باشن و باقی بیت ها هم 0 .. بیت های 1؛ برای ورودی گیت AND بسیار خوب هستن امــا برای بیت های 0 باید یک فکری کنیم؛ به این دلیل که نتیجه ی حاصل از AND بیت های 0 و 1 منتهی به 0 میشه و در خروجی نهایتا بیت 0 خواهیم داشت؛ یعنی خروجی غیر فعالی خواهد بود .. با در نظر گرفتن این مساله از گیت های NOT کمک طلب میکنیم برای بیت های 0 با این هدف که ورودی ما به گیت AND رو 1 کنن، یعنی بیت صفر بگیرن و بیت 1 تحویل گیت AND بدن .. در نتیجه؛ وقتی که بیت اول 1؛ بیت دوم 0؛ بیت سوم 1 و بیت چهارم 0 هستن؛ مجموعه ی اینها که نماینده ی عدد 5 هستن برای ما؛ خروجی گیت AND انتهایی رو فعال میکنن برای ما و در غیر این صورت؛ هر آرایش دیگه ای که برای بیت ها اتفاق بیوفته؛ نمیتونه خروجی گیت AND انتهایی رو فعال کنه .. این منطق تعیین عدد ها هستن .. به عنوان یک مثال دیگه؛ سعی میکنیم در تصویر زیر؛ عدد 7 رو تولید کنیم:


        به همین ترتیب میتونیم عددها رو تغییر بدیم و نتیجه ی اونها رو در خروجی ببینیم .. یک نکته ی کوتاه درباره ی تعیین مرز (عدد) برای شمارنده ی یکان (کم ارزش): به این دلیل که پالس این شمارنده؛ لازم هست که با پالس شمارنده ی پر ارزش مطابقت (سنکرون) داشته باشه؛ برای این منظور که مدار در عدد 47 ریست بشه؛ باید مبنای ریست شمارنده ی کم ارزش رو یک عدد بالاتر در نظر بگیریم .. یعنی: 48 رو بسازیم برای ریست شدن و میدانیم که پس از رسیدن پالس به عدد 47؛ در پالس بعدی؛ شمارنده ریست میشه و به همین دلیل عدد 48 شمارش نمیشه .. در واقع این کار مثل مفهوم بازه ی باز و بازه ی بسته در ریاضیات هست .. در اینجا، مدار ما، بازه ی (0,48] رو شمارش میکنه و ریست میشه .. عدد 48 مرز ریست هست؛ امــا المنتی از محاسبات مدار نیست .. (--امیدوارم که خوب توضیح داده باشم! --) .. تا به اینجا؛ در مورد نحوه ی ست کردن اعداد اگر سوالی دارید؛ مطرح کنید و اگر نه هم بفرمائید تا ادامه بدیم .. پیروز باشید ..
        دوستان! مدتی کمتر به سایت میام ..

        دیدگاه


          #5
          پاسخ : شمارنده 0 تا 47

          حسام الدین جان من اولین باری هست که دارم تو یه انجمن سوال مطرح میکنم اگه با قوانین اشنا نیستم معذرت میخام...امتحان کردم جواب داد واقعا ممنون...فقط واسه اون پرش توی شمارش چه کار باید کنم؟

          دیدگاه


            #6
            پاسخ : شمارنده 0 تا 47

            سلام ..

            معذرت چرا؟! ممنون که توجه میکنید به این مسائل .. بسیار خوب! برگردیم به صورت سوال: احتیاج داریم به load کردن یک عدد برای شمارنده .. امــا این کار رو چطور میتونیم انجام بدیم؟ یکبار باهم آیسی شمارنده رو ببینیم امــا دقیقتر:


            UP و DN مربوط هستن به بالا شمار و پایین شمار .. MR مربوط به ریست تراشه هست .. Q0 تا Q3 هم بیت های خروجی ما هستن .. TCU و TCD بیت های Carry در زمان بالا و پایین شمار هستن .. امــا پایه ی PL برای چه منظور هست؟ در واقع این پایه همانی هست که میتونه در قسمت دوم مساله به ما کمک کنه .. Parallel Load به معنای لود کردن یک عدد (--بیت های موازی--) در ورودی .. امــا این کار رو چطور انجام بدیم؟ کافیست یک عدد در ورودی به عنوان عدد پیش فرض (--شاید به نوعی آفست هم صحیح باشه اگه به اون بگیم--) تعیین کنیم و با دادن یک پالس به پایه ی PL این بارگذاری رو به اطلاع شمارنده برسونیم .. نکته ی کوتاه: این مود Active Low هست به این معنا که با مقدار باینری 0 فعال میشه و با مقدار باینری 1، هم غیر فعال .. برای مثال؛ میتونیم از تصویر زیر استفاده کنیم:


            در مدار بالا؛ عدد پیشفرض (--آفست ورودی--) 6 لود شده و با اجرای مدار مشاهده میکنیم که تنها عدد 6 نمایش داده میشه چرا که هنوز پایه ی PL صفر هست و آیسی در مود لود قرار داره .. با 1 کردن این پایه؛ تراشه شروع به شمارش میکنه تا 9 و دوباره ریست میشه و از 0 شمارش رو آغاز میکنه .. در صورت تمایل میتونیم این لود کردن رو در هر دور شمارش انجام بدیم .. تا به اینجا؛ اگر در مورد لود کردن اطلاعات هم همه چیز خوب پیش میره؛ بفرمائید تا ادامه بدیم (--حتی میتونید خودتون پیشنهاد بدید که کجای مدار میتونه چه باشه--) .. پیروز باشید ..
            دوستان! مدتی کمتر به سایت میام ..

            دیدگاه


              #7
              پاسخ : شمارنده 0 تا 47

              بسیار توضیحاتتون عالی بود...دارم امتحان میکنم ببینم میتونم انجامش بدم یا نه...اگه مشکلی پیش اومد(که با این توضیحات عالی شما فک نکنم اینطور بشه) بازم مزاحمت میشم...خدا خیرت بده حسام جان :applause:

              دیدگاه


                #8
                پاسخ : شمارنده 0 تا 47

                خیلی گیج شدم oo:
                الان چجوری باید به پایه های D عدد رو بدم؟ چیکار کنم که وقتی به 23 رسید یه پالس بده به PL?

                دیدگاه


                  #9
                  پاسخ : شمارنده 0 تا 47

                  داداش من مشکل پایه ای داشتم...یعنی کار با برنامه رو بلد نبودم...یه سرچ زدم به نتیجه رسیدم...الان به دوتا آی سی که برای نمایش عدد راست و چپ بود عدد لود رو دادم و همون کادر صورتی (گیتهای 7404) رو تکرار کردم و خروجیش رو دادم به پایه pl (البته سر راهش یه notگذاشتم) کاملا جواب گرفنم و بالاخره با کمک شنا تمومش کردم مرسییییییییی

                  دیدگاه


                    #10
                    پاسخ : شمارنده 0 تا 47

                    سلام ..

                    دقیقا! مداری هم که من قصد پلود اون رو داشتم؛ به همین صورت بود، البته ورژن پروتئـوس من خیلی قدیمی هست (6.9!) .. خوشحال شدم که پستتون رو خوندم .. عالی، عالی! .. پیروز باشید ..
                    دوستان! مدتی کمتر به سایت میام ..

                    دیدگاه

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