سلام به همگی من می خوام برنامه ای بنویسم که بشه از کیبرد 4*4 مثل صفحه کلید موبایل استفاده کرد یعنی از یک کلید بصورت چند منظوره اما نمی دونم از چه دستوری باید استفاده کنم؟ :sad: اگه کسی میدونه plzکمک کنه
باید برا این کار یک بایت تعیین کنید که سطح دسترسی و عملکرد این کلید رو نشون میده مثلا اگه 0 باشه عمکلرد کلید رو فلان زیر روال تعیین کنهو و اگه 1 باشه و.... به همین روال .
من با این روال خوب نتیجه گرفتم
مهم نیست که چه اندیشه ای در سر و چه ترسی در دل دارید؛ مهم آن است که بیکار ننشینید و دست به کاری بزنید و وارد میدان عمل بشوید.
نمی توانید به کودکی بیاموزید که از خود مواظبت کند، مگر آنکه او را آزاد بگذارید تا برای مواظبت از خود بکوشد؛ ممکن است اشتباه کند، ولی دانایی او از میان همین اشتباهات سرچشمه می گیرد.
ممنون از راهنمایی تون .من برنامه رو نوشتم یه جای برنامه ایراد داره که وقتی مثلا کلید 2 رو می زنم کاراکترهای پشت سر هم خورش می یاد abc2 ::
برای این که با هر بار فشار دادن کلید یه کاراکترو ببینم باید چیکار کرد؟ : :eek:
میشه برنامه رو یه نگاه بندارین و اشکال شو بگین
$regfile = "m16def.dat"
$crystal = 4000000
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7_
= Portb.7 , E = Portb.3 , Rs = Portb.2
Config Kbd = Portd
Dim A As Byte
Dim B As Byte
Main:
S:
A = Getkbd()
If A = 16 Then Goto S
If A = 0 Then Lcd "1"
If A = 1 Then Goto D
If A = 2 Then Goto E
If A = 4 Then Goto F
If A = 5 Then Goto G
If A = 6 Then Goto H
If A = 8 Then Goto I
If A = 9 Then Goto J
If A = 10 Then Goto K
If A = 13 Then Lcd "0"
If A = 3 Then Goto L
If A = 7 Then Goto M
If A = 11 Then Goto N
If A = 12 Then Goto O
If A = 14 Then Goto P
If A = 15 Then Goto Q
Waitms 10
Goto Main
End 'end program
سلام
دوست عزیز شما در برنامه باید debounce و delay هم تعریف می کردید به این صورت:
Config Kbd = Portd , Debounce = 350 , Delay = 200
اینو در برنامه تعریف کن مشکلت حل میشه.
دیدگاه