اطلاعیه

Collapse
No announcement yet.

کمک درباره گرفتن عدد از صفحه کلید

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

    کمک درباره گرفتن عدد از صفحه کلید

    با عرض سلام و خسته نباشید خدمت شما.من میخوام که با میکروی atmega32 و صفحه کلید 4*4 و lcd کاراکتری 2*16 برنامه ای بنویسم که یک عدد 2 یا 3 رقمی را از صفحه کلید بگیره و در سطر اول نمایش بدهد که اگر این عدد زوج بود جلو آن( در سطر اول ) کلمه زوج ( به انگلیسی ) نمایش داده بشه و نصف آن عدد در سطر دوم نشان داده بشه و اگر این عدد فرد بود جلو آن ( در سطر اول ) کلمه فرد ( به انگلیسی ) نمایش داده بشه و باقیمانده و خارج قسمت تقسیم بر 2 آن عدد در سطر دوم نشان داده بشه.من اینجا مشکل دارم که چه جوری باید تو برنامه ( بسکام )
    معلوم کنم که فقط 2 یا 3 رقم را از صفحه کلید بگیره و مثلا با زدن دکمه OK جواب را نمایش بدهد.تو برنامه میتونم با دستور getkbd کار کنم ولی همینجا مشکل دارم که چه جوری برنامه را محدود کنم که فقط 2 یا 3 عدد را از صفحه کلید بگیره.امیدوارم که فهمیده باشید.من این سوال رو قبلا هم پرسیده بودم و آقای حیاتی خیلی خوب واسم توضیح دادند و مثال زیر رو برای من زدند.
    $regfile "m32def.dat"
    $crystal = 8000000 '\
    Config Lcd = 16 * 2
    Config Kbd = Porta , Debounce = 150 , Delay = 150
    Config Lcdpin = Pin , Db4 = Pinc.5 , Db5 = Pinc.4 , Db6 = Pinc.3 , Db7 = Pinc.2 , _
    E = Pinc.6 , Rs = Pinc.7
    Dim Scankey As Byte
    Dim A As Byte
    Dim Count As Byte
    Dim B As Byte
    Dim C As Byte
    Count = 0
    A = 0
    main:
    Do
    Scankey = Getkbd()
    Scankey = Lookup(scankey , Key)
    Select Case Scankey
    Case Is < 10:
    A = A * 10
    A = A + Scankey
    Locate 1 , 1
    Lcd A
    Incr Count
    If Count = 2 Then Goto L1
    End Select
    Loop
    L1:
    B = A Mod 2
    Locate 1 , 8
    If B = 0 Then
    Lcd "Zovje"
    C = A / 2
    Locate 2 , 1
    Lcd C
    End If
    If B <> 0 Then
    Lcd "Fard"
    C = A / 2
    B = A Mod 2
    Locate 2 , 1
    Lcd C ; " " ; B
    End If
    Count = 0
    A = 0
    Goto Main
    End
    Key:
    Data 1 , 2 , 3 , 10 , 4 , 5 , 6 , 11 , 7 , 8 , 9 , 12 , 13 , 0 , 14 , 15 , 16
    ولی من اگه بخوام که هم یک عدد 2 رقمی و هم یک عدد 3 رقمی رو از صفحه کلید بگیرم باید چیکار کنم.یعنی برنامه رو محدود کنم به اینکه یا یک عدد 2 رقمی و یا یک عدد 3 رقمی رو از صفحه کلید بگیره.حالا طرف میتونه اگه دلش بخواد 2 رقمی و یا اگه دلش بخواد 3 رقمی رو بزند.مثال بالا که آقای حیاتی زده بودند فقط میتونه یک عدد 2 رقمی رو از صفحه کلید بگیره.لطفا کمکم کنید.

    #2
    پاسخ : کمک درباره گرفتن عدد از صفحه کلید

    لینک اصلاح شد(چون تازه فهمیدم نصف عدد زوج رو در سطر دوم میخواهید)
    http://www.4shared.com/file/r7UNcoVC/oddeven.html
    دوباره دانلود کن.

    دیدگاه

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