اطلاعیه

Collapse
No announcement yet.

نحوه ارتباط پین های مختلف به ۷ سگمنت

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

    نحوه ارتباط پین های مختلف به ۷ سگمنت

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

    #2
    پاسخ : نحوه ارتباط پین های مختلف به ۷ سگمنت

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


    با احترام
    97/10/7
    جدیدترین ویرایش توسط amir_moayeri; ۱۱:۰۰ ۱۳۹۷/۱۰/۰۸.

    دیدگاه


      #3
      پاسخ : نحوه ارتباط پین های مختلف به ۷ سگمنت

      با سلام و تشکر فراوان منظورم اینه اگر پین خالی باشه ولی در پورت های مختلف باشه راه حل چه طوریه رو شما برای زمانی هست که پین ها کم هستند با تشکر فراوان

      دیدگاه


        #4
        پاسخ : نحوه ارتباط پین های مختلف به ۷ سگمنت

        سلام
        وقت بخیر
        نوشته اصلی توسط Raymandsystem نمایش پست ها
        با سلام و تشکر فراوان منظورم اینه اگر پین خالی باشه ولی در پورت های مختلف باشه راه حل چه طوریه رو شما برای زمانی هست که پین ها کم هستند با تشکر فراوان
        منظورتون ، این مدل از سیم بندی هست ؟

        با احترام
        97/10/8

        دیدگاه


          #5
          پاسخ : نحوه ارتباط پین های مختلف به ۷ سگمنت

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

          دیدگاه


            #6
            پاسخ : نحوه ارتباط پین های مختلف به ۷ سگمنت

            سلام
            وقت بخیر
            نوشته اصلی توسط Raymandsystem نمایش پست ها
            با سلام مجدد این نوع طراحی مد نظرم هست البته بدون هیچگونه واسطه و گیتی فقط راه اندازی مستقیم با میروکنترلر همچنین دو پایه برای مولتی پلکی در نظر گرفته می شه در این حالت چطوری دیتا را از طریق تابع در کدویژن ارسال کنیم
            واسطه گیت برای روشن شدن سون سگمنت ، پس از انجام تغییرات بر روی ورودی هاست (output enable). که میتونه حذف بشه.
            متوجه این قسمت از فرمایشتون (همچنین دو پایه برای مولتی پلکی ) نشدم !!
            با کدویژن کار نکردم .
            راه اندازی این مدار ( شمارنده 0 تا 9 ) با بسکام انجام شده .

            با احترام
            97/10/8

            دیدگاه


              #7
              پاسخ : نحوه ارتباط پین های مختلف به ۷ سگمنت

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

              دیدگاه


                #8
                پاسخ : نحوه ارتباط پین های مختلف به ۷ سگمنت

                سلام
                وقت بخیر
                نوشته اصلی توسط Raymandsystem نمایش پست ها
                با سلام و عرض تشکر فراوان شما برنامه بسکام برای راه اندازی نقشه دوم
                دارید اگر هست می شه بفرستید
                با تشکر و عرض احترام
                برنامه :
                '========= by Amir_Moayeri ==== 97-10-8

                $regfile = "m8def.dat"
                $crystal = 1000000
                Dim Seg As Byte
                A_seg Alias Seg.0
                B_seg Alias Seg.1
                C_seg Alias Seg.2
                D_seg Alias Seg.3
                E_seg Alias Seg.4
                F_seg Alias Seg.5
                G_seg Alias Seg.6

                '+++++++ segment display output enable +++++
                Config Portd.7 = Output
                O_en Alias Portd.7

                '=======pin to segment =======
                Config Portc.5 = Output
                A_dis Alias Portc.5

                Config Portd.3 = Output
                B_dis Alias Portd.3

                Config Portd.0 = Output
                C_dis Alias Portd.0

                Config Portb.0 = Output
                D_dis Alias Portb.0

                Config Portc.1 = Output
                E_dis Alias Portc.1

                Config Portb.2 = Output
                F_dis Alias Portb.2

                Config Portc.4 = Output
                G_dis Alias Portc.4

                seg = 0
                ' ring counter 0 to 9
                Strt:
                '========= 0 =======
                Seg = &B00111111
                Gosub Disply
                '========= 1 =======
                Seg = &B00000110
                Gosub Disply
                '========= 2 =======
                Seg = &B01011011
                Gosub Disply
                '========= 3 =======
                Seg = &B01001111
                Gosub Disply
                '========= 4 =======
                Seg = &B01100110
                Gosub Disply
                '========= 5 =======
                Seg = &B01101101
                Gosub Disply
                '========= 6 =======
                Seg = &B11111101
                Gosub Disply
                '========= 7 =======
                Seg = &B00100111
                Gosub Disply
                '========= 8 =======
                Seg = &B11111111
                Gosub Disply
                '========= 9 =======
                Seg = &B11101111
                Gosub Disply

                jmp strt

                End

                '============= display =========
                Disply:
                A_dis = A_seg
                B_dis = B_seg
                C_dis = C_seg
                D_dis = D_seg
                E_dis = E_seg
                F_dis = F_seg
                G_dis = G_seg

                Set O_en
                Waitms 500
                Reset O_en
                Waitms 1

                Return

                با احترام
                97/10/8

                دیدگاه


                  #9
                  پاسخ : نحوه ارتباط پین های مختلف به ۷ سگمنت

                  خیلی متشکرم

                  دیدگاه


                    #10
                    پاسخ : نحوه ارتباط پین های مختلف به ۷ سگمنت

                    با عرض سلام و عرض خسته نباشید خدمت استاد محترم
                    در برنامه ساعت دیجیتال سگمنت دار کد دیتا برای پایه هایی که مشخص کرده ام نوشته شده
                    Config Portb = Output
                    Config Portd = Output

                    ترتیب پین های متصل به سگمنت به صورت زیر است
                    portd.0 > e
                    portd.1 > d
                    portd.2 > c
                    portd.3 > b
                    portd.4 > a
                    portd.5 > f
                    portd.6 > g
                    portd.7 > h

                    و جدول دیتا هم به شکل زیر
                    '================================================= ===========
                    Number:
                    Data &B01000000 , &B01110011 , &B00100100 , &B00100001 , &B00010011 , _
                    &B00001001 , &B00001000 , &B01100011 , &B00000000 , &B00000001 , &B11111111
                    '================================================= ===========
                    بنده میخوام ترتیب پایه به صورت زیر باشد

                    portd.1 > a
                    portd.2 > c
                    portd.3 > d
                    portd.4 > e
                    portd.5 > f
                    portd.6 > g
                    portd.7 > h
                    استاد در ضمن در حالت اول کدها به چه صورت خواهد بود یعنی نویسنده برنامه چطوری کدها رو نوشته میخوام یاد بگیرم و از روی اون چطوری کدها رو تغییر بدم تا به حالت دوم در بیاد
                    قسمتی از برنامه نوشته شده مورد نظر مربوط به این قسمت
                    S1 = 0 : F = _hour
                    While F >= 10
                    F = F -10 : Incr S1
                    Wend
                    S2 = F
                    S3 = 0 : F = _min
                    While F >= 10
                    F = F -10 : Incr S3
                    Wend
                    S4 = F
                    D1 = 0 : F = Sh_month
                    While F >= 10
                    F = F -10 : Incr D1
                    Wend
                    D2 = F
                    D3 = 0 : F = Sh_day
                    While F >= 10
                    F = F -10 : Incr D3
                    Wend
                    D4 = F
                    Select Case Dat
                    '----------------------------------------------------
                    Case 0
                    For I = 1 To 200
                    Lablehour:
                    Dat = 0
                    Portb.0 = Z : Portb.1 = 0 : Portb.2 = 0 : Portb.3 = 0
                    Portd = Lookup(s1 , Number)
                    Portb.4 = 1
                    Waitms 1
                    Portb.0 = 0 : Portb.1 = Z : Portb.2 = 0 : Portb.3 = 0
                    Portd = Lookup(s2 , Number)
                    Portb.4 = N
                    Waitms 1
                    Portb.0 = 0 : Portb.1 = 0 : Portb.2 = Z : Portb.3 = 0
                    Portd = Lookup(s3 , Number)
                    Portb.4 = 1
                    Waitms 1
                    Portb.0 = 0 : Portb.1 = 0 : Portb.2 = 0 : Portb.3 = Z
                    Portd = Lookup(s4 , Number)
                    Portb.4 = 1
                    Waitms 1

                    Case 1
                    For I = 1 To 200
                    Labledate:
                    Dat = 1
                    Portb.0 = Z : Portb.1 = 0 : Portb.2 = 0 : Portb.3 = 0
                    Portd = Lookup(d1 , Number)
                    Portb.4 = 1
                    Waitms 1
                    Portb.0 = 0 : Portb.1 = Z : Portb.2 = 0 : Portb.3 = 0
                    Portd = Lookup(d2 , Number)
                    Portb.4 = N1
                    Waitms 1
                    Portb.0 = 0 : Portb.1 = 0 : Portb.2 = Z : Portb.3 = 0
                    Portd = Lookup(d3 , Number)
                    Portb.4 = 1
                    Waitms 1
                    Portb.0 = 0 : Portb.1 = 0 : Portb.2 = 0 : Portb.3 = Z
                    Portd = Lookup(d4 , Number)
                    Portb.4 = 1
                    Waitms 1
                    If Setkey = 0 And Dat = 1 Then
                    Waitms 350
                    Gosub Setdate
                    Elseif Chang = 0 Then
                    Waitms 350
                    Goto Labletemp
                    End If
                    Next I


                    از شما سپاسگزارم
                    در صورت امکان مرا راهنمایی بفرمایید


                    دیدگاه


                      #11
                      پاسخ : نحوه ارتباط پین های مختلف به ۷ سگمنت

                      سلام خدمت دوستان
                      کد ناخوانا هستش(بهم ریخته میشه یجورایی) لطفا فایل بسکامش رو تو سایت مثلا پیکو فایل آپلود کنین تا جواب بدیم
                      یا که اونو توی تگ PHP قرار بدین

                      این برنامه ی مربوط به ساعت دیجیتاله که خودتون هم ذکر کردین

                      اما برای پایه ها چون مولتی پلکس هستن :
                      Portb.0 = Z : Portb.1 = 0 : Portb.2 = 0 : Portb.3 = 0
                      از اینا گذاشته و یعنی هر دفعه یه سگمنت رو روشن می کنه و عدد مخصوصش رو نشون می ده و می ره سراغ بعدی
                      یعنی همون مولتی پلکس
                      یکم در مورد سون سگمنت های مولتی پلکس تحقیق کنین به نتایج خیلی خوبی می رسین

                      شما اگه می خواین پایه ها رو تغییر بدین باید :

                      برای a b c d e f g که همون تنظیمات خودتون خوبه
                      برای انتخاب سون سگمنت ( چون مولتی پلکسن) باید
                      Portb.0 : Portb.1 : Portb.2 : Portb.3 اینا رو تنظیم کنی که چه پایه ای باشن که به طور دیفالت نویسنده ی کد روی پورت بی از 0 تا 3 یعنی 4 تا پایه تنظیم شده
                      ولی اگر می خواین تغییر بدین حواستون به
                      و جدول دیتا هم به شکل زیر
                      '================================================= ===========
                      Number:
                      Data &B01000000 , &B01110011 , &B00100100 , &B00100001 , &B00010011 , _
                      &B00001001 , &B00001000 , &B01100011 , &B00000000 , &B00000001 , &B11111111
                      '================================================= ===========

                      اینا باشه چون با ترتیب پایه ها ی گفته شده نوشته شده به باینری هم نوشته شده
                      یعنی با ارزش ترین بیت که کنار B نوشته شده همون آخرین پایه پورت D یعنی D.7 و برای سگمنت H هستش و وضعیت اونو تو هنگام صفر و یک شدن پورت تعیین می کنه
                      بقیه هم به همین ترتیب پیدا کن و اعداد یک و دو و سه الی 9 رو باینریش رو با پایه های دلخواهی خودت بدست بیار
                      اگر سختت بود بگو تا برات بدست بیارم ( البته اول خودت یکم تلاش کن اگه نتونستی بگو)(تنبلی نکنی ها
                      )

                      امیدوارم موفق و پیروز باشین یا حق
                      همیشه کامل توضیح بدهیم تا جواب کامل بگیریم.
                      لطفا برای تشکر روی دکمه تشکر بزنید و بخاطر این پست نزنید که تایپیک شلوغ نشود
                      تایپیک های من:
                      حل تمام مشکلات atmega128a (eca.ir)
                      آموزش کار با سایت (eca.ir)

                      دیدگاه


                        #12
                        پاسخ : نحوه ارتباط پین های مختلف به ۷ سگمنت

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

                        دیدگاه

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