با سلام و خسته نباشید
من تازه وارد هستم
تازه دارم میفهمم که هیچی نمفهمم
نه برنامه نویسی بلدم نه میکرو و نه ...
اما امید وارم با کمک شما دوستان یاد بگیرم
من قسمت آموزش avr از صفر تا بینهایت رو خوندم
اما تو قسمت اتصال و استفاده از صفحه کلید دچار مشکل شدم
لطفا کمک کنید
اگر امکانش هست چند تا مثال پرتیوس هم بزارید
با تشکر
(۰۲-دى-۱۳۸۹, ۱۵:۳۳:۳۶)dfmmob نوشته است: [ -> ]با سلام و خسته نباشید
من تازه وارد هستم
تازه دارم میفهمم که هیچی نمفهمم
نه برنامه نویسی بلدم نه میکرو و نه ...
اما امید وارم با کمک شما دوستان یاد بگیرم
من قسمت آموزش avr از صفر تا بینهایت رو خوندم
اما تو قسمت اتصال و استفاده از صفحه کلید دچار مشکل شدم
لطفا کمک کنید
اگر امکانش هست چند تا مثال پرتیوس هم بزارید
با تشکر
سلام...
دوست عزیز ببین:
شما برای اینکه بخوای کیپد رو به میکرو وصل کنی اول به میکرو میفهمونی که به کدوم پورتت میخوام وصل کنم:
بعد تو میتونی لرزش کلید رو با تاخیر از بین ببری که اونا رو بیخیال...
بعدش یه متغییر تعریف میکنی
بعدش هم که یه حلقه درست میکنی
کد:
config kbd=porta
:dim a as byte
cls
do
a=getkbd()
home
lcd a;" "
loop
این برنامه برات مقدار کیپد رو روی ال سی دی نمایش میده...
تو با دستور
مقدار کیپد رو میریزه تو متغییر a
...
خوب شاید توبخوای کلید هات مثل ماشین حساب باشه...
که باید از جدول lookup استفاده کنی....
شما این رو یاد بگیر بعد از این جدول رو برات میگم
با تشکر از شما دوست عزیز
تمام این چیزای رو که گفتی من میدونم
مشکل اصلی من اینه که بعد از نوشتن برنامه وقتی میام اونو توی پرتیوس شبیه سازی میکنم وقتی دکمه های صفحه کلید رو فشار میدم اعدادش اشتباه هستن
مثلا
وقتی 8 رو فشار میدم روی lcd مینویسه 4
یا 2 رو که میزنم روی lcd مینویسه 0
مشکل اصلی من اینه
برای همین گفتم
اگه میشه چند تا مثال پرتیوس می خوام
من همچنان منتظر یاری دوستان هستم
با تشکر
خوب کیبوردتو سطر و ستوناشو درست وصل نکردی
یا جابجا وصل کردی
ببخشید متوجه نشدم
خب میشه بگین باید چطور وصل کنم؟
با تشکر
اولین سطر باید به پایه 0 پورت و دومین سطر به پایه1 پورت و همینجوری تا سطر آخر
همینطور اولین ستون به پایه 7 همون پورتو دومین ستون به پایه 6 همون پورت و همینجوری ادامه پیدا میکنه
البته با این روش حداکثر میشه یه کی پد 4*4 رو وصل کرد
برا بیشتر از این باید با دستور ROWیه سطر اضافه کنی
اگر خواستی بگو تو یه فایل پروتئوس بهت نشون بدم
با سلام
اگه لطف کنید و فایل پرتیوس رو بزاری ممنون میشم
ببین دوست عزیز شما هر جور دوست داری وصل کن به میکرو....
فقط حالا باید مقادیر رو از جدول برگردونی...
این برنامه رو ببین:
کد:
:dim a as byte,b as byte
cls
do
a=getkbd()
b=lookup(a,ebi)
home
lcd b;" "
loop
ebi:
data10,20,30,40,50
فرض کن کلیدی رو که میزنی عدد صفر رو بدون جدول lookupکه من برات گذاشتم نشون میده....
با این دستور میکرو میاد عدد 10 رو از زیر برنامه میریزه تو b و نمایش میده...
پس تو میتونی به میکرو بگی که وقتی من کلید که تو شکله روش عدد 3 رو زده و میکرو میاد 13 رو برمیگردونه بیا 3 رو نمایش بده... یعنی تو میای تو 13 همین عدد ,عدد 3 رو میزاری..
متوجه شدی؟؟
تو به پروتئوس کار نداشته باش...
پایه ها رو به ترتیب وصل کن....
و اعدادی رو که نشون میده رو بنویس..
بعد بگو من بجای عدد مثلا 1 میخوام 7 نمایش بده اونوقت تومیای
کد:
ebi:
data 10,7,30,................الی آخر
هان چی؟
راستش من که نفهمیدم چی شد
ببینم کسی هست به زبون ساده تر اینو برام توضیح بده؟
کدوم روش درسته ؟
ای روش یا روشی که WhiteNoise گفته بود؟
دو روشی که گفته شد جفتشون درست بود
من طوری گفتم که وقتی شما اینجوری وصل کنی راحت میتونی اطلاعاتو از کیپد بخونی
آقا ابراهیم حرفه ای طرشو گفت که بتونی هر جور عشقته وصلش کنی
برا روشی که آقا ابراهیم گفت باید یه جدول لوکآپهم تو برنامت بیاری (فکر کنم)
ببین دوست عزیز..
من تو این عکس اومدم فرض کردم که اعدادی که من دارم میخونم سمت چپی است و میخوام تبدیلش کنم به سمت راستی...
اونوقت دیتاش این جوری میشه...