سلام
من میخوام یه تابلو روانی بسازم که قابلیت اتصال کیبرد داشته باشه برنامه به زبان بیسیک و میکرو avr هستش.
من اتصال رو انجام دادم ولی مشکلم اینه که وقتی یه حرف مثل A رو از کیبرد فشار میدم حرف A نوشته میشه ولی بعد از اینکه دستم رو از روی کلید A برداشتم میره. الان من میخوام که وقتی کلید A رو فشار دادم حرف نوشته شده بمونه و حرف بعدی هم بیاد بغلش بمونه. یعنی حرف قبلی خذف نشه.
از دوستان میخوام کمکم کنن. با تشکر
مورد از برنامه تونه.
احتمالا اگه تو برنامه تون واسه هر کلید از دستور Debounce استفاده کنید، موردش رفع بشه.
برنامه تون و رو سایت بزارید، بهتر میشه کمکتون کرد.
میشه بیشتر توضیح بدین. با تشکر
من هر طور فک میکنم میبینم با Debounce نمیشه. شایدم من اشتباه میکنم
این مثال رو نگاه کنید؛
کد:
Debounce Pinx , 1 , next , Sub
---------
Sub next
.
.
.
End Sub
طبق دستور تا موقعی که کلید یا همون پین x ما set یا 1 منطقی باشه، دستور next اجرا میشه.
شما می تونید به جای next ، شرایط و دستورات خودتون و قرار بدید و شرایط رو اجرا کنید.
باید سورستون رو بزارید رو سایت.
آخه عزیز من. من کیبرد کامپیوتر رو به میکرو وصل کردم. منظورت رو از pin نمیفهمم.
بازم ممنون که کمک میکنی
(۱۳-آذر-۱۳۹۱, ۱۶:۱۰:۵۰)pedram032 نوشته است: [ -> ]آخه عزیز من. من کیبرد کامپیوتر رو به میکرو وصل کردم. منظورت رو از pin نمیفهمم.
بازم ممنون که کمک میکنی
من با کیبورد کامپیوتر کار نکردم ولی اگه کلیدها بصورت شستی عمل کنند میشه با همچین دستوری کلید رو بصورت سوئیچ درآورد.
سلام دوستان و ROBO یا امید عزیزی عزیز.
من تقریبا یکم پیشرفت کردم و الان یه مشکل کوچیک دارم. یه سوال!!
چه طور میشه هر کاراکتری رو که از کیبرد دریافت میکنیم رو در حافظه EEPROM ذخیره کنیم؟؟
یعنی منظورم اینه که کاراکتر اول رو توو یه آدرس حافظه و کارکتر دوم رو توو یه آدرس حافظه دیگه و تا آخر که حافظه پر بشه...
مثلا A رو توو آدرس 1 و B رو توو آدرس 2 و تا آخرین حروف.
اینم بگم که من نمیخوام از INT0 یا INT1 استفاده کنم. راهی هست بشه بدون استفاده از وقفه این کارو کرد؟؟
با تشکر
سلام
برای ذخیره در حافظه eeprom باید ابتدا از طریق دستور زیر؛
کد:
WRITEEEPROM var , address
متغیر var رو به حافظه address فراخانی کنید و سپس با دستور؛
کد:
READEEPROM var , address
اطلاعات آدرس رو توسط یه متغیر دیگه بخونید.
مثلا این مثال رو ببینید؛
کد:
$regfile = "m16def.dat"
$crystal = 8000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 ,
E = Portd.4 , Rs = Portd.5
Dim A As Byte , C As Byte
C = 12
Writeeeprom C , 1
Wait 1
Readeeprom A , 1
Locate 1 , 1 : Lcd A
End
طبق برنامه،ابتدا مقدار متغیر C در آدرس 1 نوشته شده و سپس آدرس 1 توسط متغیر A خوانده می شود.
ممنون حالا چه طور اطلاعات کیبرد رو ذخیره کنیم؟؟
منظورم اینه که کاراکتر اول رو توو یه آدرس حافظه و کارکتر دوم رو توو یه آدرس حافظه دیگه و تا آخر که حافظه پر بشه...
مثلا A رو توو آدرس 1 و B رو توو آدرس 2 و تا آخرین حروف.