پیکربندی کیپد در زبان بیسیک BASIC

پیکربندی کیپد

کیپد (KeyPad) دارای کلیدهایی بوده که اکثرا در بازار 16 کلید هستند. این کلید ها به صورت ماتریسی به یکدیگر در ارتباط هستند.

پیکربندی کیپد در زبان بیسیک BASIC

در شکل بالا دو نوع کیپد (KeyPad) معمولی و کی پد (KeyPad) موبایل را مشاهده می کنید. همانطور که مشاهده می کنید کیپدها دارای دو نوع ردیف خروجی هستند که در آن خروجی هایی که با حروف a b c d نمایش داده شده اند. نمایانگر سطر و خروجی هایی که با اعداد مشخص شده اند نمایانگر ستون های کلیدی کیپد (KeyPad) هستند. برای مثال a1 نمایانگر کلید 1 در کیپد (KeyPad) موبایل و کلید 7 در کی پد (KeyPad) معمولی می باشد.

دستورات پیکر بندی کیپد در زبان بیسیک BASIC

توسط این دستور پورت متصل شده به کیپد و میزان زمان سرکشی میکرو به کیپد و حتی عمل نویز گری در زمان خواند توسط یک تاخیر تنظیم می شود.

Var = میزان زمان سرکشی بر حسب میلی ثانیه

T : میزان تاخیر در زمان خوانده شدن کلید فشرده شده برای جلوگیری از پارازیت احتمالی بر حسب میلی ثانیه ( اختیاری )

نکته : هر دو گزینه بالا در صورت نوشته نشدن مقدار 20ms را دارا می باشند.

نکته : برای اتصال کیپد باید حتما به صورت شکل بالا عمود نمود و اولین سطر به پایه 0 پورت مربوطه متصل و اولین ستون به پایه 7 پورت مربوطه متصل شود.

نکته : این دستور برای کیپدهای 4*4 می باشد و در صورت استفاده از کیپدی با کلیدهای بیشتر برای مثال افزایش سطر را برای میکرو معرفی کنیم و به پایه های پورتی دیگر متصل کنیم. برای معرفی سطر از row استفاده می شود.

دستور پیکر بندی کیپد با سطر بیشتر در زبان بیسیک BASIC

N : مشخص کننده تعداد سطر اضافه شده

مثال :

نکته : معمولا که در شکل بالا مشاهده می کنید. در حقیقت تعداد ستون ها افزایش داشته است و ولی باید ترفند معکوس کردن می توان آن را به افزایش تعداد سطرها نسبت داد.

خواندن کیپد در زبان بیسیک BASIC

با این دستور در برنامه نویسی، کیپد خوانده شده و عدد متناظر با کلید فشرده شده که به صورت شکل زیر است در متغیر var قرار می گیرد. در صورتی که کلیدی فشرده نشده باشد در متغیر var عدد بیشتر از عدد آخر کیپد قرار می گیرد. برای مثال کیپد سمت راست عدد 24 و سمت چپ عدد 16 را زمان فشرده نشدن کیپد در متغیر var قرار می گیرد.

مثال :

 اطلاعات پروژه

 رمز فایل : www.electronics98.com (این مطلب فاقد فایل جهت دانلود است)

 نویسنده : فرهاد اکبری

 تاریخ انتشار : 7 اکتبر 2014

4 دیدگاه

  1. سلام
    یکم دقیق تر کد بزار افرد تازه کار هنوز نو پا هستند

    یه end if رو یادت رفته

    Config kbd = portc , debounce = 40
    Dim a as byte
    Do
    A =getkbd ()
    If a < 16 then
    Cls
    Lcd a
    اینجا=end if
    Loop
    End

  2. سلام دوست عزیز
    ممنون از اطلاع شما مطلب اصلاح شد.

  3. سلام خسته نباشین
    مهندس من یک برنامه درب بازکن رمزی نوشتم در محیط بسکام مدار رو بستم
    پروژه خیلی خوب کار میکنه فقط یک مشکلی که هست این هست که بعضی از مواقع کلید های کیپد رو که تند تند میزنیم مدار کار نمیکنه یعنی atmega استپ میشه و برای کار کردنش باید تغذیه رو قطع و وصل کرد
    کیپد ۴×۴ هستش
    ممنون از سایت خوبتون

  4. ممنون میشم راهنماییم کنین

 شرایط و قوانین ثبت دیدگاه

 فارسی بنویسید و از کیبورد فارسی استفاده کنید.

 لطفاً بیش‌از‌حدِ معمول، شکلک یا ایموجی استفاده نکنید و از کشیدن حروف یا کلمات با صفحه‌کلید بپرهیزید.

 به کاربران و سایر اشخاص احترام بگذارید. پیام‌هایی که شامل محتوای توهین‌آمیز و کلمات نامناسب باشند، حذف می‌شوند.

 از ارسال لینک‌های سایت‌های دیگر و ارایه‌ی اطلاعات شخصی خودتان مثل شماره تماس، ایمیل و آی‌دی شبکه‌های اجتماعی پرهیز کنید.