NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3190 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 20 از 34

موضوع: اتصال کیپد به میکرو چگونه؟

  1. #1
    مدیر باز نشسته masoodhashemy آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    بوشهر - نام: علیرضا.غ
    نوشته ها
    328
    تشکر
    212
    تشکر شده 593 بار در 145 پست

    پیش فرض اتصال کیپد به میکرو چگونه؟

    سلام
    من یک keypad4x4 دارم و یک atmega و در بسکام هستم.

    قبلا خوانده ام به ازای زدن هر دکمه یک عددبین 0 تا 15 گیرم می آید.
    حالا به میکرو چگونه بگویم موقعیت سطر اول و ستون اول یعنی 1 و موقعیت سطر دوم و ستون اول یعنی 4 و ...؟
    یعنی میخواهم عملکرد keypad4x4 مثل زیر شود:

  2. تشکرها از این نوشته :


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  4. #2
    مدیر باز نشسته هنرفر آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    اصفهان
    نوشته ها
    408
    تشکر
    372
    تشکر شده 311 بار در 154 پست

    پیش فرض

    می تونی تو بسکام از دستور getkbd استفاده کنی ولی اگه بخوای خودت برنامه را بنویسی و از این دستور استفاده نکنی باید تک تک سطرها را اسکن کنی مثل اسکن سون سگمنت و چک کنی کدام یک از ستون ها تغیر وضعیت میده.

  5. #3
    مدیر باز نشسته masoodhashemy آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    بوشهر - نام: علیرضا.غ
    نوشته ها
    328
    تشکر
    212
    تشکر شده 593 بار در 145 پست

    پیش فرض

    مشکل من این جاست که:
    اگر keypad بالا رو به میکرو بزنم و روی 1 بزنم 1 دیده میشه یا 7 ؟

  6. #4
    تازه وارد
    تاریخ عضویت
    Oct 2009
    نوشته ها
    4
    تشکر
    2
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلام
    آره. 1 ديده ميشه
    فقط مواظب باش كه سيمهاي ستونها و سطرها را درست به مدار و ميكرو وصل كني
    كيپدها كاملا استاندارد هستند و نيازي به تغيير در آنها نداري

    موفق باشي

  7. #5
    مدیر باز نشسته masoodhashemy آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    بوشهر - نام: علیرضا.غ
    نوشته ها
    328
    تشکر
    212
    تشکر شده 593 بار در 145 پست

    پیش فرض

    نقل قول نوشته اصلی توسط santoz160
    سلام
    آره. 1 ديده ميشه
    فقط مواظب باش كه سيمهاي ستونها و سطرها را درست به مدار و ميكرو وصل كني
    كيپدها كاملا استاندارد هستند و نيازي به تغيير در آنها نداري

    موفق باشي
    این درست وصل شدن سیمها یعنی سیمها را جه جوری به میکرو وصل کنم؟

  8. #6
    تازه وارد
    تاریخ عضویت
    Apr 2009
    نام
    hamadan
    نوشته ها
    3
    تشکر
    0
    تشکر شده 12 بار در 2 پست

    پیش فرض

    من با بسكام كار نكردم
    ولي هر كي ميخواد با كدويژن كي ژد 4*4 رو راه بندازه من يه مقاله نسبتا كامل در اين رابطه تهيه كردمُ لينكشو براتون ميزارم اميدوارم كه به در دتون بخوره
    :k00:
    key pad 4*4

  9. تشکرها از این نوشته :


  10. #7
    Morteza_rk
    Guest

    پیش فرض

    [align=justify:4645071ba9]سلام دوست عزیز

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

    البته تغییر سیم بندی کیپد می تونه خیلی در انجام کار موثر باشه با تغییر ترتیب سیم بندی جای مقدار واقعی ای که کیپد میده عوض میشه،مثلا دکمه ای که در یک سیم بندی عدد یک رو برمیگردوند ممکنه که در سیم بندی دیگه عدد 7 بر گردونه یا در یک سیم بندی دیگه عدد 15 رو برگردونه!

    البته چه در زبان C و چه در زبان Basic برنامه نویس ازین جهت مشکلی نداره ، چون میشه با تعریف یه آرایه در زبان C یا یک جدول Lookup در زبان Basic این مقادیر رو به مقادیر دلخواه تبدیل کرد.

    بنظر من بهترین راه برای خارج شدن از این سردرگمی اینه که شما یه سیم بندی انتخاب کنید و با استفاده از دستور getkbd مقدار واقعی همه ی کلیدها رو استخراج کنید و در انتها با تشکیل یک جدول Lookup یا دستور Select Case این مقدارهای واقعی رو به مقدارهای مورد نظرتون تبدیل کنید.

    برای راهنمایی بیشتر شکل زیر رو در نظر بگیرید (البته مقادیر سخت افزاری کاملا فرضی هستن):[/align:4645071ba9]



    [align=justify:4645071ba9]حالا برای رسیدن به مقادیر دلخواه شما می تونید از جدول Lookup یا دستور Select Case استفاده کنید.[/align:4645071ba9]

    موفق باشید.

  11. #8
    عضو جدید
    تاریخ عضویت
    Nov 2009
    نوشته ها
    11
    تشکر
    0
    تشکر شده 19 بار در 7 پست

    پیش فرض

    سلام با این برنامه خیلی ساده میتونی ببینی با فشار دادن هر کلید چه عددی دیده میشه



    regfile = "m16def.dat$
    $crystal = 8000000
    Dim A As Byte
    Config Kbd = Portd
    Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , _
    Db7 = Porta.7 , Rs = Porta.0 , E = Porta.1
    Config Lcd = 16 * 2
    Do
    A = Getkbd()
    If A <> 16 Then
    Lcd A
    Waitms 40
    End If
    Cls
    Loop
    که از بالا سمت چپ به این ترتیبه
    0 1 2 3
    4 5 6 7
    8 9 10 11
    12 13 14 15
    اینا عددهایی هستن که روی ال سی دی میبینی
    یعنی اگه رو صفحه کلید عدد 1 رو فشار بدی روی ال سی دی عدد 3 رو نشون میده
    و یا اگه روی صفحه کلید عدد 8 رو فشار بدی روی ال سی دی عدد 10 رو نشون میده
    همون طور که دوستمون گفت برای اینکه عدد درست رو بدست بیاری باید از lookup استفاده کنی
    مثل این
    regfile = "m16def.dat"
    $crystal = 8000000
    Dim A As Byte
    Dim I As Byte
    Config Kbd = Portd
    Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , _
    Db7 = Porta.7 , Rs = Porta.0 , E = Porta.1
    Config Lcd = 16 * 2
    Do
    A = Getkbd()
    If A <> 16 Then
    I = Lookup(a , Lable)
    Lcd I
    Waitms 40
    End If
    Cls
    Loop
    End

    Lable:
    Data 10 , 3 , 2 , 1 , 11 , 6 , 5 , 4 , 12 , 9 , 8 , 7 , 12 , 13 , 0 , 15
    البته با این سیم بندی که فرستادم امتحان کنید
    و اینکه اگه کلیدی رو فشار ندید تابع getkbd عدد 16 رو برمیگردونه
    موفق باشید

  12. تشکرها از این نوشته :


  13. #9
    مدیر باز نشسته هنرفر آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    اصفهان
    نوشته ها
    408
    تشکر
    372
    تشکر شده 311 بار در 154 پست

    پیش فرض

    دوست عزیز اگه میشه یه برنامه صفحه کلید به همراه فایل پروتوسش را بزارید ما که نفهمیدیم چطوری باید سخت افزار صفحه کلید را برای دستور getkbd ببندیم.
    جوان ایرانی زانو نمیزند حتی اگر حتی اگر سقف آسمان کوتاه تر از قدش باشد....

    iran-ehda.ir


  14. #10
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    یعنی توضیحات من در پست 7 کافی نبود؟

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

    شما برای اینکه ببینید لایه ی سخت افزاریتون چه عددی رو بر می گردونه می تونید از برنامه ی اولی که جناب alialaee گذاشتن استفاده کنید. ترتیبی که ایشون برای اعداد گفتن مخصوص سیم بندی خودشون هست که متاسفانه ظاهرا یادشون رفته شماتیکشو بذارن. ولی هیچ عیبی نداره! شما هرطور که راحتی صفحه کلید رو به میکرو وصل کن و با اون برنامه اعداد رو بخون بعد اونارو با جدول Look up به میلت خودت تنظیم کن.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  15. #11
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    یعنی توضیحات من در پست 7 کافی نبود؟

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

    شما برای اینکه ببینید لایه ی سخت افزاریتون چه عددی رو بر می گردونه می تونید از برنامه ی اولی که جناب alialaee گذاشتن استفاده کنید. ترتیبی که ایشون برای اعداد گفتن مخصوص سیم بندی خودشون هست که متاسفانه ظاهرا یادشون رفته شماتیکشو بذارن. ولی هیچ عیبی نداره! شما هرطور که راحتی صفحه کلید رو به میکرو وصل کن و با اون برنامه اعداد رو بخون بعد اونارو با جدول Look up به میلت خودت تنظیم کن.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  16. #12
    مدیر باز نشسته masoodhashemy آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    بوشهر - نام: علیرضا.غ
    نوشته ها
    328
    تشکر
    212
    تشکر شده 593 بار در 145 پست

    پیش فرض

    این پست رو زمانی نوشته بودم که تازه avr شروع کرده بودم و بعدا خودم با 100 تا مصیبت فهمیدم.
    باز هم ممنون چون اگر کسی در این زمینه مشکل داشته باشه، مشکلش حل میشود.
    خنده بر لب میزنم تا کس نداند راز من.........ورنه این دنیا که ما دیدیم خندیدن نداشت
    وبلاگ شخصی

  17. تشکرها از این نوشته :


  18. #13
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    سلام. دوست عزيز بنامه اي رو كه شما ميخواستيد من نوشتم و شبيه سازي كردم اميد وارم كه به دردتون بخوره
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: zip kbd.zip (20.3 کیلو بایت, 344 نمايش)

  19. #14
    مدیر باز نشسته هنرفر آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    اصفهان
    نوشته ها
    408
    تشکر
    372
    تشکر شده 311 بار در 154 پست

    پیش فرض

    میشه بگید چرا از صفحه کلید استفاده نکردید.دلیل خاصی داشته؟من همون برنامه را با صفحه کلید بستم ولی بازم مشکل داره.اینم برنامه و فایل پروتوس.
    8o
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar kbd1.rar (36.5 کیلو بایت, 154 نمايش)
    جوان ایرانی زانو نمیزند حتی اگر حتی اگر سقف آسمان کوتاه تر از قدش باشد....

    iran-ehda.ir


  20. تشکرها از این نوشته :


  21. #15
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    فك كنم ايراد از پروتيوس باشه چون قبلا كه از پروتيوس ورژن پايين تر استفاده ميكردم كمتر به همچين مشكلي برميخوردم

  22. تشکرها از این نوشته :


  23. #16
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    دوستان ، من یه برنامه ی خیلی ساده با بسکام نوشتم و فایل شبیه سازی با پروتیوس رو هم گذاشتم. فقط یه نکته ی جالب وجود داره و اونم این که در ورژن های قبلی لازم نبود برای کی پد مقاومت بذاری ولی مثل اینکه در ورژن 7.6 این کار ضروریه! از طرفی حتما باید در هر دو طرف سطرها و ستون ها مقاومت گذاشت وگرنه شبیه سازی چیزای بیخود نشون میده!

    حالا من برنامه و فایل پروتیوس رو میذارم تا خودتون ببینید. کار می کنه ولی با 8 تا مقاومت.
    فايل هاي پيوست شده فايل هاي پيوست شده
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  24. کاربران : 6 تشکر کرده اند از شما morteza_rk برای ارسال این پست سودمند:


  25. #17
    مدیر باز نشسته هنرفر آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    اصفهان
    نوشته ها
    408
    تشکر
    372
    تشکر شده 311 بار در 154 پست

    پیش فرض

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

    iran-ehda.ir


  26. #18
    کاربر فعال Elec_l0vE آواتار ها
    تاریخ عضویت
    Feb 2010
    نوشته ها
    206
    تشکر
    272
    تشکر شده 47 بار در 34 پست

    پیش فرض

    بازم خدا خيرت بده يكي پيدا شد مشكل كي پد رو حل كنه . فقط چه جوري ميشه اعداد رو كنارش گذاشت . اين اعداد قبلي رو پاك ميكنه با زدن هركليد

  27. #19
    مدیر باز نشسته هنرفر آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    اصفهان
    نوشته ها
    408
    تشکر
    372
    تشکر شده 311 بار در 154 پست

    پیش فرض

    کافیه cls و home داخل برنامه را پاک کنی اونوقت اعداد به ترتیب کنار هم نوشته میشند
    ویرایش توسط هنرفر : 19-04-2010 در ساعت 01:11
    جوان ایرانی زانو نمیزند حتی اگر حتی اگر سقف آسمان کوتاه تر از قدش باشد....

    iran-ehda.ir


  28. تشکرها از این نوشته :


  29. #20
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    نقل قول نوشته اصلی توسط elec_l0ve نمایش پست ها
    فقط چه جوري ميشه اعداد رو كنارش گذاشت . اين اعداد قبلي رو پاك ميكنه با زدن هركليد
    منظور شما اينه كه مثلا اگه دو بار 5 رو زديم 55 نشون بده؟؟

صفحه 1 از 2 12 آخرینآخرین

موضوعات مشابه

  1. برنامه کیپد 4*4
    توسط payameashena در انجمن AT91 series (ATMEL)
    پاسخ: 0
    آخرين نوشته: 09-11-2013, 20:29
  2. درخواست برنامه کیپد 4*4
    توسط payameashena در انجمن AT91 series (ATMEL)
    پاسخ: 4
    آخرين نوشته: 25-10-2013, 00:12
  3. مشکل با کیپد 4*4
    توسط payameashena در انجمن AT91 series (ATMEL)
    پاسخ: 3
    آخرين نوشته: 20-09-2013, 22:40
  4. مشکل با تایمر 0 و کیپد!
    توسط behnam6500 در انجمن AVR
    پاسخ: 2
    آخرين نوشته: 19-04-2013, 19:59
  5. مشکل با کیپد
    توسط M3R در انجمن AT91 series (ATMEL)
    پاسخ: 1
    آخرين نوشته: 01-08-2010, 12:12

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •