شکل کلی این دستور به صورت زیر است:
For index=start to stop (step(-) inc)
Body
Next index
از این دستور برای افزایش یا کاهش یک متغیر استفاده می شود. در این دستور index نام متغیر مورد نظر است که می خواهیم در هر گام به آن افزوده شود یا از آن کاسته شود، start مقدار اولیه متغیر است و step مقدار افزایش یا کاهش است که هر بار دستور next اجرا می شود این افزایش یا کاهش در متغیر اعمال می شود و stop مقدار نهایی می باشد که هر وقت index=stop شد، حلقه for متوقف شده و دستورات بعدی برنامه اجرا می شوند.
Body نیز دستورات مورد نظر می باشند که می خواهیم میکرو آن را در حلقهfor اجرا کند.
نکته) اگر هیچ مقداری برای step در نظر گرفته نشود، هر بار که برنامه به عبارن next می رسد، متغیر به مقدار یک واحد افزایش می یابد.
این هم برنامه ساده امروز ( شمارش به صورت باینری):
TRISB=0
B0 VAR BYTE
LOOP:
FOR B0=0 TO 255
PORTB=B0
PAUSE 250
NEXT B0
GOTO LOOP
END
با دستورات خط اول و دوم که از قبل آشنا هستید. همانطور که ملاحظه می کنید در این برنامه از ساده ترین شکل حلقه for استفاده شده است. متغیر B0 از صفر تا 255، یک واحد یک واحد می شمارد و در هر شمارش آن را روی پورت B نمایش می دهد و 250 میلی ثانیه تاخیر ایجاد می کند.
بعد از این که تا 255 را نشان داد با دستور goto loop دوباره به ابتدای حلقه ی loop باز می گردد و یک بار دیگر شمارش را از صفر شروع می کند.
این هم مثالی برای کسانی که می خواهند به صورت کاهشی از این دستور استفاده کنند:
For B2=20 TO 10 step -2
…
Next
در زیر نیز می توانید شماتیک مدار که با پروتئوس شبیه سازی شده مشاهده کنید: