توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : لطفا کمک
:hi:
دارم سعی میکنم بین کی بورد و lcd ارتباط برقرار کنم توسط میکرو پیک.
کسی میدونه اینکار رو چطور میشه با ps2انجام داد ؟
چون میگن اگه با ps2انجام بدم ضمن اینکه به جای مکس باید از یه سری icاستفاده کنم ؛ حجم برنامه خیلی کمتر میشه و دیگه نیاز نیست که برا هر کد کیبورد برنامه بنویسم.
سلام
مهندس پروتکل ارتباط با کی برد همون ps2 و تا بحال ندیدم کسی با مکس بخواد راه اندازی کنه!
ارتباط با ps2؛
برای ارتباط با ps2 نیازه که اول درمورد ترتیب پایه های سوکت رو بدونیم
این سوکت ها نوع نری و مادگی دارن که ترتیب پایه ها تو هرکدوم فرق میکنه
You can see links before reply
تصویر بالا سوکت سمت راست نوع نری و سمت چپ نوع مادگی را نشان می دهد.
پایه های 2و6 آزاد بوده و پایه ها 3 و4 تغذیه سوکت را تامین می کنند
همچنین پایه 1 برای ارسال دیتا و پایه 5 برای کلاک تعبیه شده اند.
برنامه نویسی؛
مشکلی که در اتصال کی برد به میکرو وجود داره، نداشتن خروجی کد اسکی میکروهای avr است که برای رفع این مشکل در بسیک جدولی ایجاد شده است که کدهای دریافتی از کی برد رو به کد اسکی تبدیل می کنه؛
Keydata:
'normal keys lower case
Data 0 , 0 , 0 , 0 , 0 , 200 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &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 -->
باقی رو بعد توضیح میدم
فعلا یک برنامه آماده اتصال کی برد به میکرو میذارم تا کمی بیس کار دستتون بیاد و توضیح اضافی خواستید درخواست کند.
$regfile = "m32def.dat"
$crystal = 4000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 , Rs = Porta.0 , E = Porta.1
Config Keyboard = Pind.2 , Data = Pind.4 , Keydata = Keydata
Dim Text As String * 20
Dim I As Byte
Dim L As Byte
$serialinput = Kbdinput
$serialinput2lcd
Text = "This is a Test!"
L = Len(text)
Cursor Off
Cls
Print Text
Wait 1
For I = 1 To 16
Shiftlcd Right
Wait 1
Next I
For I = 1 To L
Shiftlcd Left
Wait 1
Next I
Do
Cls
Cursor Blink
Cursor On
Print "Enter Text :"
Locate 2 , 1
Input Text
L = Len(text)
Cursor Noblink
Cursor Off
Cls
Print Text
For I = 1 To 16
Shiftlcd Right
'Wait 1
Next I
Wait 1
L = L + 16
For I = 1 To L
Shiftlcd Left
Wait 1
Next I
Loop
End
Kbdinput:
$asm
push r16 ; save used register
push r25
push r26
push r27
Kbdinput1:
rCall _getatkbd ; call the function
tst r24 ; check for zero
breq Kbdinput1 ; yes so try again
pop r27 ; we got a valid key so restore registers
pop r26
pop r25
pop r16
$end Asm
Return
I = Getatkbd()
Keydata:
'normal keys lower case
Data 0 , 0 , 0 , 0 , 0 , 200 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &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 -->
خوش باشید.
Powered by vBulletin® Version 4.2.1 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.