اطلاعیه

Collapse
No announcement yet.

کم اوردن پایه

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

    کم اوردن پایه

    سلام چطورید؟
    من یه پروژه دارم درست می کنم با مگا 16
    برنامه مش ساده و زیاد نیست ولی چون باید 50 تا جا رو چک کنه و روی ال سی دی نشون بده تقریبا 10 پایه خروجی و 40 ورودی می خوام
    نمی خوام از مگاه 64 یا 128 استفاده کنم
    ایا راهی هست
    من چند تا راه رو امتحان کردم ولی جواب نداده
    ممنون میشم هم با شکل نشون بدید

    من آن گلبرگ مغرورم که می میرم ز بی آبی ولی با خفت و خواری پی شبنم نمی گردم.

    #2
    پاسخ : کم اوردن پایه

    نوشته اصلی توسط محمد فلاحی
    سلام چطورید؟
    من یه پروژه دارم درست می کنم با مگا 16
    برنامه مش ساده و زیاد نیست ولی چون باید 50 تا جا رو چک کنه و روی ال سی دی نشون بده تقریبا 10 پایه خروجی و 40 ورودی می خوام
    نمی خوام از مگاه 64 یا 128 استفاده کنم
    ایا راهی هست
    من چند تا راه رو امتحان کردم ولی جواب نداده
    ممنون میشم هم با شکل نشون بدید

    سلام خیلی خوبم
    به این 50 تا پایه چی ها می خوای وصل کنی ؟ شاید یه راه خوب پیدا بشه

    دیدگاه


      #3
      پاسخ : کم اوردن پایه

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

      دیدگاه


        #4
        پاسخ : کم اوردن پایه

        سلام دوست عزیز. می تونی پایه های ورودی رو به صورت رفرشی با مالتی پلکسر بخونی و یا اینکه با دیکدر اونهارو به BCD تبدیل کنی و بخونی.
        برای خروجی هم می تونی از دیکدر و یا از لچ استفاده کنی.

        دیدگاه


          #5
          پاسخ : کم اوردن پایه

          برای پیاده سازی این چیزی هم که دوستمون MMT گفتن هم میتونی با دو سری شیفت رجیستر حل اش کنی. اینجوری هم سیم بندی راحتتری پیدا میکنی و هم کلی پایه اضافه میاری. برای خروجی از یک به بالا (بطور تئوری هر تعداد) فقط به سه یا 4 پایه احتیاج داری. و برای خوندن هم حداکثر به همین تعداد پایه. برای استفاده از مالتیپلکسر مثل 74138 به 11 خط برای خروجی احتیاج داری که البته فیبرت رو خیلی شلوغ پلوغ میکنه. چون باید 8 خط دیتا رو به کلیه آی سی های بافر ببری. ولی با شیفت رجیستر این مصیبت خیلی کمتر میشه.
          مسلما خوندن یا نوشتن با استفاده از شیفت رجیستر یه کوچولو کند تره اما سرعت تغییر ورودی ها و خروجی ها اونقدر سریع نیست که بخوایی با multiplex کردن مشکل رو حل کنی.

          دیدگاه


            #6
            پاسخ : کم اوردن پایه

            با سلام،

            منم خوبم! :mrgreen: من هم به یاد اون قدیما، PPI رو پیشنهاد میکنم. 8255 استفاده کن....

            http://www.decisioncards.com/io/tutorials/8255_tut.html


            مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

            Sh_Nourbakhsh@Yahoo.com

            http://s2.picofile.com/file/7170362468/_Wall_e_.jp

            دیدگاه


              #7
              پاسخ : کم اوردن پایه

              از ای سی PCF8574 استفاده کن
              توسط 2 خط داده تا 64 ورودی خروجی میتونی داشته باشی
              پروردگارا: به من زيستني عطا کن که در لحظه مرگ بر بي ثمري لحظه اي که براي زيستن گذشته است حسرت نخورم، و مردني عطا کن که بر بيهودگيش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست ميداري

              دیدگاه


                #8
                پاسخ : کم اوردن پایه

                سلام
                ممنون از همتون
                واقعا زحمت کشیدید
                ممنون
                ولی من متوجه نشدم
                کاش یکی به صورت شکل توضیح می داد
                ممنون
                من آن گلبرگ مغرورم که می میرم ز بی آبی ولی با خفت و خواری پی شبنم نمی گردم.

                دیدگاه


                  #9
                  پاسخ : کم اوردن پایه

                  ببین. شما پایه های بیشتری نسبت به اونی که موجود داری میخوای استفاده کنی. پس راه حل های مرسوم با دسترسی مستقیم چاره ساز نیست. شما دیگه اینجا نمیتونی از یک IO مستقیم روی پورت استفاده کنی چون یه جورایی پایه های ورودی - خروجی ات مستقیما در دسترس نیست. برای دسترسی به یک پایه ورودی یا خروجی بایستی یک سری تابع داشته باشی تا از اون طریق بتونی مثلا یک پایه ورودی رو بخونی یا یک پایه خروجی رو مقدار بدی. تنها راهی هم که وجود داره اینه که از یک مدار کمکی استفاده کنی و اون مدار رو با استفاده از تعداد پایه ای کمتر به مدار اصلی خودت متصل کنی.
                  بنا براین بین IO های اضافی و میکرو کنترلر ات یک پروتکل ارتباطی باید استفاده کنی تا از اون طریق بتونی کمبود پایه هارو جبران کنی.
                  این پروتکل میتونه از طریق ارتباط پارالل یا سریال باشه. در ارتباط پارالل با تکنیکی بنام مالتی پلکسینگ یک باس داده داری که در هر لحظه به یک تعداد IO مجازی خودت بیشتر نمیتونی دسترسی داشته باشی. مثلا فرض کن برای 16 تا پایه خروجی شما میتونی این 16 تا پایه رو به چهار گروه چهار تایی تقسیم کنی و با استفاده از 4 پین اطلاعات رو روی هر گروه پین های 1 الی 4 و 5 الی 8 و 9 الی 12 و 13 الی 16 بریزی. اما برای نگهداری این اطلاعات روی خروجی ها به لچ احتیاج داری و برای انتخاب اینکه کدوم لچ فعال باشه به 2 پین اضافه. یک پین هم برای کنترل نوشتن که میشه جمعا 7 پین. از دید نرم افزاری یک چیزی مثل یک دستور switch.

                  مثل شکل اول ضمیمه شده.

                  در حالت سریال شما میتونی از یک پروتکل ارتباطی مثل SPI یا I2C برای ارتباط با قطعه ای استفاده کنی که اون عمل IO رو انجام میده. چیزی مثل اینکه بخوای عمل IO رو با یک میکروی دیگه انجام بدی. اینجوری تعداد پایه های مصرفی ات بشدت پایین میاد (در حد 2 یا 3 پین) ولی مسلما دسترسی نسبت به حالت قبلی کند تره. البته این کندی نسبی هست ولی بنا بر نیاز شما هنوز به اندازه کافی سریع هست. استفاده از این روش مثل روش قبلی با استفاده از یک سری روال هست ولی خوب مشکل رو راه میندازه.

                  شکل دوم رو ببینید.

                  حسن اساسی این روش نسبت به حالت قبلی اینه که میشه با استفاده از آی سی های بیشتر بدون افزایش پیچیدگی خاصی تعداد IO رو بالاتر ببری. یک چیزی مثل یک شبکه از میکرو کنترلر هایی که به میکروی شما وصل شدن تا اونا IO رو انجام بدن. شاید به نوعی بشه بهشون گفت IO Processor. اما صرف نظر از بعضی استثنائات عمدتا اینجا باید اول شما اطلاعات خروجی ها رو داخل حافظه تغییر بدی و سپس اونها رو به خروجی انتقال بدی. ورودی ها رو هم یکباره میخونی و در حافظه میریزی و بعد از اونها استفاده میکنی.

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

                  دیدگاه


                    #10
                    پاسخ : کم اوردن پایه

                    سلام دادا.
                    چرا از لچ استفاده نمیکنی؟

                    مثل 74hc537
                    تشکر لازم نیست!

                    دیدگاه


                      #11
                      پاسخ : کم اوردن پایه

                      ممنون از شما اقای اقازاده
                      کلی استفاده کردم
                      من می خوام با مگا 16 یا 32 می خوام 50 یا 60 روردی رو چک کنم
                      شما اگر روشی دارید میشه بگید
                      واقعا شرمنده اگر ممکنه با اسم ای سی و شکل بتونید توضیح بدید خیلی ممنون می شم
                      من با بیسیک کار می کنم
                      شما اگر روش کار رو با ایسی که می خواید استفاده کنید من برنامه اش رو می نویسم
                      دوباره تشکر می کنم
                      من آن گلبرگ مغرورم که می میرم ز بی آبی ولی با خفت و خواری پی شبنم نمی گردم.

                      دیدگاه


                        #12
                        پاسخ : کم اوردن پایه

                        چون گفتین که میخوایین برنامه آسانسور بنویسین و ورودی هاتون به سرعت تغییر نمیکنه (مثلا خطای زمانی 10 میلی ثانیه در هنگام اسکن ورودی ها چیز مهمی نیست) میتونین برای راحتی از چیزی مثل 74165 استفاده کنین.

                        این صفحه رو ببینین:
                        http://www.electronics-tutorials.ws/sequential/seq_5.html

                        در شکل ضمیمه؛ ورودی ها باید به پایه های A تا H از هر آی سی وصل بشه. من اینجا سه تا آی سی رو استفاده کردم. بطور تئوری میتونین هرچقدر که میخوایین تعداد رو بالا ببرین.
                        چهار تا سیم کنترلی به میکروتون وصل میشه:

                        پایه ENABLE برای فعال کردن مکانیسم برای خوندن اطلاعات.
                        پایه CLOCK برای کلاک خوندن. 8 کلاک به ازای هر بایت (مسلما)
                        پایه DATA-IN که اطلاعات از روی اون خونده میشه.
                        پایه SHIFT-LOAD که در ابتدای خوندن کل بایت ها صفر میشه و سپس یک. و بعد خوندن انجام میشه.

                        اگر سرعت خوندن بالا باشه (که میشه تا 10 مگا هرتز هم بالارفت) میشه این کارو در یک تایمر مثلا 10 میلی ثانیه یا حتی 20 میلی ثانیه انجام داد و کل اطلاعات رو در یک آرایه در برنامه ذخیره کرد. در این صورت در کل برنامه شما فقط باید حافظه تون رو چک کنین. نه ورودی ها رو.
                        فایل های پیوست شده

                        دیدگاه


                          #13
                          پاسخ : کم اوردن پایه

                          سلام
                          دوستان برای شادی زنده یاد استاد اقازاده یه فاتحه بخونید :cry2:
                          واقعا مرد بود
                          ببینید با چه حوصله ای جواب می داد
                          اخرش ما هم میمیریم و تنها چیزی که تو این دنیا می مونه همینچیزهاست
                          یکی همه دعاش می کنن و یکی..........

                          ببخشید ناراختتون کردم
                          من آن گلبرگ مغرورم که می میرم ز بی آبی ولی با خفت و خواری پی شبنم نمی گردم.

                          دیدگاه


                            #14
                            پاسخ : کم اوردن پایه

                            من بالاخره تونستم پایه هام رو به وسیله 74573 افزایش بده
                            دوستان نگاه کنید اگر اشکالی بود به من هم بگید
                            ممنون
                            پسورد هم www.eca.ir
                            http://up98.org/upload/server1/02/f/...qujf2gk0nv.rar
                            من آن گلبرگ مغرورم که می میرم ز بی آبی ولی با خفت و خواری پی شبنم نمی گردم.

                            دیدگاه


                              #15
                              پاسخ : کم اوردن پایه

                              نوشته اصلی توسط محمد فلاحی
                              سلام
                              دوستان برای شادی زنده یاد استاد اقازاده یه فاتحه بخونید :cry2:
                              واقعا مرد بود
                              ببینید با چه حوصله ای جواب می داد
                              اخرش ما هم میمیریم و تنها چیزی که تو این دنیا می مونه همینچیزهاست
                              یکی همه دعاش می کنن و یکی..........

                              ببخشید ناراختتون کردم
                              نوشته اصلی توسط محمد فلاحی
                              من بالاخره تونستم پایه هام رو به وسیله 74573 افزایش بده
                              دوستان نگاه کنید اگر اشکالی بود به من هم بگید
                              ممنون
                              پسورد هم www.eca.ir
                              http://up98.org/upload/server1/02/f/...qujf2gk0nv.rar
                              با سلام
                              خدا رحمتشون کنه ایشون واسه ما یک استاد با سواد و دلسوزی بودن.

                              [hr]
                              :applause:
                              مهندس یکم بیشتر در مورد نحوه عملکرد مدار و آی سی 74573 توضیح بده :question:


                              يادش بخير يه وقتايي هر روز ميومدم اينجا !

                              دیدگاه

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