اطلاعیه

Collapse
No announcement yet.

7 سگمنت به روش مالتی پلکس

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

    7 سگمنت به روش مالتی پلکس

    سلام دوستان

    توی یک پروژه که میکرو اکثر اوقات درگیر زیر برنامه هستش حداقل سرعت برا ارسال و نمایش توسط سگمنت چند باشه که سون سگمنتا پرپر نکنن؟واینکه رفرش را در do --loop قرارش بدم یا زیر برنامه؟

    #2
    پاسخ : 7 سگمنت به روش مالتی پلکس

    دوست گرامی
    معمولا زمان اسکن باید طوری در نظر گرفته شود که هر سون سیگمنت بین 50 تا 100 بار در ثانیه ریفرش گردد
    اصولی ترین روش در طراحی روتین ریفرش قرار گرفتن آن در یک Interrupt میباشد که با پالس Clock خارجی و مستقل از تایمینگ خود سیستم قابل کنترل باشد ( و در این صورت باید دقت کرد زمان اجرای روتین از زمان وقفه طولانی تر نشود ) ولی در صورتی که نرم افزار شما ساده میباشد آن را به صورت Subroutine در آورید تا برای Call کردن آن از قسمتهای مختلف برنامه دستان بازتر باشد
    پاره ای از رویکردهای دفاعی

    دیدگاه


      #3
      پاسخ : 7 سگمنت به روش مالتی پلکس

      ممنون دوست من
      یک مسئله سخت افزاری:
      7 تا سون سگمنت دارم کاتد مشترک که 7448 جهت راه اندازی استفاده میکنم و جهت انتخاب هر سگمنت از یه دیکدر سه به هشت اگه از uln2003 استفاده کنم اون را کجا قرار بدم آیا از مقاومت جهت کنترل جریان استفاده کنم متاسفانه uln2003 معکوس میکنه برا این مشکل چه کار کنم؟

      دیدگاه


        #4
        پاسخ : 7 سگمنت به روش مالتی پلکس

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

        دیدگاه


          #5
          پاسخ : 7 سگمنت به روش مالتی پلکس

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

          به مدارهای فوق توجه فرمایید :

          کد:
          http://embedded-lab.com/blog/wp-content/uploads/2011/03/Lab11_Circuit_SevenSegmentMultiplexing.jpg
          http://users.wowway.com/~mmclaren/Concept - Clock.JPG
          حالا به این مدار دقت کنید :

          کد:
          http://embedded-lab.com/blog/wp-content/uploads/2011/07/CarBatteryCircuit.jpg
          به جای ترانزیستور از ULN2003 استفاده گردیده است که مستقیم از میکرو فرمان میگیرد و قاعدتا در میتوان بیتهای آن را صرفنظر از خصوصیت خود آی سی تنظیم نمود
          در مدار شما در خط مقاومتهای 330 اهم به جای اتصال مستقیم به میکرو از دیکودر 7448 استفاده میشود ( که هم صرفه جویی در پایه های میکرو و هم در دیکود کردن باینری به سیگمنت میباشد
          پاره ای از رویکردهای دفاعی

          دیدگاه


            #6
            پاسخ : 7 سگمنت به روش مالتی پلکس

            ممنون دوست عزیز لینکها باز نمیشن نمیدونم چرا؟ برا جمع و جور شدن مدار مجبورم از ic استفاده کنم در واقع می خوام از میکرو جریانی رد نشه کل قطعات smd هستش دیکدر خودش مگه بافر نیست؟ با دیکدر فط 3 پایه میکرو مصرف میشه جهت سلکت سگمنت ها با ترانزیستور 7تا

            دیدگاه


              #7
              پاسخ : 7 سگمنت به روش مالتی پلکس

              دوست عزیز ببینید الان باز میشه ؟

              http://embedded-lab.com/blog/wp-content/uploads/2011/03/Lab11_Circuit_SevenSegmentMultiplexing.jpg

              http://users.wowway.com/~mmclaren/Concept%20-%20Clock.JPG

              http://embedded-lab.com/blog/wp-content/uploads/2011/07/CarBatteryCircuit.jpg
              پاره ای از رویکردهای دفاعی

              دیدگاه


                #8
                پاسخ : 7 سگمنت به روش مالتی پلکس

                ممنون دست من

                راستش یک مسئله دیگه ذهنم رو درگیر کرده :

                من عدد ثابت نمایش نمیدم که کد ثابتی داشته باشم خوب من یک 7448 دارم با 4 ورودی bcd فرض دیتای حاظر 25 هستش اگه بخوام نمایش بدم این 25 باید تبدیل به bcd بشه ولی نکته اینجاست که من فقط یک آی سی دارم ومسلما کد bcd پنج تو ورودی آسی میاد حالا برا رقم دهگان چی و حتی صد گان؟

                دیدگاه


                  #9
                  پاسخ : 7 سگمنت به روش مالتی پلکس

                  نوشته اصلی توسط honestman
                  ممنون دست من

                  راستش یک مسئله دیگه ذهنم رو درگیر کرده :

                  من عدد ثابت نمایش نمیدم که کد ثابتی داشته باشم خوب من یک 7448 دارم با 4 ورودی bcd فرض دیتای حاظر 25 هستش اگه بخوام نمایش بدم این 25 باید تبدیل به bcd بشه ولی نکته اینجاست که من فقط یک آی سی دارم ومسلما کد bcd پنج تو ورودی آسی میاد حالا برا رقم دهگان چی و حتی صد گان؟
                  باسلام
                  برای نمایش اعداد مثلا سه رقمی شما نیاز به سه سگمنت داری حالا پایه های a تا g همه این سگمنت ها وصل میشه به 7448 این سگمنت های یک پایه فعال ساز داره
                  شما برای نمایش اعداد سه رقمی (به عنوان مثال سه رقم ) اول عدد تقسیم بر 100 می کنی این میشه صد گان باقیمانده رو تقسیم بر 10 میکنی این میشه دهگان
                  و باقیمانده میشه یکان
                  حالا برای نمایش اعداد ایتدا پایه سگمنت مربوط به یکان فعال میشه و دیتا رو 7448 قرار میگره و همین کاره برای دهگان وصدگان انجام میدی
                  یکه نکته :
                  زمانی که یکان نمایش میدی دهگان وصدگان باید غیر فعال باشه و برای دهگان باید یکان و صدگان وغیر فعال باشه و...................
                  اگه با بسکام می نویسی بگو تا نمونه کد بزاریم
                  داناترین مردم کسی است که دانش مردم را با دانش خود جمع کند
                  پیامبر اکرم (ص)
                  علی ابن ابیطالب : همانا پاداش دانشمند از شخص روزه دار و شب زنده دارکه در راه خدا جهاد می کند بیشتر است
                  اگر میخواهید دشمنان خود را تنبیه کنید به دوستان خود محبت کنید.(کورش کبیر)

                  دیدگاه


                    #10
                    پاسخ : 7 سگمنت به روش مالتی پلکس

                    سلام

                    آره دوست گرامی بسکامه منتها من 3 دیتای جداگانه دارم :
                    1.دما دو رقمی
                    2.وزن سه رقمی
                    3.یک دیتای 2 رقمی دیگه
                    درواقع من دارم 7 رقم رو نشون میدم که آنلاین در حال تغییر هستن از این موضوع نگرانم که با روش رفرشینگ کار خوب نشه چون 7 رقم نسبتا زیاده و کد نویسی برا تبدیل به bcd و نمایش اون میترسم میکرو رو خیلی مشغول کنه چون زیربرنامه های دما ds18b20 و وزن و کانتر هم هست

                    دیدگاه


                      #11
                      پاسخ : 7 سگمنت به روش مالتی پلکس

                      من اوایل که ای سی max7219 نمیدونستم چیه یه میکرو 18 پایه رو چوری برنامه ریزی گرده بودم که به صورت slave و I2c فقط حواسش به 7seg بود و تا 6 تا عدد رو نمایش میداد.
                      هم پایه های میکروی اصلی خالی بود هم برنامه نویسی راحت تر و دست بازتر. 7219 هم چیز خوبیه فکر کنم 3 تا پایه رو اشغال میکنه.

                      دیدگاه


                        #12
                        پاسخ : 7 سگمنت به روش مالتی پلکس

                        سلام
                        شما این برنامه رو نگاه کن
                        تو این برنامه من برای 6 سگمنت دیتا می فرستم
                        درست کاری که شما میخوای امجام نمیده اما در مورد رفرش فرقی نمیکنه
                        شما کریستال 16 مگ استفاده کن
                        تا از حداکثر سرعت استفاده کنی
                        تو این برنامه شما یا کیبرد ارقام وارد میکنی سپس بازدن کلید تقسیم و سپس on/c شمارنده به صورت سعودی و بازدن کلید ضربدر و بعد on/c به صورت نزولی شروع به شمارش میکنه و با زدن منفی همه اطلاعات صفر میکنه
                        http://ehsedaghat.persiangig.com/counterfinal1.rar/download
                        داناترین مردم کسی است که دانش مردم را با دانش خود جمع کند
                        پیامبر اکرم (ص)
                        علی ابن ابیطالب : همانا پاداش دانشمند از شخص روزه دار و شب زنده دارکه در راه خدا جهاد می کند بیشتر است
                        اگر میخواهید دشمنان خود را تنبیه کنید به دوستان خود محبت کنید.(کورش کبیر)

                        دیدگاه


                          #13
                          پاسخ : 7 سگمنت به روش مالتی پلکس

                          بسیارممنون جناب eh.sedaghat خیلی لطف کردین حتما در بخش تبدیل و ارسال دیتا از اون استفاده میکنم

                          دوست عزیز دیگر در مورد i2c و میکرو دیگه میشه بیشتر توضیح بدین(bascom) یعنی می فرمایید از دو میکرو استفاده کنم یکی دیتا بگیره واون یکی سگمنت ها رو راه بندازه ؟مشکل اینه که میکرو اول حاوی دیتا هستش اون رو چه جوری بفرستم به میکرو دوم در حالی که سه دیتای مجزا از همه!!!!!

                          دیدگاه


                            #14
                            پاسخ : 7 سگمنت به روش مالتی پلکس

                            نوشته اصلی توسط honestman
                            بسیارممنون جناب eh.sedaghat خیلی لطف کردین حتما در بخش تبدیل و ارسال دیتا از اون استفاده میکنم

                            دوست عزیز دیگر در مورد i2c و میکرو دیگه میشه بیشتر توضیح بدین(bascom) یعنی می فرمایید از دو میکرو استفاده کنم یکی دیتا بگیره واون یکی سگمنت ها رو راه بندازه ؟مشکل اینه که میکرو اول حاوی دیتا هستش اون رو چه جوری بفرستم به میکرو دوم در حالی که سه دیتای مجزا از همه!!!!!
                            به ترتیبی که میخای بفرس خوب همرو که باهم نشون نمیده 4 تا سون سگمنت.

                            برنامه اون میکرویی که من نوشتم اینجوری بود که منتظر میشد عددی که باید همیشه نشون داده بشه رو از باس I2C دریافت کنه. بعد همش اونو نشون میداد و اگر دوباره عدد تغییر میکرد عدد جدید رو همش نشون میداد.

                            دیدگاه


                              #15
                              پاسخ : 7 سگمنت به روش مالتی پلکس

                              سپاس

                              منظورم اینه که من 7 تا سون سگمنت دارم که کانتر 2 تایی، دما 2 تایی و وزن 3 تایی و هر لحظه باید هر سه دیتا نمایش داده بشن

                              واینکه من دیتا رو از میکرو اول پیوسته میفرستم ولی میکرو دوم چطور تشخیص بده که این دیتای دریافت شده مربوط به کدومه کانتر ؟ دما؟ یا وزن؟
                              یک موضوع دیگه من مغازه میرفتم و میگفتم یه سون سگمنت 2 تایی یا سه تایی بده دوست گرامی اینا با نوع مالتی پلکسی فرق میکنه؟ مثلا من یک 2 تایی گرفتم ردیف بالا 8 پایه داره و ردیف پایین هم هفت پایه این مالتی پلکس نیست نه ؟؟؟اصلا تو بازار هست ؟

                              دیدگاه

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