سلام
دوستان من باید یه ماشین حساب مهندسی با بسکام بنویسم و زود تحویل بدم!!!
میخواستم بپرسم اگه دو تا کی پد مثلا به پورتهای a,b وصل کنم چطوری تو بسکام ورودی بگریم از دوتاشون!؟
منتظر راهنمایی شما و متشکرم
(۰۸-تير-۱۳۹۰, ۱۷:۱۷:۳۵)fffkral نوشته است: [ -> ]سلام
دوستان من باید یه ماشین حساب مهندسی با بسکام بنویسم و زود تحویل بدم!!!
میخواستم بپرسم اگه دو تا کی پد مثلا به پورتهای a,b وصل کنم چطوری تو بسکام ورودی بگریم از دوتاشون!؟
منتظر راهنمایی شما و متشکرم
سلام..
فک کنم این طور بشه که تو وسط برنامه config kbd=portx رو عوض کنی!!!
سلام
منظورتون از اتصال دو تا کیپد چیه ؟ شما در استفاده از دو کیپد میتونین دو هدف رو داشته باشین.
1-یکی اینکه این دو در کنار هم تشکیل یک کیپد بزرگتر رو بدن مثال با دو کیپد 4*4 میتونیم یک کیپد 4*8 داشته باشیم و
2- اینکه این دو کیپد در کنار هم یک کار رو انجام بدن یعنی در کل ما با یکی از دو کیپد 4*4 به صورت دلخواه یک کار رو انجام میدیم.(دو کیپد با کار مشابه)
جواب گزینه 1:
اگر منظورتون گزینه یک هست شما میتونید ستونهای دو کیپد رو به هم وصل کنید و در کل یک کیپد با چار ستون و هشت سطر بدست بیارید.برای وصل کردن اون به میکرو ستونها مشترک و سطرهای کیپد اول به پورت اول (مثال PA ) وصل میشه حالا برای وصل کردن 4 سطر بعدی که مربوط به گیپد دوم هست رو با دستور زیر پیکربندی میکیم(فرض کنید این چهار سطر رو میخوایم به PB0 تاPB3 وصل کنیم.بجای نوشتنconfig kbd = portA مین.یسیم
config kbd=porta ,debounce=50 , row4=pinb.0 , row5=pinb.1 , row6=pinb.2 , row7=pinb.3
با این دستور سطرهای اظافی را معرفی کرده و توسط دستور get kbd=() راحت اطلاعات رو از کیپد جدید میگیرید.
جواب گزینه2:
از روشی که تو گزینه اول گفتم میتونی استفاده کنی فقط باید تو نوشتن برنامه دقت کنی به طور مثال ما یک کیپد 4*8 داریم ولی میوایم به صورت دو کیپد 4*4 باشه که کلیدهای مشابه یک کار انجام بدن.خوب ما در دستور getkbd اعداد0تا (31رو دریافت میکنیم(0 تا 15 برای کیپد اول و 16 تا 31 برای کیپد دوم) حالا باید توجه کنی که کلید 0 متناظر با کلید 16 هست برای هر دو یک برنامه مشابه مینویسیم .
0=16 و1=17 و2=18 و3=18 و...
مثال )با فشردن هر کلید عدد مورد نظر در متغییر data قرار بگیره . با فرض پیکر بندی مدارمینویسیم:
source=getkbd()
if source=0 or source=16 then
data = source
....
امیدوارم متوجه شده باشی در ضمن میتونی از ایسی دیکودر با شماره MM74C922 استفاده کنی . البته به نظر من روش بالا بهتر چون سخت افزار اظافی نداره بهتره موفق باشی.