1 / 124

آموزش BASCOM به زبان ساده

آموزش BASCOM به زبان ساده. ”به نام خالق يكتا“ توضيح مختصر ى درباره زبان برنامه نويس ى Basic.

webb
Download Presentation

آموزش BASCOM به زبان ساده

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. آموزش BASCOM به زبان ساده

  2. ”به نام خالق يكتا“توضيح مختصرىدرباره زبان برنامه نويسى Basic اين زبان يك زبان برنامه نويسي سطح بالاست:زبان هاي برنامه نويسي به 3دسته عمده تقسيم مي شوند--1زبان هاي سطح بالا مانند Pascal,Basic,Cobol و …Portan-2زبان هاي ميانه مانند ++C , C و…porth-3زبان هاي سطح پايين مانند اسمبلي و زبان ماشين و...زبان هاي برنامه نويسي سطح بالا دستورالعمل هايي شبيه زبان انسان و پردازش فكري او دارند!پس كار با آنها براي كاربر راحت تر ولي هر دستورالعمل آنها مانند چند دستورالعمل به زبان ماشين است!

  3. تشريح منوهاي برنامه • اولين منو منوي فايل مي باشدكه داراي گزينه هاي زير است: :New -1با زدن اين گزينه يك صفحه جديد براي نوشتن برنامه جديد باز ميشود ؛ اين صفحه مجهز به ويرايشگر دستورات مي باشد ؛ يعني در صورتي كه دستوري درست وارد شود به رنگ ابي در مي آيد ولي اگر دستور اشتباه باشد به رنگ معمولي (مشكي )است. (اين مورد براي تعداد كمي از دستورات اجرا نمي شود(. • :open -2با زدن اين گزينه مي توانيد برنامه اي را كه از قبل ذخيره كرده ايد باز كنيد.

  4. :Close -3با انتخاب اين گزينه صفحه اي كه براي نوشتن برنامه باز شده ، بسته ميشود. Save -4 و :Save as اين دو گزينه براي ذخيره كردن پروژه به كار ميروند-كه save as براي ذخيره با نام جديد استفاده ميشود. Print Preview -5 و :Print اين دو گزينه براي چاپ كردن برنامه استفاده ميشوندكه با زدن گزينه Print Previewمي توانيد نسخه قابل چاپ را قبل از چاپ مشاهده كنيد.

  5. Exit -6 با زدن اين گزينه برنامه بسكام به طور كامل بسته مي شود ؛ اما اگر برنامه شما ذخيره نشده باشد ، در مورد ذخيره برنامه از شما پرسيده ميشود. -7در زير گزينه Exit چند گزينه ديگر وجود دارد كه اين گزينه ها براي دسترسي سريع به اخرين فايل هاي كه باز بوده اند مي باشد. منوي بعدي منوي Edit مي باشدكه داراي گزينه هاي زير است: Undo -1و :Redo اين دو گزينه براي دست يابي به اخرين تغييرات انجام شده مي باشد .

  6. Copy -2وCutو :Paste اين سه گزينه براي برداشتن يا كپي كردن قسمتي از متن به جاي ديگر ميباشد. Findnext -3 و :Find اين دو گزينه براي پيدا كردن قسمتي از متن در برنامه مي باشد. نحوه كار به اين صورت است كه بعد از انتخاب گزينه Find پنجره جديدي باز مي شود كه بايد در قسمتText to find متن مورد نظر را تايپ كنيد بعد رويok كليك كنيد تا متن مورد نظر در برنامه انتخاب شود .Findnext متن هاي كه در خط هاي بعدي برنامه وجود دارد پيدا ميكند. -4دو گزينه بعدي براي گذاشتن علامت در خطوط مختلف و پرش به انها مي باشد كه اهميت چنداني در برنامه نويسي ندارد.

  7. IndentBlock -5 و :UnindentBlock اين دو گزينه متن انتخاب شده را به اندازه يك tab به چپ يا راست منتقل ميكند. • منوي بعدي منوي Program مي باشد . كه داراي گزينه هاي زير است: :Compile -1 با انتخاب اين گزينه فايل هايي از قبيل هگز و گزارش و...ساخته ميشود .اگر در اين مرحله برنامه داراي خطا باشد پنجره اي باز ميشود كه در ان خطاها نمايش داده مي شوند ؛ با كليك كردن روي هر خطا خط مربوط كه داراي خطا است قرمز ميشود. . :Syntax check -2 با انتخاب اين گزينه برنامه از نظر غلط املايي چك ميشود (با زدن گزينه Compile ديگر نيازي به زدن اين گزينه نمي باشد.)

  8. :Show result -3با انتخاب اين گزينه پنجرهاي باز ميشود كه در آن گزارش كلي از برنامه وجود دارد. :Simulate -4با انتخاب اين گزينه پنجره شبيه سازي باز ميشود و شما در اين پنجره كه داراي lcd و كيبرد و مبدل انالوگ به ديجتال و...ميباشد مي توانيد برنامه خود را شبيه سازي كنيد.(البته در صورت دسترسي به پروتئوس نيازي به استفاده از اين قسمت نخواهيد داشت. :send to chip -5با انتخاب اين گزينه وارد محيط پروگرام كردن ميكرو مي شويد كه در قسمت هاي بعدي مفصلا توضيح داده مي شوند. • منوي بعدي منوي tools وoptions است كه داراي امكانات پر كار بردي مي باشد كه در مكان مورد نياز توضيح داده ميشود.

  9. در زیر به بیان برخی از عباراتی که از این به بعد به کار میرود می پردازیم: vcc -1و :gnd منظور از این دو کلمه پایه های تغذیه می باشد که معمولا vcc ، 5ولت می باشد و 0 , gnd ولت است. شما می توانید این تغذیه را از پورت usb کامپیوتر خود بگیرید ! -2پورت : هرمیکرو دارای چندین پورت می باشد و هر پورت دارای چندین پایه است (معمولا 8 پایه)برای مثال میکرو مگا 32 (atmega32)دارای 4 پورت A,B,C,D می باشد که هر پورت 8 پایه دارد وپورت (porta) a از پایه 33 تا 40 میکرو می باشد و پایه شماره 40 پین pina.0 و پایه 39 پین …pina.1 وپایه 33 پین pina.7 میباشد. -3 کریستال:میکرو برای تنظیم زمان برای انجام کارها به یک نوسان ساز نیاز دارد که به این نوسان ساز کریستال گفته می شود حداکثر کریستال مورد استفاده برای avr ،8 مگاهرتز می باشد.

  10. همچنین میکرو های avr دارای نوسان ساز داخلی می باشند ،که در صورت نیاز می توانید از آن استفاده کنید. کریستال به دو پایه xtal1و xtal2 متصل می شود.این پایه ها برای میکرو مگا 16 پایه های12 و 13 می باشد. • مراحل نوشتن یک برنامه جدید: بعد از باز کردن برنامه بسکام گزینه new را از منوی file انتخاب کنید صفحه جدیدی که باز می شود محل نوشتن برنامه می باشد. • میکرو های avr به سه دسته زیر تقسیم می شوند که قوی ترین دسته سری مگا avr می باشد. • 1-سری tinyxx :بزرگترین مزیت این گروه نسبت به دو گروه دیگر کوچک بودنشان می باشد. • 2- سری at90sxxxx

  11. 3- سری atmegaxxx:این سری از قوی ترین خانواده میکرو های avr می باشد که دارای امکانات زیادی می باشد . • در زبان بیسیک همیشه اولین خط برنامه مربوط به معرفی میکرو می باشد ) $regfile="microname"كه به جاي عبارت microname در اينجا نام ميكرو موردنظر درج ميشود.( • پس از نوشتن $regfile= پنجره كوچكي شامل گزينه هايي براي انتخاب ميكرو موردنظر همان جا باز ميشود كه شامل گزينه هاي زير است: M8dif.dat )برای آی سی مگا8) M32def.dat )برای آي سي مگا32( M16def.dat )برای آی سی مگا 16(

  12. 8515DEF.DAT )برای آی سی (at90s8515 .... • خط بعدی معرفی کریستال می باشد: $crystal=x که x کریستال مورد استفاده بر حسب هرتز است مانند $crystal=8000000)در اینجا کریستال 8مگا هرتز است(. • نكته:در بيسيك برخي دستورات مانند 2مورد معرفي شده با علامت$ اما در ‍C با علامت # آغاز ميشوند! • بعد از معرفی کریستال نوبت معرفی امکانات می باشد.امکانات شامل تایمرها و adc (مبدل انالوگ به دیجتال)و ورودی یا خروجی قرار دادن پورت ها و....می باشد.

  13. نكته:توجه داشته باشيد كه تا اينجا امكانات نام برده در كدويزارد كدويژن انتخاب ميشنود و ديگر نيازي به ذكر آنها در داخل برنامه در محيط Codevision نميباشد. • معرفی امکانات با دستور زیر می باشد. Configپس از نوشتن اين عبارت هم پنجره اي شامل اسامي همه پين ها و امكانات از جمله adc وجود دارد تا شما گزينه مورد نظرتان را انتخاب كنيد.

  14. بعد از معرفی یا پیکر بندی امکانات جانبی نوبت به استفاده از انها می رسد. معمولا برای استفاده از امکانات باید ان ها را درون یک حلقه قرار دهند. ودر نهایت برنامه با end به پایان می رسد. نكته:در بيسيك حلقه هيچ”(“ يا “{“ي براي قرار دادن دستورات و شرط ها در درونش ندارد و تنها با از 2كلمه در ابتدا و انتها تشكيل شده كه در ادامه به توضيح اقسام اين كلمه ها خواهيم پرداخت. در زیر نکات اصلی برای برنامه نویسی اورده شده است .استفاده از پورت ها در محیط بسکام:در بسکام پورت های میکروهای avr می توانند به عنوان ورودی یا خروجی قرار بگیرند که این نقش اصلی پورت می باشد .

  15. همچنین بعضی از پایه ها دارای کاربرد دوم نیز می باشند.مثلا پورت(porta ) aدر مگا 32 (mega32 )علاوه بر ورودی یا خروجی می تواند به عنوان وردی سیگنال انالوگ برای مبدل انالوگ به دیجتال قرار گیرد. در ادامه باکاربرد دوم سایر پایه ها اشنا خواهیم شد… • برای قرار دادن یک پورت به عنوان ورودی از دستور زیر استفاده میکنیمConfig portx = input که پورت x یکی از پورت های میکرو می باشد. • و برای قرار دادن یک پورت به عنوان خروجی از دستور زیر استفاده میکنیمConfig portx = output

  16. که پورت x یکی از پورت های میکرو می باشد مانند: Config porta = output پورت a به عنوان خروجی تعریف شده است Config portb=input پورت b به عنوان ورودی تعریف شده است . • همچنین شما می توانید یکی از پایه های پورت را به عنوان ورودی یا خروجی معرفی کنید مانند: Config pina.1=input پایه شماره 1 از پورت aبه عنوان ورودی تعریف شده است.

  17. Config pinb.7=input پایه شماره 7 از پورت b به عنوان ورودی تعریف شده است . Config pinc.5=output پایه شماره 5 از پورت c به عنوان خروجی تعریف شده است. • دستورات مربوط به پورت ها:دستور : toggle این دستور یک بایت را برعکس میکند .بایت میتواند یک پورت یا هر چیز دیگر باشد . • دستور : set این دستور یک بیت را یک میکند. بیت میتواند یک پین از پورت یا هر چیز دیگر باشد .

  18. دستور reset این دستور یک بیت را صفر میکند. بیت میتواند یک پین از پورت یا هر چیز دیگر باشد … دستورات تاخیر: • برای ایجاد تاخیر در برنامه از دستور wait استفاده میشود . دستور wait به سه شکل زیر است: : Waitus x این دستور برای ایجاد تاخیر میکرو ثانیه ای می باشد. x مقدار تاخیر میباشد که بین 1تا 65535 میکرو ثانیه است.مانند: Waitus 500 (تاخیر به مدت 500 میکرو ثانیه)

  19. Waitms x : این دستور برای ایجاد تاخیر میلی ثانیه ای می باشد x .مقدار تاخیر میباشد که بین 1تا 65535 میلی ثانیه است.مانند: ) Waitms 720تاخیر به مدت 700 میلی ثانیه( : Wait x این دستور برای ایجاد تاخیر ثانیه ای می باشد x .مقدار تاخیر میباشد که عددی بیشتر از یک ثانیه می باشد.مانند: ) Wait 1000تاخیر به مدت 1000 ثانیه (

  20. نكته:‌ (اين دستورات  در زبان C هم هستند با اين تفاوت كهدر زبانC بين كلمه ويت و واحد زماني آندرلاين هست: (wait_ms500 • دستور : DELAY این دستور در هر جا که استفاده شود یک تاخیر 1میلی ثانیه ایجاد می شود. • توجه کنید که هر جا دستور wait به کار رود برنامه در انجا به اندازه زمان مورد نظر متوقف می شود.

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

  22. انواع حلقه ها : • :Do – loop -1 شروع این حلقه با do وپایان ان با loop است. For –next -2 WHILE-WEND -3دو مورد اخر در قسمت های بعدی گفته می شود …برای پرش از یک قسمت برنامه به قسمت دیگر می توان از دستور jmp یا goto استفاده کرد. (از دستورات فوق به عنوان حلقه نیز می توان استفاده کرد.(مانند: Q: برنامه نوشته شدهJmp q

  23. مثال دوم: W: برنامه نوشته شدهGoto w • نكته) :دستورات پرش نيز در زبان C وجود دارد ولي در هردو زبان استفاده از آن ها رايج نيست!) • 1 تمرين:با توجه به توضیحات بالا برنامه یک مدار چشمک زن را با هم می نویسیم: • میکرو مورد استفاده مگا 16 (atmega16 ) و کریستال 8مگا هرتز است و8عدد led با مقاومت 330 اهم به پورت (portc) c متصل است.

  24. خوب گفتيم كه براي ايجاد پروژه اولين كار رفتن به منوي فايل و انتخاب گزينهNEW است. • پس از ان كه يك صفحه سفيد رنگ باز ميشه شروع ميكنيم به نوشتن برنامه در ان… • عباراتي كه مربوط به اين برنامه هستش رو با يه رنگ ديگه مي نويسم تا اشتباهي پيش نياد.خط اول هميشه مربوط به معرفي ميكرو كنترلر مورد نظره..پس مي نويسيم: $regfile="m16def.dat " اين يعني ميكرومون ATmega16 هستش.

  25. بعد بايد مقدار كريستال رو بگيم.بدين ترتيب: $crystal = 8000000 اين يعني مقدار كريستال 8 مگاهرتز است. نكته : دو مرحله بالا در همه برنامه ها ثابت می باشد.(وجود دارد( • مرحله بعد قرار دادن پورت c به عنوان خروجی می باشد.(چون ما میخواهیم از میکرو جریان خارج کنیم پورت c را به عنوان خروجی قرار می دهیم.): Config portc =output

  26. مرحله بعد ایجاد یک حلقه می باشد (برای ایجاد حلقه می توانید در اینجا از تمام مواردي كه قبلا گفته شده استفاده کنید.( Do • مرحله بعد روشن کردن led ها می باشد(ما در اینجا انها را یک در میان روشن میکنیم(. ) Set portc.0روشن کردن led متصل شده به پایه 22 میکرو (.(portc.0) ) reSet portc.1خاموش کردن led متصل شده به پایه 23میکرو (.(portc.1)

  27. ) Set portc.2روشن کردن led متصل شده به پایه 24میکرو (.(portc.2) ) reSet portc.3خاموش کردن led متصل شده به پایه 25 میکرو (.(portc.3) ) Set portc.4روشن کردن led متصل شده به پایه 26 میکرو (.(portc.4) ) reSet portc.5خاموش کردن led متصل شده به پایه 27 میکرو (.(portc.5)

  28. ) Set portc.6روشن کردن led متصل شده به پایه 28 میکرو (.(portc.6) ) reSet portc.7خاموش کردن led متصل شده به پایه 29میکرو (.(portc.7) • مرحله بعد ایجاد یک تاخیر زمانی است: Waitms 500 تاخیر به مدت 500 میلی ثانیه

  29. مرحله بعد برعکس کردن وضعیت پایه های موجود است.(برای اینکه led های روشن خاموش شوند و led های خاموش روشن شوند(. Toggle portc این دستور همانگونه که قبلا گفته شد یک بایت را برعکس میکند که در اینجا بایت مورد نظر 8پایه پورت c است . مرحله بعد ایجاد تاخیر زمانی است: Waitms 500

  30. مرحله بعد نوشتن پایان حلقه می باشد: Loop )هنگامی که پردازنده میکرو این خط را میخواند به خط do پرش میکند(. و در نهایت باید به برنامه پایان داده شود: End )پایان برنامه(

  31. آموزش LCD • Lcd کاراکتری این نوع lcd دارای چند سطر وستون می باشد که نام گذاری انها برمبنای سطر وستون می باشد. - در زیر چند نوع lcd نام برده شده است: 16*1 که دارای یک سطر و 16 ستون می باشد. 16*2 که دارای 2 سطر و 16 ستون می باشد .

  32. 16*4 که دارای 4 سطر و 16 ستون می باشد . 20*2 که دارای 2 سطر و 20 ستون می باشد . 20*4 که دارای 4 سطر و 20 ستون می باشد . 40*2 که دارای 2 سطر و 40 ستون می باشد . 40*4 که دارای 4 سطر و40 ستون می باشد

  33. تمام lcd های کاراکتری دارای 16 پایه می باشد که در زیر اورده شده است: پایه شماره 1 : VSS,این پایه ،پایه گراند lcd (GND) است و باید بهزمین مدار وصل شود . پایه شماره 2 : VDD ,این پایه پایه VCC LCD است که باید به 5ولت وصل شود. پایه شماره 3 : VEE ,این پایه روشنایی پیکسل های LCD را تعیین میکند. پایه شماره 4 : RS ,در lcd دو رجیستر به نام دستورالعمل وداده وجود دارد.

  34. -اگر rs =0 باشد lcd برای گرفتن دستورالعمل اماده می شود در غیر این صورت برای داده .مثلا دستور cls یک دستور العمل است و qwer که باید روی lcd نوشته شود یک داده است. پایه شماره 5 :RW ,این پایه دو وضعیت دارد ، rw =1 برای خواندن از lcd و rw=0 برای نوشتن در .lcd پایه شماره 6 : E ,با این پایه می توان LCD را انتخاب کرد. پایه شماره 7 : DB0 ,این پایه برای گرفتن دیتا(اطلاعات) از LCD میباشد. (پایه دیتای صفر(

  35. پایه شماره 8 : DB1 ,این پایه برای گرفتن دیتا (اطلاعات) از LCD میباشد.(پایه دیتای یک( پایه شماره 9 : DB2 ,این پایه برای گرفتن دیتا (اطلاعات) از LCD میباشد.(پایه دیتای دو( پایه شماره 10 : DB3 ,این پایه برای گرفتن دیتا(اطلاعات(از LCD میباشد.(پایه دیتای سه( پایه شماره 11 : DB4 ,این پایه برای ارسال دیتا (اطلاعات) به LCD میباشد.(پایه دیتای چهار( پایه شماره 12 : DB5 ,این پایه برای ارسال دیتا (اطلاعات) به LCD میباشد.(پایه دیتای پنج(

  36. پایه شماره 13 : DB6 ,این پایه برای ارسال دیتا (اطلاعات) به LCD میباشد.(پایه دیتای شش) پایه شماره 14 : DB7 ,این پایه برای ارسال دیتا )اطلاعات) به LCD میباشد.(پایه دیتای هفت( پایه شماره 15 : این پایه و پایه شماره 16 تغذیه LED پشت LCD می باشد که به 5ولت متصل میشود. پایه شماره 16 : این پایه و پایه شماره 15 تغذیه LED پشت LCD می باشد که به 5 ولت متصل میشود.

  37. راه اندازی LCD در محیط بسکام: Lcd میتواند ازدو طریق 8سیمه و 4 سیمه به میکرو متصل شود. در مد چهار سیمه فقط میتوان روی lcd نوشت ولی در مد هشت سیمه میتوان اطلاعاتی را که قبلا روی lcd نوشته شده است را خواند و به میکرو ارسال کرد . به طور کلی از خطوط دیتای 0تا 3 برای خوانده از lcd و از خطوط4تا7 برای نوشتن در lcd نوشته میشود در حالت نوشتن در lcd باید پایه RS پایین نگه داشته شود.(صفر شود) ودر حالت خواندن از LCD باید پایه 1 , RS شود(به 5ولت وصل شود)

  38. از انجا که با وجود حافظه میکرو و راحت شدن کار برنامه نویسی نیازی به خواندن از LCD نمی باشد ،از پایه DB0 تا DB3 استفاده نمی شود و پایه RW نیز به ) GND صفر ولت( متصل میشود.

  39. اولین مرحله برای راه اندازی LCD معرفی کردن نام آن است: برای این کار بعد از معرفی میکرو وکریستال با استفاده از دستور زیر می توان LCD را معرفی کرد: CONFIG LCD = LCDNAME که LCDNAME یکی از نام های گفته شده در بالا میباشد. مثلا معرفی: LCD 2*16 Config lcd =16*2 مرحله بعد معرفی پایه های از میکرو است که lcd به انها وصل میشود :

  40. Db4 = Pinx.y , Db5 = Pinx.y , Db6 = Pinx.y , Db7 = Pinx.y , Rs = Pinx.y , E = Pinx.y X نام پورت است که یکی از پورت های a یا b یا c یاd می باشد و yشماره پایه هست که از 0 تا 7 می باشد. • برای مثال در زیر lcd کاراکتری 16*2 به پورت c (portc)متصل است: $regfile="m16def.dat" $crystal=8000000

  41. Config Lcd = 16*2 Config lcdpin=pin , db4=pinc.0 , db5=pinc.1 , db6=pinc.2 , db7=pinc.3 , rs=pinc.4 , e=pinc.5 در این مثال که از میکرو مگا16(atmega16)استفاده شده ، اتصال میکرو و lcd به قرار زیر است: پایه شماره 1 : VSS ,، این پایه باید به زمین مدار وصل شود. پایه شماره 2 : VDD,این پایه باید به 5ولت وصل شود .پایه شماره 3 : VEE ,این پایه با یک مقاومت (مقدار مقاومت بستگی به روشنایی مورد نظر شما دارد)به vcc وصل میشود.

  42. پایه شماره 4 : RS ,این پایه به پورت c پین شماره 4)پین (c.4 متصل میشود (پایه 26 میکرو مگا16 ( پایه شماره 5 :RW ,این پایه به gnd متصل میشود. پایه شماره 6 : E ,این پایه به پورت c پین شماره 5 یا پین c.5 متصل میشود(پایه 27 میکرو مگا16( پایه شماره 7 : DB0 ,این پایه به جایی متصل نمی شود. پایه شماره 8 : DB1 ,این پایه به جایی متصل نمی شود.

More Related