اطلاعیه

Collapse
No announcement yet.

کمک در اتصال avr به keypad4*4!!!!!

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کمک در اتصال avr به keypad4*4!!!!!

    سلام دوستان خوبید؟؟؟؟

    میخواستمک یه keypad 4*4 به avr وصل کنم ولی هرکاری کردم نشد!!!!

    تمام کارهایی که در کتاب کاهه گفته بود رو انجام دادم بازم نشد :eek:

    می خوام keypad رو بخونم بعد اعدادو روی lcd نمایش بدم.

    اگه نکته خاصی داره لطفا کمکم کنید.

    ممنون میشم.
    majid_valentin بی پرواست.جسورانه می پرسد.رودروایسی ندارد.هر چه دلش خواست می گوید!!
    اهل مراعات نیست.
    معنی ساخت و پاخت را نمیداند.
    بزرگ و کوچک را نمیشناسد ..
    بی باکی را یواشکی آموخته. در تاریکی می نشیند و روشنایی را می پاید.
    پر انرژی و با نشاط است واز سانسور و فیلترینگ غمین است نیش دارند اما آزار ندارد!!!!

    #2
    پاسخ : کمک در اتصال avr به keypad4*4!!!!!

    نوشته اصلی توسط majid_valentine
    سلام دوستان خوبید؟؟؟؟

    میخواستمک یه keypad 4*4 به avr وصل کنم ولی هرکاری کردم نشد!!!!

    تمام کارهایی که در کتاب کاهه گفته بود رو انجام دادم بازم نشد :eek:

    می خوام keypad رو بخونم بعد اعدادو روی lcd نمایش بدم.

    اگه نکته خاصی داره لطفا کمکم کنید.

    ممنون میشم.
    سخت افزارتونو مثل صفحه 175 کتاب کاهه ببندید و نرم افزارتون را بزارید تا با هم بررسی کنیم

    موفق باشید

    دیدگاه


      #3
      پاسخ : کمک در اتصال avr به keypad4*4!!!!!

      سلام مجید جان خوبی؟؟؟
      آقا مشکلم رفع شد.
      فقط یه سوال خدمتتون داشتم:

      مقاومت های که تو کتاب کاهه بین keypad و میکرو گذاشته به کیلو هست یا به اهم؟؟؟

      و اصلا این مقاومت ها ررو حتما باید گذاشت؟؟؟؟

      مر30 از توجهتون
      majid_valentin بی پرواست.جسورانه می پرسد.رودروایسی ندارد.هر چه دلش خواست می گوید!!
      اهل مراعات نیست.
      معنی ساخت و پاخت را نمیداند.
      بزرگ و کوچک را نمیشناسد ..
      بی باکی را یواشکی آموخته. در تاریکی می نشیند و روشنایی را می پاید.
      پر انرژی و با نشاط است واز سانسور و فیلترینگ غمین است نیش دارند اما آزار ندارد!!!!

      دیدگاه


        #4
        پاسخ : کمک در اتصال avr به keypad4*4!!!!!

        من کتاب رو ندارم ولی مقاومت بین میکرو و صفحه کلید فکر نکنم لازم باشه .
        مقدار مقاومت رو بگین میشه گقفت تو چه رنجی هست.
        I ❤️ ECA

        دیدگاه


          #5
          پاسخ : کمک در اتصال avr به keypad4*4!!!!!

          همانطور که آقای بلورچیان اشاره کردند

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

          مقدار 470 اهم است

          موفق باشید

          دیدگاه


            #6
            پاسخ : کمک در اتصال avr به keypad4*4!!!!!

            سلام دوستان خوبید؟

            از توجهتون ممنون.

            من مدارو بستم البته بدون مقاومت و جواب گرفتم.

            ولی یه سری مشکلات پیش اومد که در زیر مینویسم اگه کمک کنید ممنون میشم.

            اولا سرعت نمایش کاراکتر ها خیلی کم هست من چندین مقدار delayو deboince رو امتهان کردم ولی تاثیری نداشت.

            دوما در هنگام شروع یه کاراکتر نامفهوم در سطر و ستون اول ظاهر میشم که هر کاری میکنم نمیره!!!

            برای امتهان من کد زیر رو نوشتم:

            $regfile = "m32def.dat"
            $crystal = 1000000
            Config Lcdpin = Pin , Db4 = Pinb.4 , Db5 = Pinb.5 , Db6 = Pinb.6 , Db7 = Pinb.7_
            , E = Pinb.3 , Rs = Pinb.2
            Config Lcd = 16 * 2
            Config Lcdbus = 4
            Config Kbd = Portd , Debounce = 40 , Delay = 100
            Dim A As Word

            Do
            Again:
            A = 0
            A = Getkbd()
            If A = 16 Then Goto Again
            Lcd A
            Loop
            End 'end program
            majid_valentin بی پرواست.جسورانه می پرسد.رودروایسی ندارد.هر چه دلش خواست می گوید!!
            اهل مراعات نیست.
            معنی ساخت و پاخت را نمیداند.
            بزرگ و کوچک را نمیشناسد ..
            بی باکی را یواشکی آموخته. در تاریکی می نشیند و روشنایی را می پاید.
            پر انرژی و با نشاط است واز سانسور و فیلترینگ غمین است نیش دارند اما آزار ندارد!!!!

            دیدگاه


              #7
              پاسخ : کمک در اتصال avr به keypad4*4!!!!!

              4 تا مقاومت pullup داره فقط اونارو هم 5.6 بزار دیگه هیچ مقاومتی نزار .
              A-Hosseini

              دیدگاه


                #8
                پاسخ : کمک در اتصال avr به keypad4*4!!!!!

                نوشته اصلی توسط majid_valentine
                سلام دوستان خوبید؟

                از توجهتون ممنون.

                من مدارو بستم البته بدون مقاومت و جواب گرفتم.

                ولی یه سری مشکلات پیش اومد که در زیر مینویسم اگه کمک کنید ممنون میشم.

                اولا سرعت نمایش کاراکتر ها خیلی کم هست من چندین مقدار delayو deboince رو امتهان کردم ولی تاثیری نداشت.

                دوما در هنگام شروع یه کاراکتر نامفهوم در سطر و ستون اول ظاهر میشم که هر کاری میکنم نمیره!!!

                برای امتهان من کد زیر رو نوشتم:

                $regfile = "m32def.dat"
                $crystal = 1000000
                Config Lcdpin = Pin , Db4 = Pinb.4 , Db5 = Pinb.5 , Db6 = Pinb.6 , Db7 = Pinb.7_
                , E = Pinb.3 , Rs = Pinb.2
                Config Lcd = 16 * 2
                Config Lcdbus = 4
                Config Kbd = Portd , Debounce = 40 , Delay = 100
                Dim A As Word

                Do
                Again:
                A = 0
                A = Getkbd()
                If A = 16 Then Goto Again
                Lcd A
                Loop
                End 'end program
                اصولا سرعت نمایش در LCD کم است . ولی همانطور که فرمودید با تغییرات در delay و debounce میتوانید آنرا بهینه کنید .

                قبل از دستور LCD A ، از CLS استفاده نمایید

                موفق و پیروز باشید

                دیدگاه


                  #9
                  پاسخ : کمک در اتصال avr به keypad4*4!!!!!

                  تو codevision نیازی به تغییر delay و debounce نیست واسه منم سوال بود این تیکش.....
                  متشکر
                  I ❤️ ECA

                  دیدگاه


                    #10
                    پاسخ : کمک در اتصال avr به keypad4*4!!!!!

                    سلام دوستان مرسی از راهنماییتون.

                    یه سوال خدمتتون داشتم:

                    در bascom دستوری برای پاک کردن فقط یک کاراکتر وجود داره؟؟؟؟؟؟؟؟

                    و همین طور دستوری وجود داره که فقط یک سطر رو به سمت چپ یا راست شیفت بده نه تمام lcd رو؟؟؟؟

                    ممنون از راهنمایهاتون.
                    majid_valentin بی پرواست.جسورانه می پرسد.رودروایسی ندارد.هر چه دلش خواست می گوید!!
                    اهل مراعات نیست.
                    معنی ساخت و پاخت را نمیداند.
                    بزرگ و کوچک را نمیشناسد ..
                    بی باکی را یواشکی آموخته. در تاریکی می نشیند و روشنایی را می پاید.
                    پر انرژی و با نشاط است واز سانسور و فیلترینگ غمین است نیش دارند اما آزار ندارد!!!!

                    دیدگاه


                      #11
                      پاسخ : کمک در اتصال avr به keypad4*4!!!!!

                      dه برنامه ساده میتونید برام با codevision بنویسید
                      برنامه اینه
                      میخوایم با keypad و atmega8 و lcd کارکنیم.
                      که اگر پس از فشار 4 کلید کد 4567 تولید شد رو lcd پیغام ok و در غیر اینصورت false همین
                      پایان فشار اعداد هم با # مشخص بشه
                      لطفا منو بی جواب نزارید

                      دیدگاه


                        #12
                        پاسخ : کمک در اتصال avr به keypad4*4!!!!!

                        سلام
                        چرا خودت رو عذاب میدی.من که این رو تو پروژه ها گذاشتم.100% عملی.میتونی اینتراپتی هم بکنی
                        خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

                        دیدگاه


                          #13
                          پاسخ : کمک در اتصال avr به keypad4*4!!!!!

                          برنامشو رو میخوام هر جور که هست بده

                          دیدگاه


                            #14
                            پاسخ : کمک در اتصال avr به keypad4*4!!!!!

                            صفحه کلید 4*4 یا 3*4 را به راحتی در هر نوع میکرو اسکن میکند
                            فقط نسبت به کارتون باید پرتش رو تغییر بدین.این تابع ( get_key ) رو برای صفحه کلید استاندارد 4*4 نوشتم که بعلاوه اعداد صفر تا نه 6 کلید دیگه داره که به ترتیب زیر مقدار هایی رو بر میگردونه:

                            F1 = 11
                            F2 = 12
                            F3 = 13
                            F4 = 14
                            Enter = 15
                            Set = 16
                            اعداد = خود عدد
                            فقط پرتی که از اون به عنوان اسکن صفحه کلید استفاده میکنید باید به صورت زیر تعریف بشه:

                            Px0...Px3 = out 0
                            Px4...Px7 = in P

                            از این تابع میتونید از صفحه کلید 3*4 هم استفاده کنید

                            اینم شمای مدار و یه مدار در پرتئوس و برنامه :

                            http://www.savefile.com/files/1123409



                            اگه اینتراپتیشم میخوای بگو برات بزارم
                            خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

                            دیدگاه


                              #15
                              پاسخ : کمک در اتصال avr به keypad4*4!!!!!

                              با سلام
                              دوست عزیز
                              توی برنامه ات به جای نوع WORD برای A از نوع BYTE استفاده بکن
                              ضمنا فرکانس کریستالت ( احتمالا از داخلی استفاده کردی) رو روی 16 مگاهرتز بذار و از کریستال خارجس استفاده بکن
                              در مورد مقاومت ها توی کد ویژن من از مقاومت داخلی واسه ستونهای که ورودی هستند استفاده می کنم توی بسکام هم درسته شما از CONFIG استفاده کردی اون پین های ورودی رو می تونی مقاومتشون رو فعال بکنی تا به مقاومت نیازی نداشته باشی
                              اگه خواستی من یه کتابخونه اوسه کی بورد 4در 4 دارم که توی سی می تونی راحت با اون با کی بورد کار بکنی

                              توی کدویژن هم معمولا وقتی کی بورد خونده میشه یه تاخیر 20 میلی ثانیه ای واسه رفع حالات گذار کلیدهای می ذارند
                              این مسله رو می تونی با استفاده از 4 تا دیود ( یا یه دونه دیود ) 1N4007 و یه خازن 1 میکرفارادی و مقاومت 1کیلو اهمی حل بکنی
                              دوست عزیز شما وقتی با دستور LCD کار می کنی بدون اینکه نیاز داشته باشی برنامه متغییر عدی شما رو به کاراکتر تبدیل می کنه روی ال سی دی نمایش می ده
                              شما واسه این کار می تونی اول یه ارایه تعریف بکنی اعدادتو روی اون بریزی بعد به وسیله یه متغییر که شماره های اندیس های این آرایه رو داره هر جائی که هستی اعداد قبلی رو به نوبت پاک بکنی
                              باری نمایش هم کافیه همین آرایه رو روی ال سی دی بفرستی ( این یکی رو تست نکردم ولی عملیه به نظر می رسه شرمنده اگه اشتباه باشه ببخشید )

                              دیدگاه

                              لطفا صبر کنید...
                              X