امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
اتصال کیبورد کامپیوتر به AVR تحت برنامه Bascom
نویسنده پیام
etrmodern آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 0
( 17 تشکر در 15 ارسال )
ارسال: #1
اتصال کیبورد کامپیوتر به AVR تحت برنامه Bascom
سلام خدمت همه ی دوستان الکترونیک مند ،
کسی از دوستان نیست که کیبورد کامپیوتر را به AVR نصب کرده باشه و بتونه مشکل من رو کنه ؟
info@etrmodern.tk
اگر کسی رو می شناسید که با AVR کار کرده باشه ، لطف کنید اون رو به Forum دعوت کنید.

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

Lowerline
Lcd "                 "
For A1 = 1 To 16
Locate 2 , A1
Call F16
Waitms 20
Next A1
jmp main
end
دستور Call F16 همون زیر برنامه گرفتن کلید است و به همون صورتی که علی کاهه نوشته منم نوشتم :
کد:
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
:cry: حالا حروف ها رو چاپ میکنه حتی بعد از چاپ 16 کاراکتر به سطر پایین میاد اما مشکلی که برام پیش اومده اینه کلید های دیگه مثل del یا جهت های بالا و پایین و Bk Sp و ... یا کار نمی کنند و یا اشتباه عمل می کنند.
مثلاً کلید enter که می زنم میاد سطر پایین اما باز سریع برمیگرده به سطر بالا و یک کاراکتر جلوتر از جایی که بوده قرار می گیره.


این کیبورد ما رو فیلم کرده ...... :cry:
۰۱-آذر-۱۳۸۵, ۱۲:۵۷:۴۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
arash_8998 آفلاین
تازه وارد

ارسال‌ها: 8
موضوع‌ها: 0
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 0
( 11 تشکر در 4 ارسال )
ارسال: #2
 
بهترين كار اينه كه از ديگه از بسكام استفاده نكني. توابع خوبي داره اما خيلي ضعيفه. به فكر يه زبون ديگه باش.
۰۱-آذر-۱۳۸۵, ۱۶:۳۵:۵۱
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi20
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #3
 
اینومی تونی توی خود سیمولاتورش شبیه سازی کنی و ببینی چی می شه یا اینکه بیای به جای فانکش ها یه چیز دیگه بنویسی مثلا به جای خط بعد بنویسی 1 حالا ببینی با زدن اینتر یک می نویسه یا نه یا مثلا چند تا می نویسه شاید 2 تا می گیره و بر می گرده بالا اگه باز هم درست بود می تونی هر کدوک از توابع رو هم جدا جدا امتحان کنی

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۰۱-آذر-۱۳۸۵, ۲۲:۵۵:۱۱
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
etrmodern آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 0
( 17 تشکر در 15 ارسال )
ارسال: #4
 
[quote="arash_8998"]بهترين كار اينه كه از ديگه از بسكام استفاده نكني. توابع خوبي داره اما خيلي ضعيفه. به فكر يه زبون ديگه باش.[/quote



آره آقا آرش ، همینه که میگی
خودم هم یکمی رفته بودم تو فکرش اما ...

می تونی کمکم کنی با C بنویسمش ؟

Time is jewel
۰۵-آذر-۱۳۸۵, ۰۱:۱۲:۰۸
وب سایت ارسال‌ها
پاسخ
etrmodern آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 0
( 17 تشکر در 15 ارسال )
ارسال: #5
 
ha_60 نوشته است:اینومی تونی توی خود سیمولاتورش شبیه سازی کنی و ببینی چی می شه یا اینکه بیای به جای فانکش ها یه چیز دیگه بنویسی مثلا به جای خط بعد بنویسی 1 حالا ببینی با زدن اینتر یک می نویسه یا نه یا مثلا چند تا می نویسه شاید 2 تا می گیره و بر می گرده بالا اگه باز هم درست بود می تونی هر کدوک از توابع رو هم جدا جدا امتحان کنی


مشکلی که من رو خیلی آزار میده همینه که سیمولاتور کیبورد کامپیوتر در بسکام نیست
و من باید با هر تغییر کوچکی در برنامه اون رو پروگرم کنم رو میکرو و مشاهده کنم.


من می خوام بدونم چرا وقتی از دستور locate استفاده نمیکنم برنامه کیبورد به نحو احسن جواب میده اما وقتی که براش تعریف میکنم بعد از 16 کاراکتر بره خط بعد دیگه کلید های عملیاتی جواب نمیدن ؟

Time is jewel
۰۷-آذر-۱۳۸۵, ۰۰:۰۷:۵۲
وب سایت ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #6
 
یه کار دیگه می تونی بکنی کد هایی رو که از کی برد می گیری رو با مثلا پرت سریال بده به جای اینکه بیای از کیبرد بخونی از پرت سریال بخون (برای تست) بعد که دیدی درست کار می کنه بیا از کیبرد استفاده کن
باید برنامه رو یه جوری ساده تر کنی به ماژول های کوچکتر بشکنی تا بفهمی تا کجا درست کار می کنه و کدو دستوره که اشتباه کار می کنه و چرا

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۰۷-آذر-۱۳۸۵, ۰۰:۵۲:۴۷
وب سایت ارسال‌ها
پاسخ
etrmodern آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 0
( 17 تشکر در 15 ارسال )
ارسال: #7
کاملترین برنامه اسکن کیبورد کامپیوتر
بلاخره بعد از 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()
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
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
۰۷-آذر-۱۳۸۵, ۱۹:۲۷:۵۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000, rahaa
etrmodern آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 0
( 17 تشکر در 15 ارسال )
ارسال: #8
ذخیره کردن در حافظه AVR
یک راهنمایی می خوام

من می خوام از طریق کیبورد کامپیوتر بعد از تایپ 16 کاراکتر و زدن یک کلید (مثلاً F5 ) آنها یک جای حافظه ATMega32 ذخیره شوند و دوباره برگردد بقیه کاراکترها رو بگیرد و این روند با زدن کلید دیگری (مثل F6) خاتمه می یابد، و بعد از روشن و خاموش کردن AVR همچنان در حافظه بماند.

مشکل من اینه که نمی دونم چطور باید در حافظه ذخیره کنم و چیزهایی که در حافظه ذخیره شده رو روی LCD نمایش دهم ؟

Time is jewel
۰۷-آذر-۱۳۸۵, ۱۹:۵۳:۵۸
وب سایت ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #9
 
اولا تلاش ت رو تبریک می گم :wink:
برای ذخیره کردن توی Codevision یه متغییر از نوع eeprom تعریف می کردیم هر چیزی که توی اون می ریختی یا از اون می خوندی توی eeprom ذخیره می شد و با خاموش روشن شدن پاک نمی شد (البته اگه زیاد بنویسی خراب می کنی eeprom رو یه متغیر کمکی هم براش تعریف کن)
البته توی bascom رو نمی دونم توی help ش اگه یه eeprom سرچ کنی حتما پیدا می شه فکر کنم توی مثال هاشم باشه

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۰۷-آذر-۱۳۸۵, ۲۱:۱۹:۱۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
etrmodern آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 0
( 17 تشکر در 15 ارسال )
ارسال: #10
 
آقای ha_60 شرمندم ، اسم شما رو نمیدونم، از اینکه منو راهنمایی می کنید خیلی خیلی ممنونم
منم در عوضش، بعد از اینکه پروژم تمام شد، مطالب راجع به اونو میزارم اینجا برای دوستان ET

Time is jewel
۰۸-آذر-۱۳۸۵, ۱۴:۵۵:۴۳
وب سایت ارسال‌ها
پاسخ
etrmodern آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 0
( 17 تشکر در 15 ارسال )
ارسال: #11
راهنمایی کنید
من از طریق دستور writeeeprom var,address متغیر var رو در حافظه EEPROM میکرو (Mega32) ذخیره میکنم
سوالم اینه که چه طوری میتونم متغیر بعدی رو در خانه بعدی حافظه از متغیر قبل ذخیره کنم.
یعنی می خوام با ریختن متغیر جدید، در ادامه قبلی ذخیره شود و قبلی رو پاک نکند.
در ضمن متغیر من یکی بیشتر نیست (مثلاً S).و از نوع String*16 هم می باشد.

Time is jewel
۰۸-آذر-۱۳۸۵, ۱۵:۰۸:۵۷
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  معرفی یک سنسور جریان برای اتصال به میکرو ؟ mega16 6 1,738 ۲۷-اردیبهشت-۱۳۹۹, ۱۷:۳۸:۳۲
آخرین ارسال: Ambassador
  اتصال سنسور lm35 در فاصله 12 متری به میکرو ؟ mega16 3 1,643 ۲۷-بهمن-۱۳۹۸, ۱۸:۴۳:۲۸
آخرین ارسال: aKaReZa75
Question اتصال کامپیوتر به میکرو با بلوتوث surena3 0 2,563 ۱۷-فروردین-۱۳۹۶, ۱۲:۲۶:۲۶
آخرین ارسال: surena3
Question [فوری] اتصال lcd گرافیکی به پایه های دلخواه میکرو در بسکام behzadsen 4 4,337 ۰۵-دى-۱۳۹۵, ۱۵:۲۵:۳۰
آخرین ارسال: behzadsen
Exclamation اتصال به روتر enc28j60 HamidSay 11 7,714 ۲۹-آذر-۱۳۹۵, ۲۲:۲۳:۵۵
آخرین ارسال: HamidSay
  سوال در مورد اتصال حافظه eeprom جانبی به میکرو SBRE77 9 10,467 ۰۷-مهر-۱۳۹۵, ۲۳:۳۱:۲۹
آخرین ارسال: omidrn
  سوالهای برنامه نویسی با کامپایلر BASCOM EBKA 242 157,509 ۱۸-خرداد-۱۳۹۵, ۲۰:۱۸:۲۴
آخرین ارسال: hassan721
  [فوری] اتصال دوربین گوشی به AVR و نمایش بر روی ال سی دی n96 MN-123 9 7,186 ۱۸-اردیبهشت-۱۳۹۵, ۲۲:۵۹:۴۴
آخرین ارسال: MN-123
  BASCOM-AVR V2.0.5.0 + Patch p3rtic@n 2 5,472 ۰۵-شهریور-۱۳۹۴, ۱۵:۴۵:۰۱
آخرین ارسال: ehsan2774
Sad [سوال] اتصال کامپیوتر به میکرو از طریق پورت سریال Monje 11 11,438 ۱۱-خرداد-۱۳۹۴, ۱۶:۲۷:۰۷
آخرین ارسال: alira725

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 7 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS