(Bascom AVR)دستورات برنامه نویسی مربوط به پورت های میکروکنترلر در  بسکام AVR ( مهندسی برق _ الکترونیک)

پژوهشگر و نویسنده: (  افشین رشید )

نکته : دستورات برنامه نویسی مربوط به پورت command port در محیط برنامه تایپ میشود و هر کدام برای اجرا و فرمان دستور خاصی برای برنامه ریزی و پروگرام کردن میکروکنترلر AVR برای عمل خاصی میباشد.

دستور toggle :

این دستور یک بایت را برعکس میکند، بایت میتواند یک پورت یا هر چیز دیگر باشد.

دستور set : 

این دستور یک بیت را یک میکند، بیت میتواند یک پین از پورت یا هر چیز دیگر باشد.

دستور ALIAS: 

از این دستور برای تغیر نام متغیر استفاده می شود . مانند:

DIM Q AS BIT 

Q ALIAS PORTB.1 

حالا می توانیم در برنامه، بجای 1.PORTB از متغیر Q استفاده نمایید.

SET Q ‘is equal with SET PORTB.1 

دستور BITWAIT :

با این دستور cpu میکرو مدام یک پین را چک میکند ، هنگامی که پایه 1 یا 0 شد ( صفر یا یک بودن در برنامه مشخص میشود) دستورات زیر خط برنامه اجرا میشوند، این دستور به فرم کلی زیر است: 

BITWAIT x , SET/RESET 

X: نام پایه است که قرار است چک شود ،مثل 0.porta یا 7.portb یا... 

RESET/SET: در صورت گذاشتن set ، هنگامی که پایه 1 شد برنامه های زیر دستور اجرا میشود و در صورت گذاشتن reset هنگامی که پایه 0 شد دستورات زیر خط اجرا میشوند. مانند: 

$regfile = "m16def.dat" 

$crystal = 8000000 

Config Portb.7 = Input 

Config Portb.6 = Output 

Bitwait Pinb.7 , Reset 

Set Portb.6 

Bitwait Pinb.7 , Set

Reset Portb.6

End

برای مثال در دستور برنامه نویسی و پروژه بالا از میکرو مگا 16 ، کلید و led استفاده شده است.دو خط اول برنامه معرفی میکرو و کریستال میباشد ، میکرو مگا 16 و کریستال 8 مگا هرتز است ( از کریستال داخلی میکرو استفاده شده است) در خط سوم پورت (7.b) پایه 8 میکرو به عنوان ورودی تعریف شده است و کلید به آن متصل گردیده ، در خط چهارم پایه (6.b ) پایه (7 میکرو ) به عنوان خروجی تعریف شده است و led به ان متصل گردیده ، در خط پنج متوسط دستور Bitwait پایه 7.b چک میشود و هنگامی که این پایه ریست شده ( به زمین متصل شد ، صفر شد) cpu میکرو به خط بعدی میرود ( توجه داشته باشید که cpu روی دستور Bitwait قفل میشود و تا زمانی که شرط (0 یا یک شدن پایه) برقرار نباشد این قفل شدن ادامه دارد) در خط بعدی یا خط ششم ، پایه 6.b یک میشود و led روشن میشود ، در خط بعدی دوباره پایه 7.b چک میشود ، این بار شرط برعکس حالت قبل است ، یعنی اگر پایه 1 شود cpu میکرو به خط بعدی پرش میکند و led را خاموش میکند.و برنامه با دستور end پایان میابد.(وظیفه مقاومت در اینجا بالا نگه داشتن پایه 7.b میباشد)

دستورات تاخیر: 

برای ایجاد تاخیر در برنامه از دستور wait استفاده میشود.

دستور wait به سه شکل زیر است: 

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

دستور DELAY : 

این دستور در هر جا که استفاده شود یک تاخیر 1میلی ثانیه ایجاد می شود ، هر جا دستور wait به کار رود برنامه در انجا به اندازه زمان مورد نظر متوقف می شود

دستورات حلقه وپرش : 

گاهی اوقات نیاز است برنامه مدام اجرا شود یا در هنگام اجرای برنامه از یک خط به خط دیگری پرش شود. برای این کار از حلقه ها و دستورات پرش استفاده می شود ، شروع یک حلقه با do وپایان آن با loop است، برای پرش از یک قسمت برنامه به قسمت دیگر می توان از دستور jmp یا goto استفاده کرد.

پژوهشگر و نویسنده:  دکتر  (  افشین رشید)

دکترایِ  تخصصی نانو _ میکرو الکترونیک