سلام
دستورهای بالایی برای استفاده از حافظه پشته هستش ( بیخیال !!)
من میخام از کیبرد تو یه پروژه ای استفاده کنم ولی از اون کدهایی که با فشذدن هر کلید ارسال میشه سر در نمیارم
مثلا این برنامه از کتاب آقای کاهه هستش
کد:
$regfile = "M32def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Portc.1 , Db5 = Portc.2 , Db6 = Portc.3,Db7= _
Portc.4 , E = Portd.2 , Rs = Portd.3
Config Lcd = 16 * 2
Config Keyboard = Pind.5 , Data = Pind.6 , Keydata = Keydata
Dim A As Byte
Waitms 500
Cls
Main:
A = Getatkbd()
Select Case A:
Case 50:
Lowerline
Case 56:
Home
Case 44:
Cls
Home
Case 52:
Shiftcursor Left
Case 54:
Shiftcursor Right
Case 13:
Lowerline
Case 9:
Shiftcursor Right , 4
Case 8:
Shiftcursor Left
Lcd " ";
Shiftcursor Left
Case Else Lcd String(1 , A)
End Select
jmp main
End 'end program
Keydata:
'normal keys lower case
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 27 , 0 , 0 , 0 , 0 , 9 , 9 , &H5E , 0
Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0
Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0
Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0
Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0
Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0
Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
'shifted keys UPPER case
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0
Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0
Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0
Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0
Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0
Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0
Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
که گفته برای کلید delete کد 44 فرستاده میشه در حالی که کلید delete کد اسکیش 46 و کد هگزی که کیبرد میفرسته 64 هستش پس این 44 از کجا اومده با برای home هم همین طور
البته برنامه درسته و جواب میده ولی من میخام کلیدهای F1…F12 رو فعال کنم که نمیدونم چه جوری کدهاشونو بخونم
کسی میتونه کمکم کنه؟