اطلاعیه

Collapse
No announcement yet.

مشکل در نمایش اعداد در LCD

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

    مشکل در نمایش اعداد در LCD

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


    کد:
    $regfile = "m16def.dat"
    $crystal = 8000000
    
    Config Lcdpin = Pin , Db4 = Pina.1 , Db5 = Pina.2 , Db6 = Pina.3 , Db7 = Pina.4 , Rs = Pina.6 , E = Pina.5
    Config Portb = Input
    Config Kbd = Portb
    
    Dim R As Byte
    Dim C As Byte
    Dim A As Byte
    Dim Q As Byte
    Dim Sab As Byte
    Dim Num As String * 1
    
    
    Main:
    R = 1 : C = 1
    Cls
    Locate R , C
    Cursor Off
    Lcd "Enter Password"
    Num = ""
    
    Getting:
    
    Do
    Q = 10
    A = Getkbd()
    
    
    Select Case A
        Case 1 : Q = 0
        Case 12 : Q = 1
        Case 13 : Q = 2
        Case 14 : Q = 3
        Case 8 : Q = 4
        Case 9 : Q = 5
        Case 10 : Q = 6
        Case 4 : Q = 7
        Case 5 : Q = 8
        Case 6 : Q = 9
    End Select
    If Q = 10 Then Goto Getting
    
    
    Num = Num + Str(q)
    
    Cls
    Lcd Num
    
    
    If Len(num) = 5 Then
    Goto Checkpassword
    End If
    Loop
    
    Checkpassword:
    If Num = "11111" Then
    Cls : Lcd "Correct"
    Else
    Cls : Lcd "Not Correct" : Waitms 250 : Goto Main
    End If
    
    
    
    End
    اما مشکل اینجاست زمانی که شروع به کار میکنه و یک عدد رو فشار میدم به جای اینکه مثلا بنویسه 1 مینویسه 1111
    یعنی با هر بار فشار 4 تا از اون عدد رو نمایش میده
    مشکلش کجاست؟

    در ضمن آیا Lcd دستوری داره که بشه یه رشته رو به انتهای رشته در حال نمایش اضافه کرد
    مثلا رو ال سی دی نوشته 55 بعد با یه دستور یه 2 به آخرش اضافه بشه !

    با سپاس از شما
    www.keytak.blogfa.com
    ---------------------------------------------------------------
    کنترل وسایل برقی با VB6(جالبه یه نگاه بندازید)
    http://www.eca.ir/forum2/index.php?topic=33488.0

    #2
    پاسخ : مشکل در نمایش اعداد در LCD

    سلام دوست من
    دلیل این که چند تا 1 میفته اینه که باید بعد از اینکه کیبورد رو خوندی و عدد فشار داده شده بود یه Delay بزاری

    در مورد سوال دومت هم باید بگم که نه باید خودت برنامشو بنویسی مثلا عدد 55 رو داری وقتی که عدد جدیدت اومد ابتدا قبلی (55 ) رو در 10 ضرب می کنی و با عدد جدید ضرب میکنی تا بشه 550+2=552
    علم چندانکه بیشتر خوانی چون عمل در تو نیست نادانی

    دیدگاه


      #3
      پاسخ : مشکل در نمایش اعداد در LCD

      نوشته اصلی توسط اٌمید حبیبی
      سلام دوست من
      دلیل این که چند تا 1 میفته اینه که باید بعد از اینکه کیبورد رو خوندی و عدد فشار داده شده بود یه Delay بزاری
      چطوری باید اینکار رو انجام بدم،یه مثال کوچولو بزنی متوجه میشم
      www.keytak.blogfa.com
      ---------------------------------------------------------------
      کنترل وسایل برقی با VB6(جالبه یه نگاه بندازید)
      http://www.eca.ir/forum2/index.php?topic=33488.0

      دیدگاه


        #4
        پاسخ : مشکل در نمایش اعداد در LCD

        سلام
        بعد از این خط دستورت
        کد:
        Cls
        Lcd Num
        بنویس

        کد:
        waitms 50
        علم چندانکه بیشتر خوانی چون عمل در تو نیست نادانی

        دیدگاه


          #5
          پاسخ : مشکل در نمایش اعداد در LCD

          هروقت پروژت LCD داره؛ توی برنامه نویسی اینو یادت بمونه که : اول خدا, بعدش CLS !!!!

          اگه میخوای سرعتت بالاتر بره و نمایشزیباتری داشته باشی؛ ا میتونی از CLS استفاده نکن و بجاش LOCATE X,Y بنویس
          در مورد اشکال دومت هم کخ دوست عزیزمون راهنمایی کردن؛ بهترین تکنیکش همونه
          موفق باشی
          Reveng will surely come... Your hard time are ahead
          // - - - - - - - - - -
          برگه های کتاب به منزله بالهایی هستند که روح ما را به عالم نور و روشنایی پرواز میآ*دهند. فرانسوا ولتر
          // - - - - - - - - - -
          اگر برای هرچیزی به غیر از علاقه ی شدیدتان به الکترونیک تلاش کنید ، خیلی دور نخواهید رفت / خیلی هم خوب نخواهید شد.
          // - - - - - - - - - -

          دیدگاه

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