امروز جمعه / 19 شهريور ماه ، 1389 / 07:46 مناسبت: عید سعید فطر (تعطیل) مناسبت: وفات آیت الله سید محمود طالقانی اولین امام جمعه تهران (1358 ھ.ش)
شباهنگام برای خانواده و نزدیکانت نامه بنویس و در روز برای اربابان و سرپرستان از اُرد بزرگ |
![]() |
پروژه کامل آی سی ضبط صوت ۸ تا ۱۶ دقیقه ( ISD4004 ) با پروتکل SPI
دستورات ایجاد حلقه ایجاد حلقه به کمک for حلقه یعنی چه؟ حلقه یعنی یک مسیر بسته ای که CPU بطور مداوم دستورات داخل آن را اجرا می کند! (البته به نوع حلقه و شرط حلقه هم بستگی داره که میگیم) کد:
Int a; For (a=0; a<19; a++){ PORTD=0x00; Wait_ms(300); PORTD=0xff; Wait_ms(300); } کارکرد برنامه: در این برنامه یعنی دستورات داخل حلقه، ابتدا پورت D رو کلا خاموش میکنه (0) و 300 میلی ثانیه صبر میکنه و بعد پورت D رو کلا روشن میکنه (1) و بعد 300 میلی ثانیه صبر میکنه و همین طور این 4 تا دستور رو تکرار میکنه. حالا ما اومدیم و تو حلقه بهش گفتیم این مجموعه 4 تایی دستورات را فقط 19 بار اجرا کن که ابتدا یک متغیر تعریف می کنیم مثلا a و بعد طبق مثال بالا باید سه دستور در for () بنویسیم دقیقا به همین ترتیب، ابتدا مقدار اولیه حلقه رو مشخص می کنیم که در اینجا من صفر بهش دادم و بعد شرط حلقه رو می نویسیم که من گفتم تا زمانی دستورات داخل حلقه رو اجرا کن که a کوچیکتر از 19هست. متغیر a در اینجا نقش یک شمارنده رو داره و بعد بهش گفتم بعد از اجرای یک بار دستورات یک واحد به a اضافه کن و همین طور ادامه میده تا به 19 برسه و وقتی شرط برقرار شد از حلقه میاد بیرون. این حلقه یک حلقه بالا شمار هست. با گام 1 یعنی یک واحد یک واحد بالا میره. نکته: به جای a++ می توانستیم بنویسیم a=a+2 یا a+=2 یعنی 2 واحد 2 واحد برو بالا. (گام 2)اگر می خواستیم حلقه پایین شمار باشد باید به این صورت عمل کنیم: For (a=19; a>0; a--) ایجاد حلقه به کمک while حلقه while : ساختار حلقه به این صورت می باشد که باید درون () پرانتز یا صفر باشه یا یککه اگر صفر باشه حلقه اجرا نمیشه یعنی CPU از درون حلقه بیرون میاید و اگر یک باشه حلقه به یک حلقه بی نهایت تبدیل میشه و CPU دستورات داخل حلقه را تا بی نهایت تکرار می کنه. حالا می تونیم داخل () شراط یا یک متغیر قرار داهیم تا توسط این شرط یا متغیر، حالتهای صفر یا یک را ایجاد کنیم و در عمل حلقه را کنترل کنیم. که به چند روش حلقه را به صورت زیر می نویسیم: while (1); ایجاد یک حلقه بی نهایت بدون اجرای هیچ دستوری while (1){ unsigned char x=2,y=5; در این برنامه تا زمانی دستورات داخل حلقه تکرار میشود که متغیر y بزرگتر از x باشد. و در غیر این صورت از حلقه بیرون میاد، هر بار CPU به انتهای حلقه رسید دوباره به ابتدای حلقه میره و شرط رو چک میکنه اگر شرط برقرار بود دستورات داخل حلقه دوباره اجرا میشه در غیر اینصورت از حلقه خارج میشه. به برنامه زیر توجه کنید: unsigned char x=0; چون متغیر x=0 می باشد پس CPU هیچ گاه وارد حلقه نمی شود و دستورات داخل حلقه هم اجرا نمیشه. حلقه do … while : این حلقه برعکس حلقه بالایی که اول شرط چک می شود و بعد اجازه ورود به حلقه را می داد در اینجا ابتدا دستورات داخل حلقه حداقل برای یک بار اجرا می شوند و در انتهای حلقه شرط حلقه برسی می شود که اگر شرط برقرار بود اجازه ورود مجدد رو داره در غیر اینصورت اجازه ورود مجدد نداره و فقط همون بار اول که اجرار شد دیگه همون بود تا زمانی که این شرط برقرار بشه. unsigned char x=2,y=5;
do{ دستورات } while (y > x); به مثال زیر توجه کنید. در این مثال تا وقتی که مقدار i کوچیکتر از 10 می باشد این حلقه تکرار میشه با هر بار اجرای حلقه یک واحد به متغیر i افزوده می شود تا به مقدار 10 برسد و الان دیگه شرط برقرار نیست و از حلقه خارج میشه. unsigned char i;
do{ i++; } while (i < 10); یا در مثال زیر مقدار اولیه i برابر 5 می باشد و شرط حلقه متغیر i میاشد که با صفر شدن آن دیگر حلقه تکرار نخواهد شد و از آن خارج می شود. با هر بار اجرای حلقه یک واحد از متغیر i کم می شود تا در نهایت به صفر برسد. unsigned char i=5;
do{ i--; } while (i); پایان قسمت سوم
© کپی برداری از مطالب این سایت تنها با ذکر منبع مجاز می باشد کلمات کليدي : انواع حلقه های for و while قسمت 3 دستورات ایجاد حلقه میکرو میکروکنترلر برنامه نویسی زبان سی آموزش سریع برنامه نویسی آموزش جامع آموزش ميكرو كنترلر 8051 قسمت ششم (تايمرها و شمارنده ها) بازدید 571 بار آموزش ميكرو كنترلر 8051 قسمت سوم (معرفي دستورات) بازدید 526 بار کار با مبدل آنالوگ به دیجیتال ADC804 بازدید 475 بار شمارنده 4 رقمي به زبان اسمبلی با 8051 بازدید 448 بار شمارنده دو رقمی با 8051 و به زبان اسمبلی بازدید 400 بار کد لینک ثابت: ارسال شده در مورخه : سه شنبه، 11 اسفند ماه ، 1388 توسطSMGH-admin
بازدید: 678 بار | 18 امتیاز از 4
پر بازدید ترین مطلب در موضوع آموزش میکروکنترلر AVR: [ آموزش AVR به زبان سی C ] می باشد. که 1272 بازدید داشته.
مطالب دیگر در این آرشیو : دستورات break و switch و goto و continue و ... قسمت 4 بازدید 635 بار توابع در زبان سی C قسمت 5 بازدید 581 بار کار با LCD کاراکتری یا متنی به زبان C بازدید 1029 بار آموزش سریع میکروکنترلر AVR بازدید 147 بار آموزش ميكرو كنترلر AVR به زبان بيسيك || قسمت دوم بازدید 253 بار آموزش ميكرو كنترلر AVR به زبان بيسيك || قسمت اول بازدید 272 بار آموزش ميكرو كنترلر AVR به زبان بيسيك || قسمت سوم بازدید 278 بار آموزش ميكرو كنترلر AVR به زبان بيسيك || قسمت چهارم بازدید 350 بار متغیرها آرایه ها و رشته ها مقدار دهی قسمت 2 بازدید 394 بار مقدمات و اصول و قوانین زبان سی C قسمت 1 بازدید 492 بار كار با EEPROM خارجي و داخلي ... || قسمت پنجم بازدید 568 بار آموزش AVR به زبان سی C بازدید 1272 بار |
امتیاز دهی به مطلب
تعداد آراء: 4 ![]() انتخاب ها
10 مطلب پربازدید
آخرین 10 مطلب پر بازدید سایت
|