رفتن به مطلب

ارسال های توصیه شده

آشنایی با دستور if

برای مثال ما میخواهیم با استفاده از یک کلید تعدادی دیود را روشن وخاموش کنیم. مثلا با فشار دادن کلید، دیود ها به مدت 1ثانیه روشن وسپس خاموش شوند. وبرای روشن شدن مجدد آنها نیاز به فشار دادن دوباره کلید باشد.

یک نکته دراینجا به شما عزیزان بگم که هر وقت در مداری نیاز بود که از شرط استفاده کنیم یعنی (اگر) ، باید دستور ifرا بکار ببریم. درباره مدار بالا وقتی دیودها روشن میشوند که شرط ما، یعنی فشاردادن گلید برقرار شود درغیر اینصورت مدار روشن نمیشود.

 

در برنامه نویسی Cبرای دستوری مانند ifیک جمله کلی وجود دارد که به قرار زیر است:

(شرطif(

}

--------

[color=

#000080]مجموعه دستورات[/color]

--------

{

  • تمامی دستورات (مثل if) دربرنامه Cباید باحروف کوچک نوشته شوند.
  • شرط برنامه را در پرانتز بعد از کلمه ifباید نوشت.
  • مجموعه دستورات را باید درون دوعلامت آکلاد{}گذاشت.
  • بعد از هر دستور بایدعلامت سمی کولن(;)را گذاشت.

پس برای نوشتن این برنامه نکات زیر را رعایت کنید:

1- برای این کار نیاز به یک پایه ورودی داریم که از یک پایه آی سی استفاده می کنیم.

2- درباره ورودی وخروجی بودن یک پایه در درس اول توضیح داده شد.

3- پس پایه مورد نظر را ورودی پوش پول قرار میدهیم.

4- پورت های دیگر را خروجی مثلااولین پایه پورت Aرا ورودی پوش پول وپورتBرا کامل خروجی یک قرار میدهیم.

5- کتابخانه تاخیر(delay)را فراخوانی میکنیم. ودر حلقه while(1)این برنامه را مینویسیم.

While(1){

//Dastoore if

if(PINA.0==0)

{

[color=

#000080]PORTB=0xFF //Turn ON PORTB[/color]

[color=

#000080]delay_ms(1000)[/color]

[color=

#000080]PORTB=0x00 //Turn OFF PORTB[/color]

}

}

توضیحات برنامه:

برای اینکه درباره علامت هایی که در برنامه Cکاربرد دارند جدول زیر را مشاهد نمایید:

جدول تساوی:

[TABLE=align: right]

[TR]

[TD]

عملگر

[/TD]

[TD]

مفهوم

[/TD]

[TD]

مثال

[/TD]

[TD]

نتیجه

[/TD]

[/TR]

[TR]

[TD]

=>

[/TD]

[TD]

کوچکتر یا مساوی

[/TD]

[TD]

2=>2

[/TD]

[TD]

مخالف صفر

[/TD]

[/TR]

[TR]

[TD]

>

[/TD]

[TD]

کمتر

[/TD]

[TD]

3>2

[/TD]

[TD]

0

[/TD]

[/TR]

[TR]

[TD]

[/TD]

[TD]

بیشتراز

[/TD]

[TD]

3

[/TD]

[TD]

مخالف صفر

[/TD]

[/TR]

[TR]

[TD]

=

[/TD]

[TD]

بزرگتر یامساوی

[/TD]

[TD]

2=

[/TD]

[TD]

0

[/TD]

[/TR]

[TR]

[TD]

==

[/TD]

[TD]

برابر است با

[/TD]

[TD]

3==3

[/TD]

[TD]

مخالف صفر

[/TD]

[/TR]

[TR]

[TD]

=!

[/TD]

[TD]

مخالف است با

[/TD]

[TD]

3=!2

[/TD]

[TD]

مخالف صفر

[/TD]

[/TR]

[/TABLE]

همانطور که درجدول بالا ملاحظه نمودید برای اینکه یک مقدار را به یک پایه یاپورت مساوی قرار دهیم از

علامت ==(دوتا مساوی) استفاده میکنیم.

اگر دقت کرده باشید می بینید ما میگیم اگر پایه اول پورت Aمساوی صفر (یازمین یا منفی) شد حالا دستورات زیر را برای ما انجام بده!

چون ما در برنامه این پایه را پوش پول قرار دادیم یعنی دوسر این پایه یک وجود دارد یعنی برای اینکه پس از فشار دادن کلید، این پایه تغییری را احساس کند لذا باید به آن صفر بدهیم که متوجه تغییر شود وبدین معنا که میگیم اگه دوسر این پایه از حالت یک به صفر تبدیل شد حالا پورت Bرا برای مدت 1 ثانیه روشن وپس از آن خاموش کن و تا وقتی که دوباره کلید فشار داده نشده در همین حالت باقی بمان!

امید وارم که با این همه طول وتفسیر بالاخره متوجه عرائض بنده شده باشید. منظور اینکه اینجوری که ما صفر میذاریم.

دو نکته درباره برنامه پروتئوس:

 

  • برای استفاده از کلید فشاری باید درقسمت کی وردز کلمه BUTTONرا بنویسید.
  • یک طرف آن به پایه اول پورتAوطرف دیگر را به منفی یا زمین وصل کنید.

 

 

  • Like 2
لینک به دیدگاه
×
×
  • اضافه کردن...