اطلاعیه

Collapse
No announcement yet.

برنامه کیبورد 8*8

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

    برنامه کیبورد 8*8

    دوستان سلام
    بنده نیازمند برنامه اسکن صفحه کلید ماتریسی 8*8 هستم تابحال کسی نوشته
    کمپایلر برنامه نویسیم هم بسکام هست

    #2
    پاسخ : برنامه کیبورد 8*8

    کد:
    
    /*
    
    
    #define  port_key PORT x   
    #define  pin_key  PIN x
    #define  ddr_key  DDR x  
    
    
    */
    
    
    
    
    
    
    
    
    char key_code[4][4]={{13,14,0,15},{12,9,8,7},{11,6,5,4},{10,3,2,1}};
    
    
    
    
    char scan_key(void){
    	char key; 
    char colom,row;  
    if(pin_key!=0xf0){
    ddr_key=0x0f;
    port_key=0xf0;
    delay_ms(10);
    if (pin_key == 0B01110000)row=0;
    if (pin_key == 0B10110000)row=1;
    if (pin_key == 0B11010000)row=2;
    if (pin_key == 0B11100000)row=3;
    ddr_key=0xf0;
    port_key=0x0f;
    delay_ms(10);
    if (pin_key == 0B00000111)colom=0; 
    if (pin_key == 0B00001011)colom=1;
    if (pin_key == 0B00001101)colom=2;
    if (pin_key == 0B00001110)colom=3;
    key=key_code[colom][row];
    
    
    delay_ms(10);
    ddr_key=0x0f;
    port_key=0xf0;
    while(pin_key!=0xf0);
    return key;
     }
    }

    دیدگاه


      #3
      پاسخ : برنامه کیبورد 8*8

      ممنونم اما

      بنده عرض کردم صفحه کلید 8*8 نه 4*4
      بنده عرض کردم کمپایلر بسکام نه کدویژن

      دیدگاه


        #4
        پاسخ : برنامه کیبورد 8*8

        این کد راحت میشه 8*8 کرد . شما اگه بلد باشی که کیبورد به چه شکل درایو میکنند خودت میتونی برنامه بنویسی

        دیدگاه


          #5
          پاسخ : برنامه کیبورد 8*8

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

          دیدگاه


            #6
            پاسخ : برنامه کیبورد 8*8

            نوشته اصلی توسط Parham1363 نمایش پست ها
            دوستان سلام
            بنده نیازمند برنامه اسکن صفحه کلید ماتریسی 8*8 هستم تابحال کسی نوشته
            کمپایلر برنامه نویسیم هم بسکام هست
            دوسته عزیز خود کامپایلر بسکام قابلیت تشخیص کیبورد رو داره ، البته از نوع 4*4 .
            حالا شما میتونید کیبورد 8*8 رو دو 4*4 در نظر بگیرید و اتصال بدید به دوتا از پورت میکرو ، بعد بیاید مقدار هر کیبورد رو بریزید داخل دوتا متغییر مختلف و بعد از طریق کد نویسی بیاید کنترلش کنید.
            کد:
            Config Kbd = Portb
            
            
            Dim B As Byte
            
            Do
            
             B = Getkbd()
            
            Print B
            
            Loop
            
            End
            این کد برای یه کیبورد 4*4 هست .
            برای اطلاعات بیشتر میتونید از مسیر Help/index بسکام با تایپ getkbd به صفحه موردنظر مراجعه کنید.
            به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
            (پيش به سوي هدف)

            دیدگاه


              #7
              پاسخ : برنامه کیبورد 8*8

              نوشته اصلی توسط hosseinam نمایش پست ها
              دوسته عزیز خود کامپایلر بسکام قابلیت تشخیص کیبورد رو داره ، البته از نوع 4*4 .
              حالا شما میتونید کیبورد 8*8 رو دو 4*4 در نظر بگیرید و اتصال بدید به دوتا از پورت میکرو ، بعد بیاید مقدار هر کیبورد رو بریزید داخل دوتا متغییر مختلف و بعد از طریق کد نویسی بیاید کنترلش کنید.
              ..........
              ..........
              ..........
              این کد برای یه کیبورد 4*4 هست .
              برای اطلاعات بیشتر میتونید از مسیر Help/index بسکام با تایپ getkbd به صفحه موردنظر مراجعه کنید.
              اینکار عملی نیست. با فرض عملی بودنش هم 2تا کیبورد 4*4 رو میتونیم به این روش کانفیگ کنیم که میشه 4*8
              ساختار ماتریسی 4*4 با 8*8 برای اتصال به 2تا پورت یکسان نیست

              دیدگاه


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

                یه چیزی گفتیا . آخه چه فرقی داره . 4*4 یک پورت استفاده میشه 8*8 دو تا پورت .
                یکی از پورت هاتو ورودی و پول اپ کن و دومین پورت خروجی و 0
                حالا باید ببینی پورتی که همش 1 بوده تغییری کرده در صورتی که FF نبود پس یک کلید زده شده
                شما دونه دونه پین هاتو چک کن هر کدوم که مشخص شد زده شده مثلا پین B.2 شما عدد 2 بزار توی یک رجیستر
                حالا سریع بیا جای دو تا پورت عوض کن
                اون که 1 بود 0 کن و اونی که 1 بود 0 خروجی کن دقیقا معکوسش
                حالا شروع کن پین به پین چک کن ببین کدوم یکی از این پورتد 0 شده مثلا پورت A.6 که شما عدد 6 داخل یک رجیستر دیگه میریزی
                حالا شما X و Y داری
                از جدولی که درست میکنی عدد کلید مورد نظر میخونی . همین

                دیدگاه


                  #9
                  پاسخ : برنامه کیبورد 8*8

                  نوشته اصلی توسط sepehr63 نمایش پست ها
                  یه چیزی گفتیا . آخه چه فرقی داره . 4*4 یک پورت استفاده میشه 8*8 دو تا پورت .
                  بنده بر اساس قابلیت خود بسکام گفتم که دستور مستقیم خوندن کیبورد ماتریسی 4*4 رو داره . یعنی دستور Config KBD = PORTB مثلا. و از طریق 2 تا کانفیگ نمیشه اونو 8*8 کرد

                  بله اساس کار اسکن صفحه کلید رو میدونم. گفتم ببینم کسی کد آماده داره یا نه

                  بهرحال ممنونم از همه دوستان که اومدن و وقت گذاشتن اما فکر کنم خودم باید بنویسم.....
                  جدیدترین ویرایش توسط Parham1363; ۱۵:۴۷ ۱۳۹۵/۰۶/۲۴.

                  دیدگاه

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