اطلاعیه

Collapse
No announcement yet.

کسی برنامه ای برای راه اندازیه سون سگمنت مالتی پلکس داره؟؟ (فوری)

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

    کسی برنامه ای برای راه اندازیه سون سگمنت مالتی پلکس داره؟؟ (فوری)

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

    فقط 313 نفر...

    #2
    پاسخ : کسی برنامه ای برای راه اندازیه سون سگمنت مالتی پلکس داره؟؟ (فوری)

    تورو خدا کمک خیلی کارم گیره :angry: :cry2:
    الهم عجل لولیک الفرج

    فقط 313 نفر...

    دیدگاه


      #3
      پاسخ : کسی برنامه ای برای راه اندازیه سون سگمنت مالتی پلکس داره؟؟ (فوری)

      ساعت کامل با سون سگمت بزرگ با روش مالتی پلکس
      '$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
      '$ clock - temp written by:farzad ramazani sani (segmex) 1385\05\22 $
      '$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
      $regfile = "m8def.dat"
      $crystal = 8000000
      Config Portd = Output 'a-b-c-d-e-f-g-dot >>>> portd.0-....-portd.7
      Config Portb = &B001111 'upper nibble input
      '**************************dim for program *************************************
      Dim A As Byte , B As Byte , C As Byte , D As Byte , E As Byte , F As Byte
      Dim A1 As Byte , B1 As Byte , C1 As Byte , D1 As Byte
      '******************************************** ***********************************
      Config Timer0 = Timer , Prescale = 1024 'for multiplex
      Config Timer1 = Timer , Prescale = 256
      '********************************** adc ****************************************
      Dim W As Word , W1 As Word , W2 As Word
      '******************************************** ***********************************

      Dim Modd As Byte , J As Byte '(for blinking to adjust m and h&#039 'for choosing the action and mod

      '******************************************** ***********************************

      Modd = 0 'showing the time

      '******************************************** ***********************************

      Enable Timer0
      Enable Timer1
      Enable Interrupts
      On Timer0 Multiplexing
      On Timer1 Inccr
      Start Timer0
      Start Timer1
      Start Timer0
      Timer0 = 100
      Timer1 = 34286 'accurate 1 Second =34286
      A = 0 : B = 0 : C = 0 : D = 0 : E = 0 : F = 0 'init the variables
      '************************************* start of program *********************
      'the mode is going to be this dim modd as byte modd=0 =>showing time
      'modd=1 =>showing temp for 5 seconds and then return to showing time(modd=0)
      'modd=2 =>the seconds will be shown and it can be adjusted by pinb.4
      'modd=3 =>the minutes will be shown and it can be adjusted by pinb.4
      'modd=4 =>the hours will be shown and it can be adjuste by pinb.4
      'modd=5 =>you can adjust the ringer to ring in a specified time (min,hour)
      '******************************************** ***********************************




      Do


      If Pinb.5 = 1 Then 'selecting the modd
      Waitms 30
      Incr Modd
      If Modd >= 5 Then
      Modd = 0
      End If
      End If


      '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

      If Modd = 0 Then
      J = A Mod 2
      If J = 0 Then 'showing the time
      A1 = Lookup(c , Dta)

      B1 = Lookup(d , Dta)

      C1 = Lookup(e , Dta)

      If F = 0 Then
      D1 = Lookup(11 , Dta)
      Else
      D1 = Lookup(f , Dta)
      End If

      Else

      A1 = Lookup(c , Dta)

      B1 = Lookup(d , Dtaa)

      C1 = Lookup(e , Dtaa)

      If F = 0 Then
      D1 = Lookup(11 , Dta)
      Else
      D1 = Lookup(f , Dta)
      End If

      End If

      End If

      '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

      If Modd = 1 Then
      W = 60 'W = Getadc(0)
      W1 = W / 10
      W2 = W Mod 10

      A1 = Lookup(10 , Dta)

      B1 = Lookup(11 , Dta)

      C1 = Lookup(w2 , Dta)

      D1 = Lookup(w1 , Dta)




      End If

      '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

      If Modd = 2 Then ' SECONDS it can be adjusted by pinb.4
      J = A Mod 2
      If J = 0 Then
      A1 = Lookup(a , Dta)

      B1 = Lookup(b , Dta)

      C1 = Lookup(11 , Dta)

      D1 = Lookup(11 , Dta)

      Else

      A1 = Lookup(a , Dta)

      B1 = Lookup(b , Dtaa)

      C1 = Lookup(11 , Dtaa)

      D1 = Lookup(11 , Dta)

      End If




      If Pinb.4 = 1 Then
      Waitms 20
      Incr A
      If A >= 10 Then
      A = 0
      Incr B
      If B >= 6 Then
      B = 0
      End If
      End If
      End If


      End If

      '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

      If Modd = 3 Then
      J = A Mod 2
      If J = 0 Then
      A1 = Lookup(c , Dta)

      B1 = Lookup(d , Dta)

      C1 = Lookup(e , Dta)

      If F = 0 Then
      D1 = Lookup(11 , Dta)
      Else
      D1 = Lookup(f , Dta)
      End If

      Else

      A1 = Lookup(11 , Dta) '11 shows that the segment is blinking

      B1 = Lookup(11 , Dta)

      C1 = Lookup(e , Dta)

      If F = 0 Then
      D1 = Lookup(11 , Dta)
      Else
      D1 = Lookup(f , Dta)
      End If

      End If



      If Pinb.4 = 1 Then
      Waitms 20
      Incr C
      If C >= 10 Then
      C = 0
      Incr D
      If D >= 6 Then
      D = 0
      End If
      End If
      End If

      End If

      '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

      If Modd = 4 Then
      J = A Mod 2
      If J = 0 Then
      A1 = Lookup(c , Dta)

      B1 = Lookup(d , Dta)

      C1 = Lookup(e , Dta)

      If F = 0 Then
      D1 = Lookup(11 , Dta)
      Else
      D1 = Lookup(f , Dta)
      End If

      Else

      A1 = Lookup(c , Dta) '11 shows that the segment is blinking

      B1 = Lookup(d , Dta)



      If F = 0 Then
      If J = 0 Then
      D1 = Lookup(11 , Dta)
      C1 = Lookup(e , Dta)
      Else
      D1 = Lookup(11 , Dta)
      C1 = Lookup(11 , Dta)
      End If
      Else
      If J = 0 Then
      D1 = Lookup(f , Dta)
      C1 = Lookup(e , Dta)
      Else
      D1 = Lookup(11 , Dta)
      C1 = Lookup(11 , Dta)
      End If
      End If

      End If



      If Pinb.4 = 1 Then
      Waitms 20
      Incr E
      If E >= 10 Then
      E = 0
      Incr F
      If F >= 2 Then
      F = 0
      End If
      End If
      If F = 1 Then
      If E = 3 Then
      F = 0
      E = 0
      End If
      End If
      End If

      End If





      Loop
      End
      '******************************************** ***********************************
      Multiplexing:
      Timer0 = 100
      Portb = Bits(0)
      Portd = A1
      Waitms 5
      Portb = Bits(1)
      Portd = B1
      Waitms 5
      Portb = Bits(2)
      Portd = C1
      Waitms 5
      Portb = Bits(3)
      Portd = D1
      Delay


      Return
      '******************************************** ***********************************
      Inccr:
      Timer1 = 34286
      Incr A
      If A = 10 Then
      A = 0
      Incr B
      If B = 6 Then
      B = 0
      Incr C
      If C >= 10 Then
      C = 0
      Incr D
      If D >= 6 Then
      D = 0
      Incr E
      If E >= 10 Then
      E = 0
      Incr F
      If F >= 2 Then
      F = 0
      End If
      End If
      End If
      End If
      End If
      End If
      If F = 1 Then
      If E = 3 Then
      F = 0
      E = 1
      End If
      End If
      Return






      Dta:
      Data &HC0 , &HF9 , &HA4 , &HB0 , &H99 , &H92 , &H82 , &HF8 , &H80 , &H90 , &HC6 , &HFF 'without dot blinking



      Dtaa:
      Data &H40 , &H79 , &H24 , &H30 , &H19 , &H12 , &H02 , &H78 , &H00 , &H10 , &HC6 , &H7F 'with dot blinking





      مهم نیست که چه اندیشه ای در سر و چه ترسی در دل دارید؛ مهم آن است که بیکار ننشینید و دست به کاری بزنید و وارد میدان عمل بشوید.

      نمی توانید به کودکی بیاموزید که از خود مواظبت کند، مگر آنکه او را آزاد بگذارید تا برای مواظبت از خود بکوشد؛ ممکن است اشتباه کند، ولی دانایی او از میان همین اشتباهات سرچشمه می گیرد.

      دیدگاه


        #4
        پاسخ : کسی برنامه ای برای راه اندازیه سون سگمنت مالتی پلکس داره؟؟ (فوری)

        سلام
        آقا دستت درد نکنه و لی یکم گیج شدم ببین این تیکه ای که این زیر میگذارم میاد نشون میده که عدد چنده
        Namaiesh:
        Select Case Addad
        Case 0 :
        Reset Porta.0
        Reset Porta.1
        Reset Porta.2
        Reset Porta.3
        Reset Porta.5
        Reset Porta.6
        Set Porta.7


        Case 1 :
        Set Porta.0
        Reset Porta.1
        Set Porta.2
        Set Porta.3
        Reset Porta.5
        Set Porta.6
        Set Porta.7

        Case 2 :
        Reset Porta.0
        Reset Porta.1
        Set Porta.2
        Reset Porta.3
        Set Porta.5
        Reset Porta.6
        Reset Porta.7

        Case 3 :
        Reset Porta.0
        Set Porta.1
        Reset Porta.2
        Reset Porta.3
        Set Porta.5
        Reset Porta.6
        Reset Porta.7


        Case 4 :
        Reset Porta.0
        Set Porta.1
        Reset Porta.2
        Set Porta.3
        Reset Porta.5
        Set Porta.6
        Reset Porta.7

        Case 5 :
        Set Porta.0
        Set Porta.1
        Reset Porta.2
        Reset Porta.3
        Reset Porta.5
        Reset Porta.6
        Reset Porta.7

        Case 6 :
        Set Porta.0
        Reset Porta.1
        Reset Porta.2
        Reset Porta.3
        Reset Porta.5
        Reset Porta.6
        Reset Porta.7

        Case 7 :
        Reset Porta.0
        Set Porta.1
        Reset Porta.2
        Set Porta.3
        Set Porta.5
        Reset Porta.6
        Set Porta.7

        Case 8 :
        Reset Porta.0
        Reset Porta.1
        Reset Porta.2
        Reset Porta.3
        Reset Porta.5
        Reset Porta.6
        Reset Porta.7

        Case 9 :
        Reset Porta.0
        Set Porta.1
        Reset Porta.2
        Reset Porta.3
        Reset Porta.5
        Reset Porta.6
        Reset Porta.7

        End Select
        Return
        این مشکلی نداره حالا
        سلکت های من به پایه های C.0 تا C.3 وصله خب؟؟؟
        حالا مشکل برنامه ی زیر کجاست
        Set Portc.0
        Addad = 1
        Gosub Namaiesh
        Waitms 5
        Reset Portc.0
        Set Portc.1
        Addad = 2
        Gosub Namaiesh
        Waitms 5
        Reset Portc.1
        Set Portc.2
        Addad = 3
        Gosub Namaiesh
        Waitms 5
        Reset Portc.2
        Set Portc.3
        Addad = 4
        Gosub Namaiesh
        Delay
        Reset Portc.3
        میشه بگید باید Wait ها چقدر باشه؟؟؟ الان یا چشمک زن نشون میده یا فقط 8 نشون میده :cry2:
        الهم عجل لولیک الفرج

        فقط 313 نفر...

        دیدگاه


          #5
          پاسخ : کسی برنامه ای برای راه اندازیه سون سگمنت مالتی پلکس داره؟؟ (فوری)

          سلام
          من قبلا تو قسمت پروژه های تکمیل شده avr همچین پروژه ای رو دیده
          یه سرچی بزنید بد نیست
          موفق باشید
          http://www.ecapic.ir/image/ECA-090927112544.png

          دیدگاه


            #6
            پاسخ : کسی برنامه ای برای راه اندازیه سون سگمنت مالتی پلکس داره؟؟ (فوری)

            دوست عزیز FAM جان

            مقاله ای که من گذاشتم با زبان بیسیک است و از روش مولتی پلکس برای روشن کردن 7 Seg استفاده کردم .

            http://www.eca.ir/forum2/index.php?topic=6520.0

            موفق باشید .

            سوالی داشتی بپرس

            دیدگاه


              #7
              پاسخ : کسی برنامه ای برای راه اندازیه سون سگمنت مالتی پلکس داره؟؟ (فوری)

              سلام
              شرمنده این ربطی به موضوع نداره ولی بهتر نبود بجای اینکه به پرت اینجوری دستور بدید
              Case 0 :
              Reset Porta.0
              Reset Porta.1
              Reset Porta.2
              Reset Porta.3
              Reset Porta.5
              Reset Porta.6
              Set Porta.7
              اینجوری مینوشتید:
              porta=&B10000000

              فکر میکنم اینجوری هم برنامه خوانا تر میشد هم کد کمتری تولید بشه

              در ضمن اگه صبر کنید تا 2 روز دیگه پروژه کامل ساعت با سون سگمنت رو میزارم
              پروردگارا: به من زیستنی عطا کن که در لحظه مرگ بر بی ثمری لحظه ای که برای زیستن گذشته است حسرت نخورم، و مردنی عطا کن که بر بیهودگیش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست میداری

              دیدگاه

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