آموزش میکروکنترلر AVR بسکام (دستورات و منوها)

برنامه نویسی میکرو AVR بسکام (آشنایی با منو ها و دستورات)

Bascom تمام ميكروهاي AVR را حمايت كرده و از زبان Basic براي برنامه نويسي AVR ها استفاده مي نمايد.

معرفي منوهاي محيط Bascom:

منوي فايلFILE: با انتخاب اين گزينه يك پنجره جديد كه شما قادر به نوشتن برنامه در آن هستيد ايجاد مي شود.
باز كردن فايل ( OPEN FILE): با انتخاب اين گزينه شما قادر به فراخواني فايلي كه در حافظ موجود است مي باشد. شما مي توانيد از ويرايشگري مانند NOTEPAD براي نوشتن برنامه استفاده كنيد.
بستن فايل (CLOSE FILE): با اين گزينه به نامه ي فعال را مي بنديم.
ذخيره ي فايل (FILE SAVE): با اين گزينه فايل را در كامپيوتر ذخيره خواهيم كرد.
پرينت فايل (FILE PRINT): با اين گزينه مي توانيم فايل برنامه را پرينت كنيم.
خروج از فايل (FILE ECIT): با اين گزينه از برنامه خارج مي شويم اگر برنامه را تغيير داده باشيم قبل از خروج هشدار مي دهد.
منوي EDIT: Edit undo: با اين گزينه دستكاري اخيرتان را از بين ببريد.
Edit Redo: با اين گزينه دستكاري اخيرتان را كه از بين برده بوديد دوباره باز گردانيد.
Edit Copy: با اين گزينه متن انتخاب شده را كپي كرده و به محل ديگر مي بريم.
Past Edit: با اين گزينه متني را قبلاًٌ كپي كرده بوديم در محل جديد ايجاد مي كنيم.
Goto Edit: با اين گزينه به سرعت به خط دلخواه مي رويم.
منوي PROGRAM: PROGRAM COMPILE: با اين گزينه يا كليه F7 مي توانيم به ترجمه برنامه به زبان ماشين بپردازيم. به نامه ي ما با انتخاب اين گزينه قبل از COMPILE شدن ذخيره خواهد شد.
PROGRAM SYNTAX CHECK: بوسيله ي اين گزينه برنامه براي نداشتن خطاي املايي كنترل مي شود.
PROGRAM SHOW RESULT: از اين گزينه براي ديدن نتيجه ي COMPILE مي توان استفاده كرد.
PROGRAM SIMULATOR: با فشار دادن كليه ۲F يا اين گزينه ي ازمنوي PROGRAM: شبيه ساز داخلي فعال خواهد شد.
SEND TO GHIP: توسط اين گزينه يا كليد F4 محيط برنامه ريزي ظاهر خواهد شد و ما مي توانيم ميكرو خود را PROGRAM كنيم.
منوي OPTIONS: Compiler LCD OPTIONS: اين گزينه داراي امكانات زير است« در قسمت LCD TYPE نوع LCD را مشخص مي كنيم گزينه ي BUS MODE مشخص مي كند. LCD به صورت ۸ بيتي يا ۴ بيتي كار كند.
OPTIONS PROGRAMMER: در اين منو مي توانيم PROGRAMMER مورد نظر را انتخاب كنيم.
بدنه ي يك برنامه در محيط Bas Come: بدنه ي يك برنامه ي بيسيك در محيط Bas Come شامل تعيين ميكرو، كريستال، پايان و گزينه هاي اختياري ديگر است.

معرفي ميكرو:

 

براي شروع يك برنامه در محيط Bas Come ابتدا بايد ميكرو مورد نظر تعريف شود كه از دستور زير استفاده مي كنيم: نوح چيپ REGFILE$ كريستال: براي مشخص كردن فركانس استفاده شده برحسب هرتز از دستور استفاده مي كنيم: $CRYSTAL=X كه x فركانس كريستال استفاده شده برحسب هرتز است. پايان برنامه: اين دستور در انتهاي برنامه قرار مي گيرد و اجراي برنامه را متوقف مي كند. با دستور End برنامه به پايان مي رسد: مثال:

PRINT “Hello”

END دستور CONDT:
جداي تعريف يك ثابت از اين دستور استفاده مي شود.

CONSTS = “TEST”

CONST A= 5 مثال:
دستور INCR:
اين دستور يك واحد به متغير ما اضافه مي كند.
مثال:

DO

INCR A

Print A

Loop until A>10

دستور DECR: اين دستور يك واحد از متغير ما كم مي كند. مثال:

Dim A As Byte

A= 5

Deer A

Print A

End

دستور SWAP:
با اجراي اين دستور محتواي متغير اول در متغير دوم و محتواي متغير دوم در محتواي متغير اول قرار مي گيرد. مثال:

Dim A As Integer , B1 As Integer

A= 1: B1=2

Swap A , B1

Print A

Print B1

End عملكردهاي رياضي: از عملكردهاي زير در محيط Bas Come استفاده مي كنيم. علامت ضرب ← * علامت تساوي ← = علامت جمع ← = علامت بزگتر از ← > علامت تفريق ← – علامت توان ← ۸ علامت مميز ← ۰ علامت كوچكتر يا مساوي با ← <= علامت تقسيم ← / علامت بزرگتر يا مساوي با ← =< علامت كوچكتر از ← < علامت مخالف ← < > عملكردهاي منطقي: نماد عملكردهاي منطقي در Bas come، AND، OR ، XOR و NOT است. تابع ABS: اين دستور به معناي رياضي قدر مطلق است. A=ABS (B)
اين دستور به معناي رياضي قدر مطلق است.
دستورهاي حلقه و پرسش:
دستور GOTO و JMP:
باا ين دستور مي توان به label پرش كرد. Label بايد با علامت: پايان يابد و مي تواند تا ۳۲ كاراكتر طول د اشته باشد.
مثال

Start:

A=A+1

IF A < 10 then

Gobo Start

End If

Enf
دستور D0- Loop:
فرم كلي دستور D0- Loop به صورت زير است.
[توضيحات UNTIL] Loop

D0- Loop يك حلقه ي بي نهايت است كه با EXIT DO مي توان از درون حلقه خارج شد و اجراي برنامه در خط بعد از حلقه ادامه پيدا مي كند.
مثال:

Dim A As Byte

Do

A=A+1

Print A

Loop until A= 10

Print A دستور WHILE- WEND: دستور فوق تشكيل يك حلقه تكرار مي دهد كه تكرار اين حلقه تا زماني ادامه مي يابد كه عبارت به كار گرفته شده غلط باشد دستور While به صورت ورود به حلقه با شرط مي باشد ، يعني قبل از ورود به حلقه شرط حلقه امتحان مي شود در صورت درست بودن به حلقه وارد مي شود.

شرط While

دستورها WEND مثال:

Dim a as byte

A=1

While A<10

PRINT a

INCR a

Wend
دستور IF:
عمليات then شرط If
دستور عمليات زماني اجرا مي شود كه عبارت شرط درست باشد.
ايجاد تاخير در برنامه:
دستور DELAY:
اين دستور براي مدت مدت كوتاهي به اندازه ي يك ميلي ثانيه در اجراي برنامه تاخير ايجاد مي كند.
دستور WAITUS:
براي ايجاد تاخير در برنامه از اين دستور استفاده مي شود. ميكروثانيه WAITUS

اجراي برنامه به مدت ميكرو ثانيه متوقف مي شود پس از گذشت زمان مشخص شده برنامه از خط بعد ادامه مي يابد. ميلرو ثانيه مي تواند اعداد بين (۲۵۵-۱) باشد.
مثال:

Waitus 10

Print ” bascom”

End دستور WAITMS: WAITMS= A اجراي برنامه به مدت A ميلي ثانيه متوقف مي شود پس از سپري شدن زمان مشخص شده اجراي برنامه از خط بعد ادامه پيدا مي كند. A مي تواند اعداد بني ۶۵۳۵-۱ باشد. مثال:

Waitms 10

Print “basxom”

End دستور WAIT:
WAIT=A اجراي برنامه به مدت A ثانيه متوقف مي شود بعد از سپري شدن زمان مشخص شده اجراي برنامه از خط بعد ادامه مي يابد.

Wait 3

Print “ba scom”

پيكربندي و كار با امكانات AVR در BASCOM

Config Portx = State براي تعيين جهت پايه ي پورت ها از پيكره بندي زير استفاده مي كنيم.
X بسته به ميكرو مي تواند به ترتيب پايه هاي ۰ تا ۷ پورت هاي ميكروهاي مختلف باشد. State نيز مي تواند يكي از گزينه هاي زير باشد:
INPUT يا O: در اين حالت رجيستر جهت داده پايه يا پورت انتخاب شده صفر مي شود و پايه يا پورت به عنوان ورودي استفاده مي شود.
OUT PUT يا ۱: در اين حالت رجيستر جهت داده پايه يا پورت انتخاب شده يك مي شود و پايه يا پورت به عنوان خروجي ا ستفاده مي شود.

(C1):
پايه هاي LCD براي اتصال به پايه هاي ميكرو به صورت زير مي باشند:

Config LCD Pin = Pin, DB5=PN, DB6 = PN, DB7= PW

E = PN, RS = PN

كه PN پايه ي دلخواهي از ميكرو است كه پايه ي LCD به آن اتصال مي يابد.
مثال:

Config LCD Pin = PIN , DB4 = Port B.4 , SB5 = Port B.5 , DB6= Port B.6 DB7= Port B.7 , E= Port B.3 , RS= Port B.2 تعيين پايه هاي LCD: هر LCD داراي ۱۴ پين است كه به صورت زير نامگذاري و پيكره بندي شده اند البته دو پين ۱۵ و ۱۶ هم وجود دارد كه براي Back Light مي باشند. كه ۱۵ آند و كاتد است

۱۶VSS → LCD PIN =1 → ground

VDD → LCD PIN =2 → VCC

VO → LCD PIN =3 → Contrast (ground)

RS → LCD PIN =4 → Port B.2

R/W → LCD PIN =5 → ground

E → LCD PIN =6 → Port B.3 DB4 → LCD PIN =11 → Port B.4

DB5 → LCD PIN =12 → Port B.5

DB6 → LCD PIN =13 → Port B.6

DB7→ LCD PIN =14 → Port B.7 تعيين نوع LCD: براي تعيين نوع نمايشگر LCD از دستور زير استفاده مي كنيم: نوع LCD=LCD ConFig نوع LCD ما مي تواند داراي انواع زير باشد: ۴۰×۴= داراي ۴۰ ستون و ۴ سطر مي باشد. ۲× ۱۶= داراي ۱۶ ستون و ۲ سطر است.

Config LCD = 40*4

LCD “Hello”

Fonrth Line

LCD “۴”

End دستورات و توابع مربوط به LCD: دستور LCD: اين دستور يك يا چند عبارت ثابت يا متغير را بر روي LCD نمايش مي دهد. براي مثال × LCD متغير × را بر روي LCD نمايش مي دهد و “Salam” LCD ، salam كه يك كلمه ي ثابت است را نمايش مي دهد. براي نمايش چند عبارت پشت هم بايد بين آنها علامت ؛ قرار دهيم. براي مثال ” Salam” ؛ × LCD دستور cls: اين دستور مخفف كلمه ي Clear screen است كه باعث پاك شدن تمام صفحه ي نمايش LCD مي شود. دستور Display: توسط اين دستور مي توانيد صفحه ي نمايش را روشن (on) يا خاموش (off) كنيد.

Dim a as byte

a = 255

LCD a

Wait 1

Dis play off

Wait 1

Display on

End دستور CURSOR: توسط اين دستور مي توان مكان نماي LCD را تنظيم كرد.

CURSOR on/off BLInu / no Blinu

ما مي توانيم نشانه گر LCD را روشن (on) يا خاموش (off) و چشمك زن (Blink) يا چشمك نزدن (no Blink) را تنظيم كنيم. اگر تنظيم نكنيم به وصورت پيش فرض مكان نما در حالت روشن و چشمك نزدن است. مثال:

Dim a as byte

az 255

LCD a

Cursor off

Wait 1

Cursor on blink

End دستور LOCATE: اين دستور مكان نما را به مكان دلخواه در صفحه LCD مي برد.

Locate x, y اين دستور مكان نما را به مكان دلخواه LCD مي برد. كه x مشخص كننده ي سطرد Y مشخص كننده ي ستون LCD است. تايمر/ كانتريك تايمر/ كانتر ۱۶ بيتي يك مي تواند كلاك خود را از سيستم ، تقسيمي از كلاك سيستم و يا از پايه ي خروجي T1 تأمين كند. زماني كه تايمر/ كانتر از پايه ي خروجي كلاك دريافت مي كند، سيگنال خروجي با فركانس اسيلاتورcpu سنكرون مي شود. كلاك خروجي درلبه ي بالا رونده كلاك داخلي ‍cpu سنكرون مي شود. كلاك خروجي در لبه ي بالا رونده كلاك داخلي cpu نمونه برداري مي شود. پيكره بندي تايمر/ كانتر د محيط Bas Com:

Config Timer 1= Timer , PnfscALE= X كه X مي تواند يكي از عدد ۱، ۸، ۶۴، ۲۵۶، ۱۰۲۴ باشد. با دستور Start timer 1 ، تايمر راه اندازي مي شود و با دستور Stop timer متوقف مي شود.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *