اطلاعیه

Collapse
No announcement yet.

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

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

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

    سلام، من هر برنامه ای برای کار با کیبورد ماتریسی تو AVR می نویسم کار نمی کنه این یه نمونه از برنامه هاییه که نوشتم:
    "
    $regfile = "m32def.dat"
    $crystal = 8000000
    Config Portb = Input
    Config Portd = Output
    Config Lcd = 20 * 4
    Config Lcdpin = Pin , Db4 = Pind.0 , Db5 = Pind.1 , Db6 = Pind.2 , Db7 = Pind.3 , Rs = Pind.4 , E = Pind.5
    Config Kbd = Port C , Debounce = 50 , Delay = 100
    Dim A As Byte
    Do
    A = Getkbd()
    Loop Until A <> 16
    Lcd A

    ولی آخرش کلی اخطار میده معمولا eror 202 و eror 1 میاد که همشم در رابطه با خط آخره
    لطفا کمکم کنید، ممنونم




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

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

    سلام
    من یه برنامه با زبان c محیط code vision دارم اگه میخوایی بگو تا بهت بدم
    علم و عمل پیوند نزدیک دارند , و کسی که دانست باید به آن عمل کند. چرا که علم عمل را فرا خواند, اگر پاسخش داد میماند و گر نه کوچ میکند. امام علی (ع)

    دیدگاه


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

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

      دیدگاه


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

        مگه نمیخای روی avr بریزی کدویژن یه محیطیه که میتونی با اون این کار رو بکنی والا من محیطavr رو نشنیدم یا حداقل تا الان نشنیدم oo:
        علم و عمل پیوند نزدیک دارند , و کسی که دانست باید به آن عمل کند. چرا که علم عمل را فرا خواند, اگر پاسخش داد میماند و گر نه کوچ میکند. امام علی (ع)

        دیدگاه


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

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

          دیدگاه


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

            نوشته اصلی توسط afza_saeghe
            پس ممنون میشم اگه این برنامه رو به من بدی
            ببخشید من پست شما رو ندیدم واقعا معذرت میخوام .
            برنامه ای که فرستادم شامل برنامه کیبورد هست که عدد فشار داده شده توسط کیبورد را روی سون سگمنت نمایش میده این برنامه رو میتونی روی ال سی دی هم نمایش بدی فقط کافیه که دستوراتش رو عوض کنی این برنامه در محیط کدویژن نوشته شده با تابع اگه سوالی داشتید بپرسید امیدوارم که دیر نشده باشه.#include <mega32.h>
            #include <delay.h>
            flash char catod[10]={192,249,164,176,153,146,130,248,128,144};
            flash char anod[8]={254,253,251,247,239,223,191,127};
            flash KBREF[4]={0b11101111,0b11011111,0b10111111,0b01111111};
            void main(void)
            {
            char KB=16,i,j,numold=16,numnew;
            char seg[8]={0,0,0,0,0,0,0,0};
            DDRD=0b11110000; PORTD=255;
            while(1)
            {
            numnew=16;
            for (i=0;i<4;i++)
            {PORTD=KBREF[i];
            delay_ms(5);
            KB=(~PIND)&15;
            if (KB==1) numnew=4*i;
            if (KB==2) numnew=4*i+1;
            if (KB==4) numnew=4*i+2;
            if (KB==8) numnew=4*i+3;
            if (numnew !=16){
            seg[7]=seg[6];
            seg[6]=seg[5];
            seg[5]=seg[4];
            seg[4]=seg[3];
            seg[3]=seg[2];
            seg[2]=seg[1];
            seg[1]=seg[0];
            }
            if (numnew =16) numold=16;
            }
            }
            }
            علم و عمل پیوند نزدیک دارند , و کسی که دانست باید به آن عمل کند. چرا که علم عمل را فرا خواند, اگر پاسخش داد میماند و گر نه کوچ میکند. امام علی (ع)

            دیدگاه


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

              سلام

              $regfile = "m32def.dat"
              $crystal = 8000000
              Config Portb = Input
              Config Portd = Output
              Config Lcd = 20 * 4
              Config Lcdpin = Pin , Db4 = Pind.0 , Db5 = Pind.1 , Db6 = Pind.2 , Db7 = Pind.3 , Rs = Pind.4 , E = Pind.5
              Config Kbd = Port C , Debounce = 50 , Delay = 100
              Dim A As Byte
              Do
              A = Getkbd()
              Loop Until A <> 16
              Lcd A
              دوست عزیز یه نگاهی بنداز کیبورد رو وصل کردی به پورت c و حتما هم jtag ش فعاله نه؟!
              jtag رو غیر فعال کن درست میشه :smile:

              دیدگاه

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