اطلاعیه

Collapse
No announcement yet.

مالتی پلکس

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

    مالتی پلکس

    من با استفاده از مالتی پلکس تونستم فقط یک عدد رو مثلا 45 رو روی دو تا سگمنت نمایش بدم اما برای شمارش از 0 تا99روی سگمنت با مالتی پلکس مشکل دارمی یکی ازبرنامه هایی که نوشتم اگه یه توضیح بدید یا برنامه رو کاملش کنید ممنون میشم. ا

    $regfile = "m8def.dat"
    $crystal = 8000000
    Config Portd = Output
    Config Portb = Output
    Dim I As Byte
    Dim J As Byte
    Do
    Portb = &B00000010
    Incr I
    Portd = Lookup(i , Label)
    Waitms 200
    If I = 10 Then
    I = 0
    For I = 0 To 10
    J = 0
    Incr J
    Portb = &B00000001
    Portd = Lookup(j , Label)
    Waitms 200
    Next I
    End If
    Loop
    End
    Label:
    Data &B00111111
    Data &B00111111
    Data &B00000110
    Data &B01011011
    Data &B01001111
    Data &B01100110
    Data &B01101101
    Data &B01111101
    Data &B00000111
    Data &B01111111
    Data &B01101111

    #2
    پاسخ : مالتی پلکس

    یکمی برنامه رو تغییر بده ... ببیبن بازم مشکل داری؟؟

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

    $regfile = "m8def.dat"
    $crystal = 8000000
    Config Portd = Output
    Config Portb = Output
    Dim I As Byte
    Dim J As Byte
    Do
    Incr I
    If I = 10 Then
    I = 0
    Incr J
    End If
    If J = 10 Then
    J = 0
    I = 0
    End If
    gosub up
    Wait 1

    Loop
    End
    Label:
    Data &B00111111
    Data &B00111111
    Data &B00000110
    Data &B01011011
    Data &B01001111
    Data &B01100110
    Data &B01101101
    Data &B01111101
    Data &B00000111
    Data &B01111111
    Data &B01101111

    Up:
    Portd = Lookup(j , Label)
    Portb = &B00000001
    Portb = &B00000000
    Portd = Lookup(i , Label)
    Portb = &B00000010
    Portb = &B00000000
    Return
    www.icesi.ir

    دیدگاه


      #3
      پاسخ : مالتی پلکس

      سلام.
      این برنامه هم برای رفرشی نوشتم... برای 2 تا سگمنت....

      فایل پروتئوس و بیسیک هم برات گذاشتم

      $regfile = "m8def.dat"
      $crystal = 8000000
      Config Timer0 = Timer , Prescale = 1024
      Enable Interrupts
      Enable Timer0
      Enable Ovf0
      On Timer0 Timer1rutin
      Timer0 = 99
      Start Timer0
      Config Portd = Output
      Config Portb = Output
      Dim I As Byte
      Dim J As Byte
      Dim X As Bit
      I = 0
      J = 0
      X = 0

      Do
      Wait 1
      Incr I
      If I = 10 Then
      I = 0
      Incr J
      End If
      If J = 10 Then
      J = 0
      I = 0
      End If

      Loop
      End

      Label:
      Data &B00111111
      Data &B00000110
      Data &B01011011
      Data &B01001111
      Data &B01100110
      Data &B01101101
      Data &B01111101
      Data &B00000111
      Data &B01111111
      Data &B01101111

      Timer1rutin:
      If X = 0 Then
      Portb = &B00000001
      Portd = Lookup(j , Label)
      End If
      If X = 1 Then
      Portb = &B00000010
      Portd = Lookup(i , Label)
      End If
      Toggle X
      Timer0 = 99
      Return
      فایل های پیوست شده
      www.icesi.ir

      دیدگاه

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