خانه / آموزش میکروکنترلرهای AVR / آموزش برنامه نویسی پیشرفته BASIC – پیکر بندی کیبورد

آموزش برنامه نویسی پیشرفته BASIC – پیکر بندی کیبورد

آموزش برنامه نویسی پیشرفته BASIC – پیکر بندی کیبورد

یکی از قابلیت های میکروکنترلرهای avr اتصال به کیبورد (Keyboard) کامپیوتر می باشد. کیبورد کامپیوتر بجز پایه ای تغذیه دارای دو پایه دیگر که یکی برای data و یکی هم برای کلاک بوده است. در جدول زیر دو نوع خروجی کیبورد (Keyboard) معرفی شده است.

آموزش برنامه نویسی پیشرفته BASIC – پیکر بندی کیبرد

شکل زیر نمایانگر ارتباط بین کیبورد و میکروکنترلر است.

آموزش برنامه نویسی پیشرفته BASIC – پیکر بندی کیبرد

:: پیکر بندی کیبورد (Keyboard) کامپیوتر

Config keyboard = pina.b , data = pin x,y  , keydata = lable

با این دستور کیبورد (Keyboard) به میکرو معرفی می شود.

Pin a .b : پایه کلاک کیبورد

Pinx,y : پایه data برای کیبورد که می توان این پایه را به یک وقفه خارجی کتصل کرد تا در صورت فشردن یک کلید کیبورد وقفه اتفاق افتاده و به زیر برنامه خواند کیبورد پرش کند.

Key data : یکی از مشکلات کیبورد در اتصال به میکرو کنترلرهای avr نداشتن خروجی با کد اسکی است برای تبدیل کدهتی گرفته شده از کیبورد به کدهای اسکی از یک جدول داده استفاده شده است. نام برچسب این جدول را در جلوی گزینه keydata وارد می شود.

:: خواندن کیبورد (Keyboard) کامپیوتر

این دستور عدد گرفته شده از کیبورد را با کمک گرفتن از جدول داده تبدیل به کد اسکی کرده و در متغیر var قرار می گیرد.

نکته : var می تواند هم از نوع byte  و هم از نوع string باشد.

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

مثال :

$regfile = “8535 fed. Dat”

$crystal = 4000000

Config keyboard = pin.2 , data = pind .4 , keydata = keydata

Dim b as byte

B= getatkbd ()

Loop until b < > 0

End

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 , 42 , 57 , 0 , 0 ‘

 موسسه خیریه حمایت از کودکان مبتلا به سرطان

 دسته اصلی : زبان برنامه نویسی BASIC

 نویسنده : electronics98

 تاریخ انتشار :

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

مطلب پیشنهادی

آموزش برنامه نویسی پیشرفته BASIC – ارتباط سریال I2C

آموزش برنامه نویسی پیشرفته BASIC – ارتباط سریال I2C پایه های مورد استفاده پروتکل I2C …