سلام به دوستان عزیز
یک هدر برای Keypad 4x4 نوشتم که گفتم شاید بدر شماهم بخوره.
تواین هدر میتونید Keypad 4x4 رو به هر پرتی از میکرو های AVR وصل کنید.
https://cld.persiangig.com/download/...keypad4x4.h/dl
نمونه کد:
[code=c]#include <mega16.h>
#define keypad_port 'C'
#include "keypad4x4.h"
Void main(void)
{
Int a=0;
a=get_keypad(200);
}
[/code]
در مثال بالا کیپد به پورت C میکرو ATmega16 متصل شده و توسط دستور get_keypad(time) مقدار را از کیپد میخواند.
Time = مدت زمان تاخیر برای خواندن از کیپد (برحسب ms ).
یه مقدار بیشتر توضیح میدم تا اگر یکی از دوستان این اطلاعات رانداشت، متوجه شود.
اگر هیچ دکمه ای فشرده نشود ، تابع get_keypad(time) بصورت پیشفرض عدد 0x10 را تولید می کند و اگر دکمه ای فشرده شود، مقدار آن حتما از 0x10 کمتر و حداقل 0x00 است.
در این مدار سطر ها LSB و ستون ها MSB در نظر گرفته شده.
اگر پیکر بندی پایه های کیپد مانند شکل زیر باشد، عدد تولید شده متناظر با هر دکمه بصورت جدول زیر است. همانطور که مشخص است اگر دکمه ای فشرده شود مقدارش بین 0 تا 15 است واگر فشرده نشود تابع مقدار 16 را تولید می کند.
تحت این شرایط شماباید خودتان با تولید یک table ، اعدا بدست آمده را به اعداد واقعی نسبت دهید.
keypad4x4


فقط کافیه این فایل رو "keypad4x4.h" در کنار برنامه ای که به زبان C نوشته اید قرار دهید و مانند کد بالا آن را اجرا کنید.
[hr]
روزی از فرمانروایی پرسیدند (( تو که چند سال پیش، پینه دوزی بیش نبودی چطور به فرمانروایی رسیدی؟!)) او پاسخ داد:(( من پینه دوز خوبی بودم.)) جی.پی.واسوانی
یک هدر برای Keypad 4x4 نوشتم که گفتم شاید بدر شماهم بخوره.
تواین هدر میتونید Keypad 4x4 رو به هر پرتی از میکرو های AVR وصل کنید.
https://cld.persiangig.com/download/...keypad4x4.h/dl
نمونه کد:
[code=c]#include <mega16.h>
#define keypad_port 'C'
#include "keypad4x4.h"
Void main(void)
{
Int a=0;
a=get_keypad(200);
}
[/code]
در مثال بالا کیپد به پورت C میکرو ATmega16 متصل شده و توسط دستور get_keypad(time) مقدار را از کیپد میخواند.
Time = مدت زمان تاخیر برای خواندن از کیپد (برحسب ms ).
یه مقدار بیشتر توضیح میدم تا اگر یکی از دوستان این اطلاعات رانداشت، متوجه شود.
اگر هیچ دکمه ای فشرده نشود ، تابع get_keypad(time) بصورت پیشفرض عدد 0x10 را تولید می کند و اگر دکمه ای فشرده شود، مقدار آن حتما از 0x10 کمتر و حداقل 0x00 است.
در این مدار سطر ها LSB و ستون ها MSB در نظر گرفته شده.
اگر پیکر بندی پایه های کیپد مانند شکل زیر باشد، عدد تولید شده متناظر با هر دکمه بصورت جدول زیر است. همانطور که مشخص است اگر دکمه ای فشرده شود مقدارش بین 0 تا 15 است واگر فشرده نشود تابع مقدار 16 را تولید می کند.
تحت این شرایط شماباید خودتان با تولید یک table ، اعدا بدست آمده را به اعداد واقعی نسبت دهید.
keypad4x4


فقط کافیه این فایل رو "keypad4x4.h" در کنار برنامه ای که به زبان C نوشته اید قرار دهید و مانند کد بالا آن را اجرا کنید.
[hr]
روزی از فرمانروایی پرسیدند (( تو که چند سال پیش، پینه دوزی بیش نبودی چطور به فرمانروایی رسیدی؟!)) او پاسخ داد:(( من پینه دوز خوبی بودم.)) جی.پی.واسوانی