اطلاعیه

Collapse
No announcement yet.

ارتباط سون سگمنت با میکرو

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

    #16
    پاسخ : ارتباط سون سگمنت با میکرو

    با سلام خدمت دوستان :agree:
    ما برای راه اندازی سون سگمنت تکی می تونیم از آی سی مثل 4543 اسفاده کنیم(تا تعداد کمتری پورت از میکرو اشغال بشه و کار راحت تر باشه)
    سوال من این هست که شماره آی سی مشابه 4543 برای راه اندازی سون سگمنت های 2دیجیت چیه؟

    دیدگاه


      #17
      پاسخ : ارتباط سون سگمنت با میکرو

      سلام,
      ببخشید دیر شد. این برنامه از 1 تا 9 را روی سون سگمنت تکی نمایش می دهد اگر مشکلی بود در خدمتم.

      $regfile = "m32def.dat" 'use atmega 32
      $crystal = 1000000 'use internal crystal 1000000
      Config Porta = Output 'set porta as output
      Do
      Porta = &B0000110 'show 1
      Wait 1 'wait 1 second
      Porta = &B1101101 'show 2
      Wait 1 'wait 1 second
      Porta = &B1111001 'show 3
      Wait 1 'wait 1 second
      Porta = &B0110011 'show 4
      Wait 1 'wait 1 second
      Porta = &B1011011 'show 5
      Wait 1 'wait 1 second
      Porta = &B1011011 'show 6
      Wait 1 'wait 1 second
      Porta = &B1110000 'show 7
      Wait 1 'wait 1 second
      Porta = &B1111111 'show 8
      Wait 1 'wait 1 second
      Porta = &B1111011 'show 9
      Wait 1
      Loop 'end program
      End

      دیدگاه


        #18
        پاسخ : ارتباط سون سگمنت با میکرو

        نوشته اصلی توسط asadi_keyhan
        سلام,
        ببخشید دیر شد. این برنامه از 1 تا 9 را روی سون سگمنت تکی نمایش می دهد اگر مشکلی بود در خدمتم.

        $regfile = "m32def.dat" 'use atmega 32
        $crystal = 1000000 'use internal crystal 1000000
        Config Porta = Output 'set porta as output
        Do
        Porta = &B0000110 'show 1
        Wait 1 'wait 1 second
        Porta = &B1101101 'show 2
        Wait 1 'wait 1 second
        Porta = &B1111001 'show 3
        Wait 1 'wait 1 second
        Porta = &B0110011 'show 4
        Wait 1 'wait 1 second
        Porta = &B1011011 'show 5
        Wait 1 'wait 1 second
        Porta = &B1011011 'show 6
        Wait 1 'wait 1 second
        Porta = &B1110000 'show 7
        Wait 1 'wait 1 second
        Porta = &B1111111 'show 8
        Wait 1 'wait 1 second
        Porta = &B1111011 'show 9
        Wait 1
        Loop 'end program
        End
        خب آقای اسدی تا اینجاش رو که مشکلی نداشتیم. موضوع اینه که اگه محل اتصال پایه های 7seg به میکرو عوض بشه این اعداد رو چطوری باید حساب کنیم ؟ برای این کار دنبال نرم افزار هستم.
        دلا یاران سه قسمند ار بدانی
        زبانی اند و نانی اند و جانی
        به نانی نان بده از در برانش
        محبت کن به یاران زبانی
        و لیکن یار جانی را به دست آر
        به جانش جان بده تا می توانی

        دیدگاه


          #19
          پاسخ : ارتباط سون سگمنت با میکرو

          یه سئوال کلی دارم، من سون سگمنتهای تکی رو متوجه شدم اما می خواستم بدونم کلا مکانیسم عملکرد 7segهای چند رقمی (multy digit) چه جوری هست.چه جوری با استفاده از یک سری پایه abcdefgh میشه که چند عدد رو همزمان روی سگمنت ها نشان داد؟
          ضمنا اگه میشه یه مثال هم، حالا یا با دکدر یا بدون دکدر بزنید که نشون بده چه طوری یه عدد چند رقمی رو بر روی 7 سگمنت نشون داده میشه!

          قبلا از لطفتون ممنونم! :applause:
          خدا نور است و من اشعه ای از او ...

          دیدگاه


            #20
            پاسخ : ارتباط سون سگمنت با میکرو

            نوشته اصلی توسط nevada
            یه سئوال کلی دارم، من سون سگمنتهای تکی رو متوجه شدم اما می خواستم بدونم کلا مکانیسم عملکرد 7segهای چند رقمی (multy digit) چه جوری هست.چه جوری با استفاده از یک سری پایه abcdefgh میشه که چند عدد رو همزمان روی سگمنت ها نشان داد؟
            ضمنا اگه میشه یه مثال هم، حالا یا با دکدر یا بدون دکدر بزنید که نشون بده چه طوری یه عدد چند رقمی رو بر روی 7 سگمنت نشون داده میشه!

            قبلا از لطفتون ممنونم! :applause:
            یک سون سگمنت به روشهای مختلفی به میکروکنترلر متصل می شود. روش اول این است که کدهای 7.segment را به صورت مستقیم به 7.segment ارسال کنیم و روش دوم استفاده از IC هایی است که بدین منظور ساخته شده اند. این آی سی ها کد باینری را به کد مورد نیاز سون سگمنت تبدیل می کنند. از جمله این آی سی ها می توان به 7448 ، 7447 ، 4054،4055 ، MAX7219 ،MAX7221 اشاره کرد.
            عیب عمده استفاده از سون سگمنت های معمولی در این است که در صورت استفاده کردن از چندین سون سگمنت پایه های زیادی از میکروکنترلر اشغال می شود. برای رفع این مشکل باید پایه های a تا g همه 7.segment را به هم وصل کنیم و پایه های مشترک آنها را کنترل کنیم. به این نوع 7.segment ها، سون سگمنت های مالتی پلکسری اطلاق می شود. شکل زیر یک نوع سون سگمنت مالتی پلکسری4 عددی رانشان می دهد



            در این نوع 7.segment ، پایه های 1تا4 پایه های کنترلی و پایه های a تا h پایه های دیتای 7.segment ها می باشند. اگر 7.segment از نوع آند مشترک باشد پایه های کنترلی با یک و پایه های دیتا با صفر فعال می شوند و اگر نوع 7.segment کاتد مشترک باشد پایه های کنترلی با صفر و پایه های دیتا با یک فعال خواهند شد. کدهای هر 7.segment باید دائماً روی پایه ها رفلش شود. به طور مثال اگر از سون سگمنت آندمشترک استفاده می کنید برای نمایش ارقام بر روی این سون سگمنت، باید ابتدا همه پایه ها به جز پایه1 را صفر کرده و دیتای سون سگمنت اول را بفرستیم و پس از گذشت چند میلی ثانیه (حداکثر 10ms ) همه پایه ها به جز پایه 2 را صفر کرده و دیتای سون سگمنت دوم را بفرستیم و همین کار را به صورت مکرر برای هر چهار سون سگمنت انجام دهیم.




            مثال) برنامه ای بنویسیدکه عدد 1386 را بر روی سون سگمنت مالتی پلکسری آند مشترک نمایش دهد.
            در برنامه زیر ابتدا سون سگمنت اول فعال می شود و عدد 0xF9(کد عدد 1 ) به خروجی ارسال شده و به مدت 1 میلی ثانیه نمایش داده می شود سپس سون سگمنت دوم فعال شده و عدد0xb0 (کد عدد 3 ) به خروجی ارسال و به مدت 1میلی ثانیه نمایش داده می شود. به همین ترتیب اعداد 8 و6 نیز نمایش داده می شوند.



            شماتیک


            #include <mega16.h>
            #include <delay.h>
            void main(void)
            {
            DDRA=0xFF;
            DDRB=0x0F;
            while (1)
            {
            PORTB=0b0111; //7.segment 1 is active
            PORTA=0xf9; //data is "1"
            delay_ms(1);
            PORTB=0b1011; //7.segment 2 is active
            PORTA=0xb0; //data is "3"
            delay_ms(1);
            PORTB=0b1101; //7.segment 3 is active
            PORTA=0x80; //data is "8"
            delay_ms(1);
            PORTB=0b1110; //7.segment 4 is active
            PORTA=0x82; //data is "6"
            delay_ms(1);
            };
            }
            [/quote]


            دیدگاه


              #21
              پاسخ : ارتباط سون سگمنت با میکرو

              نوشته اصلی توسط ehsanshaieste
              با سلام خدمت دوستان :agree:
              ما برای راه اندازی سون سگمنت تکی می تونیم از آی سی مثل 4543 اسفاده کنیم(تا تعداد کمتری پورت از میکرو اشغال بشه و کار راحت تر باشه)
              سوال من این هست که شماره آی سی مشابه 4543 برای راه اندازی سون سگمنت های 2دیجیت چیه؟

              سلام

              ای سی های MAX7219 و MAX7221 یکی از معروفترین ای سی ها جهت راه اندازی سون سگمنت های مالتی پلکسری هستن.
              این آی سی ها برای نمایش اعداد بر روی 8 عدد سون سگمنت بکار می روند.شکل زیر شمای پایه ها به همراه نحوه استفاده ازاین المان را نمایش می دهد.






              طرز کار این آی سی بدین گونه است که اعداد به وسیله پروتکل spi به این آی سی ارسال شده و این آی سی به طور اتوماتیک این اعداد را به روی سون سگمنت ها ارسال و رفلش می کند. پایه های DIG 0 تا DIG 7 پایه های کنترلی و پایه های SEG A تا SEG G پایه های دیتای سون سگمنت ها می باشند.با استفاده از این آی سی ما قادر به کنترل سون سگمنت های مالتی پلکسری 2 تا 8 عددی می باشیم.


              دیدگاه


                #22
                پاسخ : ارتباط سون سگمنت با میکرو

                روش مالتی پلکسی ساده هست. هر سون سگمنت مثلا 3 تایی سه پایه آند یا کاتد مشترک داره که هر کدوم از اونا رو فعال کنید اون سون سگمت روشن میشه و عددی رو که به پایه های a تا g داده شده رو نشون میده.

                خب برای نشان دادن یک عدد n رقمی بایستی مقدار رقم اول رو در ورودی ریخت و 7seg اول رو برای چند میلی ثانیه فعال کرد. بعد عدد دوم رو در ورودی ریخت و 7seg دوم رو برای چند میلی ثانیه فعال کرد و به طور مشابه برای سومی و n امی این کارو انجام داد. تکرار این کار باعث میشه ما به طور ظاهرا همزمان روی سون سگمنتها عددهای متفاوتی رو ببینیم.
                دلا یاران سه قسمند ار بدانی
                زبانی اند و نانی اند و جانی
                به نانی نان بده از در برانش
                محبت کن به یاران زبانی
                و لیکن یار جانی را به دست آر
                به جانش جان بده تا می توانی

                دیدگاه


                  #23
                  پاسخ : ارتباط سون سگمنت با میکرو

                  نوشته اصلی توسط حمید بادامی نجات


                  در این نوع 7.segment ، پایه های 1تا4 پایه های کنترلی و پایه های a تا h پایه های دیتای 7.segment ها می باشند. اگر 7.segment از نوع آند مشترک باشد پایه های کنترلی با یک و پایه های دیتا با صفر فعال می شوند و اگر نوع 7.segment کاتد مشترک باشد پایه های کنترلی با صفر و پایه های دیتا با یک فعال خواهند شد. کدهای هر 7.segment باید دائماً روی پایه ها رفلش شود. به طور مثال اگر از سون سگمنت آندمشترک استفاده می کنید برای نمایش ارقام بر روی این سون سگمنت، باید ابتدا همه پایه ها به جز پایه1 را صفر کرده و دیتای سون سگمنت اول را بفرستیم و پس از گذشت چند میلی ثانیه (حداکثر 10ms ) همه پایه ها به جز پایه 2 را صفر کرده و دیتای سون سگمنت دوم را بفرستیم و همین کار را به صورت مکرر برای هر چهار سون سگمنت انجام دهیم.





                  اما سوال من این بود که چه جوری این 7سگمنتها مالتی پلکسری کار میکنند.آخه وقتی پایه های abcdefgh درگیر نمایش یه عدد هستن، اعداد دیگه هم همزمان نشون داده میشوند. آیا داخل این 7سگمنتها مدار دیگه ای هم برای حفظ اعداد روی بقیه هست؟ نمیدونم منظورم رو متوجه شدید؟ :redface:
                  خدا نور است و من اشعه ای از او ...

                  دیدگاه


                    #24
                    پاسخ : ارتباط سون سگمنت با میکرو

                    نوشته اصلی توسط nevada
                    [quote author

                    اما سوال من این بود که چه جوری این 7سگمنتها مالتی پلکسری کار میکنند.آخه وقتی پایه های abcdefgh درگیر نمایش یه عدد هستن، اعداد دیگه هم همزمان نشون داده میشوند. آیا داخل این 7سگمنتها مدار دیگه ای هم برای حفظ اعداد روی بقیه هست؟ نمیدونم منظورم رو متوجه شدید؟ :redface:
                    دوست عزیر من سوال شما رو متوجه شدم. اگر شما یک کم به گفته های من دقت میکردین متوجه میشدین.

                    ببنید شما میگین چطور میشه همزمان کدهای 4 تا سون سگمنت رو نشون داد درسته؟

                    اولاً سون سگمنت هیچ مداری داخلش نداره جز LED.


                    شروع میکنیم به توضیح نمایش یک عدد(فرض عدد 1387) بر روی سون سگمنت 4 تایی: ( به اون شماتیکی که کشیدم بالا دقت کن)

                    میکرو باید اول پایه کنترلری 1 رو فعال کنه و بلافاصله کدهای مربوط به عدد "1" رو بفرسته بعد بیاد 5 میلی ثانیه( حدودی) عدد یک را ثابت نگه داره. بعد از 5 میلی ثانیه میکرو باید پایه کنترلی 2 رو فعال کنه و بقیه پایه ها رو غیر فعال. الان نوبت ارسال عدد "3" که باید مثل عدد"1" 5 میلی ثانیه نمایش داده بشه. مابقی عدد ها رو هم به این صورت نمایش میدیم. در واقع هر کدوم از سون سگمنت ها در هر 20 میلی ثانیه یکبار روشن میشن و اطلاعات رو نشون میدن. ما یک حلقه بینهایت درست میکنیم و برنامه رو داخل اون قرار میدیم. چون سرعت رفلش خیلی زیاده چشم ما قادر به قطع و وصل این سون سگمنت ها نمیشه.


                    تو رو خدا این مثال رو خوب بخون بهت قول میدم که جواب سوالتو بگیری.


                    مثال) برنامه ای بنویسیدکه عدد 1386 را بر روی سون سگمنت مالتی پلکسری آند مشترک نمایش دهد.
                    در برنامه زیر ابتدا سون سگمنت اول فعال می شود و عدد 0xF9(کد عدد 1 ) به خروجی ارسال شده و به مدت 1 میلی ثانیه نمایش داده می شود سپس سون سگمنت دوم فعال شده و عدد0xb0 (کد عدد 3 ) به خروجی ارسال و به مدت 1میلی ثانیه نمایش داده می شود. به همین ترتیب اعداد 8 و6 نیز نمایش داده می شوند.



                    شماتیک


                    #include <mega16.h>
                    #include <delay.h>
                    void main(void)
                    {
                    DDRA=0xFF;
                    DDRB=0x0F;
                    while (1)
                    {
                    PORTB=0b0111; //7.segment 1 is active
                    PORTA=0xf9; //data is "1"
                    delay_ms(1);
                    PORTB=0b1011; //7.segment 2 is active
                    PORTA=0xb0; //data is "3"
                    delay_ms(1);
                    PORTB=0b1101; //7.segment 3 is active
                    PORTA=0x80; //data is "8"
                    delay_ms(1);
                    PORTB=0b1110; //7.segment 4 is active
                    PORTA=0x82; //data is "6"
                    delay_ms(1);
                    };
                    }

                    دیدگاه


                      #25
                      پاسخ : ارتباط سون سگمنت با میکرو

                      بله. حق با شما بود. بی دقتی از من بود که فقط به توضیحات اولتون توجه کردم چون C بلد نبودم از برنامه قافل شدم. :redface:

                      اما بعد که بیشتر دقت کردم دیدم چیز خاصی نبوده.

                      اگه میشه یه برنامه هم برای کار با دکدر بزارین چون گفتید با پروتکل Spi کار میکنه.



                      خیلی خیلی ممنون! :job:
                      خدا نور است و من اشعه ای از او ...

                      دیدگاه


                        #26
                        پاسخ : ارتباط سون سگمنت با میکرو

                        سلام دوستان

                        دوستان آیا یه ای سی ای وی ار از مدل اس ام دی می تونه 5 تا سون سگمنت را با هم درایو کنه؟

                        دیدگاه


                          #27
                          پاسخ : ارتباط سون سگمنت با میکرو

                          سلام دوست من
                          بله که میشه هیچ فرقی نسبت به نوع DIP نداره (از لحاظ بارگذاری) .
                          هدف شما استفاده از چه مدلی از AVR هست؟
                          فرزندم در راه است

                          دیدگاه


                            #28
                            پاسخ : ارتباط سون سگمنت با میکرو

                            سلام؛
                            من میخواستم یک سون سگمنت 4تایی رو با میکرو فعال کنم. منتهی دنبال برنامه ای هستم که این کار رو با for انجام بده.
                            کسی هست کمکم کنه؟ :smile:
                            ژیوار یعنی زندگی
                            ز پوچ جهان هیچ اگر دوست دارم ترا،ای کهن بوم و بر دوست دارم
                            ترا ، ای کهن زادبوم بزرگان بزرگ آفرین نامور دوست دارم

                            دیدگاه

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