اطلاعیه

Collapse
No announcement yet.

خواندن کیبرد

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

    خواندن کیبرد

    سلام
    یه برنامه می خوام که با مگا 64 بتونه کیبرد کامپیوتر رو بخونه البته نمی خوام از اینتراپت استفاده کنه
    تمام برنامه های اینجا رو دیدم ولی کار نکردن

    #2
    پاسخ : خواندن کیبرد

    کسی حرفی واسه گفتن نداره؟
    :angry:

    دیدگاه


      #3
      پاسخ : خواندن کیبرد

      سلام دوست عزیز
      آخه من هرچی دیدم با اینتراپت بوده
      با مد آسنکرون پورت سریال نمیشه اطلاعاتشو خوند؟
      در دیر مغان آمد یارم قدحی در دست
      مست از می می خواران از نرگس مستش مست

      دیدگاه


        #4
        پاسخ : خواندن کیبرد

        نوشته اصلی توسط gbg
        سلام
        یه برنامه می خوام که با مگا 64 بتونه کیبرد کامپیوتر رو بخونه البته نمی خوام از اینتراپت استفاده کنه
        تمام برنامه های اینجا رو دیدم ولی کار نکردن
        سلام
        چرا از وقفه استفاده نمی کنید؟؟؟ احتمالا وقفه ها رو برای کارای دیگه ای در نظر گرفتی؟؟
        اگه اره بگو واسه چه کاری ولی می تونی خیلی ساده با چند تا حقه باز با همون دو تا وقفه خود مثلا مگا 32 کار خودتون رو توی چند حالت خاص انجام بدید
        شما بگی هدفت چیه اونوقت راحت تر میشه جواب دادن
        موفق باشی

        دیدگاه


          #5
          پاسخ : خواندن کیبرد

          سلام دوست عزیز
          من یه برنامه میدم که به زبان C است و در کدویژن کار می کنه


          #define MaxRow 4
          #define MaxCol 4
          #define NoK 255
          #define KeyOutPrt PORTB
          #define KeyInPrt PINB
          unsigned char GKey(void)
          {
          unsigned char Col, Row, tmp;
          unsigned char temp1[MaxCol] = {0x7F, 0xBF, 0xDF, 0xEF};
          unsigned char temp2[MaxRow] = {0xF7, 0xFB, 0xFD, 0xFE};
          tmp = KeyInPrt & 0x0F;
          if (tmp == 0x0F)
          return(NoK);
          delay_ms(18);
          tmp = KeyInPrt & 0x0F;
          if (tmp == 0x0F)
          return(NoK);
          for (Col = 0; Col < MaxCol; Col++)
          {
          KeyOutPrt = temp1[Col];
          for (Row = 0; Row < MaxRow; Row++)
          {
          tmp = KeyInPrt | 0xF0;
          if (tmp == temp2[Row])
          {
          PORTB=0x0F;
          return(Row * MaxCol + Col);
          }
          }
          }
          }

          دیدگاه


            #6
            پاسخ : خواندن کیبرد

            برنامه بالا برای خواندن کیبورد 4*4 است
            با کم و زیاد کردن ثابت های سطر و سطون میتوانید کیبورد ماتریسی دلخواه خود را بخوانید
            یک برنامه هم برایه خواندن کلید های تکی که به پایه های میکرو وصل میشه
            کد:
            #define MaxRow   4
            #define MaxCol   4
            #define NoK    255
            #define KeyOutPrt PORTB
            #define KeyInPrt  PINB
            unsigned char GKey(void)
            {
              unsigned char Col, Row, tmp;
              unsigned char temp1[MaxCol] = {0x7F, 0xBF, 0xDF, 0xEF};
              unsigned char temp2[MaxRow] = {0xF7, 0xFB, 0xFD, 0xFE};
              tmp = KeyInPrt & 0x0F;
              if (tmp == 0x0F)
                return(NoK);
              delay_ms(18);
              tmp = KeyInPrt & 0x0F;
              if (tmp == 0x0F)
                return(NoK);
              for (Col = 0; Col < MaxCol; Col++)
              {
                KeyOutPrt = temp1[Col];
                for (Row = 0; Row < MaxRow; Row++)
                {
                 tmp = KeyInPrt | 0xF0;
                 if (tmp == temp2[Row])
                 {
                   PORTB=0x0F;
                   return(Row * MaxCol + Col);
                 }
                }
              }
            }

            دیدگاه


              #7
              پاسخ : خواندن کیبرد

              سلام C# Arash عزیز
              این دوستمون نوشتن که کیبرد کامپیوتر:
              نوشته اصلی توسط gbg
              سلام
              یه برنامه می خوام که با مگا 64 بتونه کیبرد کامپیوتر رو بخونه البته نمی خوام از اینتراپت استفاده کنه
              تمام برنامه های اینجا رو دیدم ولی کار نکردن
              موفق باشی
              در دیر مغان آمد یارم قدحی در دست
              مست از می می خواران از نرگس مستش مست

              دیدگاه


                #8
                پاسخ : خواندن کیبرد

                سلام
                برنامه درسته ولی وقع ازافه کردن تو سایت برنامه به هم میخوره
                اگه میشه به من یاد بدین که چطور میشه خود فایل را در سایت گذاشت
                متشکرم
                ( link )

                دیدگاه


                  #9
                  پاسخ : خواندن کیبرد

                  در ضمن برای خواندن کیبورد کامپیوتر متونه از پورت سریال استفاده کنه
                  بدین صورت که پورت سریال میرو را به صورت سنکرون وصل کنه و با انتراپت دیتارا بخواند

                  دیدگاه


                    #10
                    پاسخ : خواندن کیبرد

                    سلام
                    متاسفانه برد من آماده شده از وقفه هام توش استفاده کردم
                    خود دستگاه یه کی پد16 تای داره ولی مشتری میگه کارکردن سخته و می خواد از کیبرد کامپیوتر استفاده کنه
                    متاسفانه امکان اضافه کردن وقفه به روی بردم هم وجود نداره و متاسفانه کارم گیر کرده بد جور
                    شنبه باید تحویل بدم :angry:
                    آخه یکی نیست به من بگه برنامه نویس رو چه به طراحی سخت افزار :cry2: یکی پیدا نمیشه بزنه پس گردن من

                    دیدگاه


                      #11
                      پاسخ : خواندن کیبرد

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

                      دیدگاه


                        #12
                        پاسخ : خواندن کیبرد

                        دوست عزیز از انتراپت خود سریال استفاده کن داخلی
                        تنها باید این کارو بکنی
                        برای مثال <atmega32 >

                        KBD Clock --------> Pb0 (TO/XCK) =1
                        GND =2
                        KBD Data -------> Pb0 (TO/XCK) =3
                        NC = 4
                        Vcc +5 ------>Vcc =5
                        NC = 6


                        اگر برنامه تو کودویژن هست این هم نمونه برنامه

                        کد:
                        interrupt [USART_RXC] void usart_rx_isr(void)0
                        }
                          unsigned char buffer;1
                          buffer=UDR;2
                          switch(buffer)3
                          }
                            case 0XF0; ( inter code);4
                            break;5
                            
                          {
                        {
                        void main(void)6
                        }
                        ....
                        UCSRA=0x00;7
                        UCSRB=0X90;8
                        UCSRC=0Xf6;7
                        ....
                        {


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

                        موفق باشید :nice:

                        دیدگاه


                          #13
                          پاسخ : خواندن کیبرد

                          سلام
                          ممنون از راهنمایی دوستان
                          متاسفانه من فقط پورت F رو آزاد دارم و از این پورت استفاده کنم
                          برنامم هم تو کدویژن هستش
                          راستی اگه کسی روش خوندن رو بلده بزاره خودم مینویسم :sad:
                          البته یکی تو سایت atmel بود ولی گنگ بودش :cry:
                          کلاک و دیتاهایی که ارسال میشه چه طوریه ؟
                          کسی می دونه؟
                          :cry2:

                          دیدگاه


                            #14
                            پاسخ : خواندن کیبرد

                            سلام
                            کلاک و دیتا مثل ارتباط سریال سنکرون هست (دیتاشیت)
                            اینم ببین:
                            http://www.computer-engineering.org/ps2keyboard/
                            در دیر مغان آمد یارم قدحی در دست
                            مست از می می خواران از نرگس مستش مست

                            دیدگاه


                              #15
                              پاسخ : خواندن کیبرد

                              ممنون
                              نگاه می کنم
                              من هم یه هفته مهلت گرفتم امیدوارم که بتونم تموم کنم :nerd:

                              دیدگاه

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