اطلاعیه

Collapse
No announcement yet.

اتصال کیبورد کامپیوتر به AVR با برنامه BascomAVR

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

    اتصال کیبورد کامپیوتر به AVR با برنامه BascomAVR

    با سلام خدمت اساتید محترم

    من دارم روی پروژه تابلو روان با LCD 16*2 و Mega32 کار می کنم .
    حالا به مشکلی در اسکن کیبورد کامپیوتر در هنگام نصب به AVR بر خوردم ، می خواستم اگه ممکنه از دوستان محترم کمک بگیرم. :eek:

    برنامه ی که من نوشتم به این صورت عمل میکنه : میاد سطر اول رو پاک میکنه و بعد که در Locate 1,1 قرار گرفت، از کیبورد یک کاراکتر دریافت میکنه و به Locate 1,2 میره و دوباره کلید رو دریافت میکنه ، خلاصه هر با یک شماره به ستون locate اضافه میشه و وقتی به Locate 1,16 رسید ، سطر دوم رو پاک میکنه و همون مراحل قبلی رو این بار در سطر دوم انجام میده :
    :redface:
    Main:
    Home Upper
    Lcd " "
    For A1 = 1 To 16
    Locate 1 , A1
    Call F16
    Waitms 15
    Next A1

    Lowerline
    Lcd " "
    For A1 = 1 To 16
    Locate 2 , A1
    Call F16
    Waitms 15
    Next A1
    jmp main
    End 'end program



    Sub F16
    K = Getatkbd()
    Select Case K:
    Case 50:
    Lowerline
    Case 56:
    Home
    Case 44:
    Cls
    Home
    Case 52:
    Shiftcursor Left
    Case 54:
    Shiftcursor Right
    Case 13:
    Lowerline
    Case 9:
    Shiftcursor Right , 4
    Case 8:
    Shiftcursor Left
    Lcd " ";
    Shiftcursor Left
    Case Else:
    Lcd String(1 , K)
    End Select
    End Sub F16



    Keydata:
    'normal keys lower case
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 27 , 0 , 0 , 0 , 0 , 9 , 9 , &H5E , 0
    Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
    Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0
    Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0
    Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0
    Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0
    Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0
    Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0

    'shifted keys upper case
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0
    Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0
    Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0
    Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0
    Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0
    Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0
    Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0


    • و اما مشکلی که برام پیش اومده اینه که کلیدهای del / Bk Sp و F1 و .... کار نمی کنند و برنامه من فقط اسکن حروف ها رو انجام میده .
    • کلیدهایی مثل Del و بالا و پایین یا حتی کلید enter وقتی زده می شود مکانما یک کاراکتر جلو می رود.
    • و وقتی دکمه Shift هم میزنم باز مکانما یک کاراکتر جلو می رود و بعد از آن تمامی حروف فقط بزرگ چاپ می شوند تااینکه تغذیه AVR رو قطع و وصل کنم
    .
    :twisted:
    ممنون میشم اگه بهم کمک کنید .
    موفق باشید
    Time is jewel

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

    سلام
    اول اینو بگم من بسکام کار نمی کنم
    اما با این برنامه ای که شما نوشتید تا اونجا که من فهمیدم شما هر بار فراخوانی تابع یک کاراکتر به جلو میرید پس جلو رفتن موقع زدن هر کلید تعجب نداره،در صورتی که باید وقتی کاراکتری فشرده میشه یکی به جلو برید(منظورم اینه که کاراکتر حرف یا عدد یا ... باشه)
    اما در مورد کاراکترهایی که کار نمی کنند،در صفحه کلید با فشرده هر کلید یه بایت ارسال میشه،و این عمل هی تکرار میشه تا زمانی که شما کلید رو رها کنید، وقتی رها کردید یه کد break ارسال میشه،اما بعضی از کلیدها مثل del، ins و ... کد بزرگتری دارند( 2 تا 5 بایت) ،پس شاید اشکال از اینجا باشه،که متاسفانه چون با بسکام کار نکردم مطمئن نیستم،شما توی help یه نگاه بکن ببین چیزی پیدا نمیشه
    در دیر مغان آمد یارم قدحی در دست
    مست از می می خواران از نرگس مستش مست

    دیدگاه


      #3
      کمک از کسانی که با اتصال کیبورد به AVR کار کردن ! !

      ممنونم از راهنمایی شما مهندس محمد واقعاً موثر بود
      وقتی نتیجه گرفتم ، حتماً اون رو پ می کنم
      آقا محمد اگه کسی از دوستاتون در این مورد کار کردن ، محبت کنید اونها رو دعوت کنید به این فروم.

      مرسی
      مرسی
      موفق باشید
      Time is jewel

      دیدگاه


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

        سلام
        یه سری به این لینک بزن :
        http://www.eca.ir/forum2/index.php/topic,4607.0.html
        گر جان عاشق دم زند آتش بر این عالم زند
        وین عالم بی اصل را چون ذره ها بر هم زند

        دیدگاه


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

          سلام

          من اینکار شما را انجام دادم این برنامه شما ایرادهای زیادی دارد اگر اشتباه نکرده باشم از کتاب میکروکنترلرهای avr کمک گرفته ای
          من زیاد با این برنامه بازی کردم تا توانستم ایرادهای انرا بر طرف کنم اگر برنامه را پیدا کردم برایتان ارسال می کنم

          دیدگاه


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

            بلاخره بعد از 13 ساعت تلاش مداوم یک کتابخانه کامل از تمام کلیدهای کیبورد درست کردم که اون رو اینجا برای بچه های ET (Electronic Technology) میزارم.
            با این کتابخانه همه ی کلید ها حتی F1 و ... و Esc ... کار می کنند.


            'www.ETRmodern.Tk
            $regfile = "m32def.dat"
            $crystal = 8000000

            Config Lcdpin = Pin , Db4 = Pinb.1 , Db5 = Pinb.2 , Db6 = Pinb.3 , Db7 = _
            Pinb.4 , Rs = Pinb.6 , E = Pinb.5
            Config Lcd = 16 * 2

            Config Keyboard = Pind.2 , Data = Pind.3 , Keydata = Keydata
            'clock=pind.2 , data=pind.3

            Dim K As Byte

            Waitms 100
            Cls

            Main:
            K = Getatkbd()
            if k=0 then
            jmp main
            end if
            Select Case K:
            Case 44:
            Cls
            Home
            Case 13:
            Lowerline
            Case 9:
            Shiftcursor Right
            Shiftcursor Right
            Shiftcursor Right
            Shiftcursor Right
            Case 8:
            Shiftcursor Left
            Lcd " ";
            Shiftcursor Left
            Case 141:
            Cls
            Lcd " Press F1"
            Case 142:
            Cls
            Lcd " Press F2"
            Case 143:
            Cls
            Lcd " Press F3"
            Case 144:
            Cls
            Lcd " Perss F4"
            Case 152:
            Cls
            Lcd " Press F5"
            Case 153:
            Cls
            Lcd " Press F6"
            Case 154:
            Cls
            Lcd " Press F10"
            Case 158:
            Cls
            Lcd " Press F8"
            Case 159:
            Cls
            Lcd " Press F9"
            Case 163:
            Cls
            Lcd " Press F11"
            Case 164:
            Cls
            Lcd " Press F12"
            Case 10:
            Cls
            Lcd " Press ESC"
            Case 28:
            Home
            Case 30:
            Upperline
            Case 31:
            Lowerline
            Case 134 :
            Shiftcursor Left
            Case 135:
            Shiftcursor Right
            Case Else Lcd String(1 , K)
            End Select
            Waitms 5
            jmp main
            End
            'end program

            Keydata: 'designed by ETRmodern
            'normal keys lower case
            Data 0 , 159 , 0 , 152 , 143 , 141 , 142 , 164 , 0 , 154 , 158 , 153 , 144 , 9 , 0 , 0
            Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
            Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0
            Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 0 , 0 , 0 , 109 , 106 , 117 , 55 , 56 , 0
            Data 0 , 0 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 47 , 108 , 59 , 112 , 45 , 0
            Data 0 , 0 , 39 , 0 , 91 , 61 , 0 , 0 , 0 , 0 , 13 , 93 , 0 , 0 , 0 , 0
            Data 0 , 0 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 0 , 0 , 134 , 28 , 0 , 0 , 0
            Data 0 , 44 , 31 , 0 , 135 , 30 , 10 , 0 , 163 , 0 , 0 , 0 , 0 , 0 , 0 , 0


            'shifted keys UPPER case
            Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
            Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 64 , 0
            Data 0 , 67 , 88 , 68 , 69 , 36 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0
            Data 0 , 78 , 66 , 72 , 71 , 89 , 94 , 0 , 0 , 0 , 77 , 74 , 85 , 38 , 42 , 0
            Data 0 , 60 , 75 , 73 , 79 , 41 , 40 , 0 , 0 , 62 , 63 , 76 , 58 , 80 , 95 , 0
            Data 0 , 0 , 34 , 0 , 123 , 43 , 0 , 0 , 0 , 0 , 13 , 125 , 0 , 166 , 0 , 0
            Data 0 , 0 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
            Data 0 , 44 , 0 , 0 , 0 , 0 , 10 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
            Time is jewel

            دیدگاه


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

              این جدول کیبورد خوبه ولی کد دکمه های "پ" و "و" رو بر نمی گردونه.
              کسی جدولی از این کاملتر نداره بزاره؟
              انا لله و انا الیه الراجعون

              دیدگاه


                #8
                پاسخ : اتصال کیبورد کامپیوتر به AVR با برنامه BascomAVR

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

                http://up.iranblog.com/images/b63a7we3yu3zr0xloq06.zip
                AV Maziton 100
                Render By Artlantis Studio
                [img width=346 height=100]http://maziyar123.persiangig.com/View.jpg[/img]

                دیدگاه


                  #9
                  پاسخ : اتصال کیبورد کامپیوتر به AVR با برنامه BascomAVR

                  ولی این نرم افزار کدهاش با کدها کیبورد فرق می کنه.
                  مثلا F1 کدش 141 هست ولی توی این میزنه 112!! oo:
                  انا لله و انا الیه الراجعون

                  دیدگاه


                    #10
                    پاسخ : اتصال کیبورد کامپیوتر به AVR با برنامه BascomAVR

                    نوشته اصلی توسط شاهین شرق
                    ولی این نرم افزار کدهاش با کدها کیبورد فرق می کنه.
                    مثلا F1 کدش 141 هست ولی توی این میزنه 112!! oo:
                    سلام نمیدونم والّا چی بگم
                    خوب میتونید کیبرد رو به میکرو وصل کنید و رو ال سی دی نشون بدید که با فشردن هر دکمه عدد رو رو ال سی دی میزنه


                    ((( تست نکردماااااااا )) :mrgreen: :mrgreen: :mrgreen:
                    AV Maziton 100
                    Render By Artlantis Studio
                    [img width=346 height=100]http://maziyar123.persiangig.com/View.jpg[/img]

                    دیدگاه

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