• ¡Welcome to Square Theme!
  • This news are in header template.
  • Please ignore this message.
مهمان عزیز خوش‌آمدید. ورود عضــویت


امتیاز موضوع:
  • 17 رای - 2.12 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
Title: آموزش کامل بسکام به همراه مثال
حالت خطی
#14
اتصال به عنوان موس به کامپيوتر :
نکته مهم : اتصال AVR به عنوان موس به کامپيوتر، که در بسکام به نام PS2EMU نام گذاري شده رايگان نبوده و کامپايلر در هنگام کامپايل کردن برنامه هاي مربوطه ( که در زير دو مورد آن موجود است ) از شما خطاي عدم وجود لايبري را ميگيرد ، شما بايد در HELP بسکام گزينه ي AT_EMULATOR را جستجو کنيد ، در صفحه پيدا شده طريقه تهيه لايبري امده است.
راه اندازي اين مورد با دستور زير انجام مي شود:
Config Ps2emu= Int , Data = Data , Clock = Clock
Int : شما ميتوالنيد از وقفه صفر يا يک براي اين مورد استفاده کنيد ( int0 يا int1)
Data : نام پايه اي از ميکرو است که سيم ديتاي پورت موس کامپيوتر (که شکل آن را در بالا مشاهده فرموديد ) به آن متصل مي شود. (سيم ديتاي سوکت موس بايد به پايه ورودي وقفه متصل شود (شما مجازيد از دوپايه INT0 و INT1 ( پايه 16 و 17 ميکرو مگا 16 )استفاده کنيد)) .
Clock : نام پايه اي از ميکرو است که سيم کلاک پورت موس کامپيوتر به آن متصل مي شود.
با دستور زير ميتوانيد کد هاي دلخواه را به کامپيوتر ارسال کنيد
Ps2mou***y X , Y, Button
X و Y مختصات مکان توقف اشاره گر موس است که از -255 تا 255 مي باشد.
Button : عدد معادل کليد فشرده شده ميباشد ( در روي موس 3 کليد اصلي وجود دارد : کليد راست ، کليد چپ، کليد وسط ) که رقم معادل هر کليد در زير امده است
0 – no buttons pressed
صفر : هيچ کليدي فشرده نشده است
1- left button pressed
يک : کليد سمت چپ فشرده شده است
2- right button pressed
دو : کليد سمت راست فشرده شده است
4- middle button pressed
چهار : کليد وسط فشرده شده است
با دستور زير نيز مي توانيد کد هاي مربوط به موس را از جدول بخوانيد و به کامپيوتر ارسال کنيد
Sendscan Lable
Lable : نام برچسبي است که کد ها در آن و جود دارد .
مانند:
$regfile = "m16def.dat"
$crystal = 8000000
Enable Interrupts
Config Ps2emu = Int0 , Data = Pind.2 , Clock = Pind.1
Config Porta = Input
Dim X As Integer , Y As Integer , Button As Byte
Q:
Debounce Pina.0 , 1 , Mright
Debounce Pina.1 , 1 , Mleft
Debounce Pina.2 , 1 , Mup
Debounce Pina.3 , 1 , Mdown
Debounce Pina.4 , 1 , Rpressed
Debounce Pina.5 , 1 , Lpressed
Debounce Pina.6 , 1 , Mpressed
Ps2mou***y X , Y , Button
Goto Q
Mright:
Incr X : Waitms 500 : Goto Q
Mleft:
Decr X : Waitms 500 : Goto Q
Mup:
Incr Y : Waitms 500 : Goto Q
Mdown:
Decr Y : Waitms 500 : Goto Q
Rpressed:
If Button = 2 Then : Button = 0 : Else : Button = 2 : End If
Waitms 500 : Goto Q
Lpressed:
If Button = 1 Then : Button = 0 : Else : Button = 1 : End If
Waitms 500 : Goto Q
Mpressed:
If Button = 4 Then : Button = 0 : Else : Button = 4 : End If
Waitms 500 : Goto Q
End
مثال:
$regfile = "m16def.dat"
$crystal = 8000000
Enable Interrupts
Config Ps2emu = Int0 , Data = Pind.2 , Clock = Pind.1
Dim A As Byte
Q:
Incr A
Wait 1
Select Case A
Case 1 : Ps2mou***y 0 , 10 , 0 ' up
Case 2 : Ps2mou***y 0 , -10 , 0 ' down
Case 3 : Ps2mou***y -10 , 0 , 0 ' left
Case 4 : Ps2mou***y 10 , 0 , 0 ' right
Case 5 : Ps2mou***y 0 , 0 , 1 ' left button pressed
Ps2mou***y 0 , 0 , 0 ' left button released
Case 6 : Sendscan W
End Select
Goto Q
W:
Data 3 , &H08 , &H00 , &H01
نکته : شما مجازيد فقط يک موس يا کيبرد به کامپيوتر خود متصل کنيد ، اتصال سخت افزار بيشتر ممکن است به کامپيوتر شما اسيب بزند .


اندازه گيري يک خازن يا مقاومت :
شما با استفاده از دستور زير ميتوانيد مقدار ثابت زماني مقاومت و خازني که به پايه دلخواه ميکرو AVR متصل شده است را بدست اوريد :
Var = Getrc ( Pin , number)
Var: يک متغيير از جنس Word ميباشد که مقدار ثابت زماني در آن ريخته مي شود.
PIN : نام پورتي است که خازن و مقاومت به آن متصل است ( مانند PORTA يا PORTD).
Number : شماره پايه اي است که مقاومت و خازن به آن متصل شده است (مانند 1 يا 2 ) ( اين مقدار نميتواند از 7 بيشتر شود )).
در مدارات مقاومت يا خازن که به اختصار به آن RC مي گويند ، خازن بعد از 5 ثابت زماني شارژ مي شود ( بعد از 5t ) مقدار دقيق اين ثابت زماني به مقدار خازن و مقدار مقاومت بستگي دارد و فرمول آن به شکل t = R * C است ، ميکرو مقدار ثابت زماني را اندازه مي گيرد ، شما با داشتن مقدار يکي از المانها ميتوانيد مقدار ديگر را بدست آوريد ،
مانند :
$regfile = "M16DEF.DAT"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Pinc.1 , Db5 = Pinc.2 , Db6 = Pinc.3 , Db7 = Pinc.4 , E = Pind.2 , Rs = Pind.3
Config Lcd = 16 * 2
Config Porta = Output
Dim W As Word
Do
W = Getrc(pina , 7) : W = W / 1000 : Locate 1 , 1 : Lcd W : Wait 2
Loop
end
در مثال بالا مقدار يک خازن اندازه گرفته شده است ، خازن مجهول با يک مقاومت 1 کيلو اهم سري شده و PORTA.7 متصل شده است ، ( شما همچنين ميتوانيد مقدار مقاومت را نيز اندازه گيري کنيد ، به شرطي که مقدار خازن را بدانيد) مدار مثال بالا را در زير مشاهده مي کنيد :
[عکس: bnk.png]

برای ورود بر روی تصویر کلیک کنید.
www.avrprj.ir
 
پاسخ
  


پیام‌های این موضوع
RE: آموزش کامل بسکام به همراه مثال - توسط a.mehran - 09-26-2014، 04:21 PM

موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  آموزش اصطلاحات میکرو AVR a.mehran 1 4,820 09-26-2014، 04:45 PM
آخرین ارسال: a.mehran
  مدار فاصله سنج اولتراسونیک با بسکام a.mehran 2 4,075 09-02-2014، 07:56 AM
آخرین ارسال: a.mehran
  pwm با بسکام a.mehran 0 2,707 09-01-2014، 10:02 PM
آخرین ارسال: a.mehran
  راه اندازی سون سگمنت با بسکام a.mehran 0 2,781 09-01-2014، 09:56 PM
آخرین ارسال: a.mehran

پرش به انجمن:


Browsing: 2 مهمان