مجید بهره مند 43111 اشتراک گذاری ارسال شده در 10 فروردین، ۱۳۹۳ دستورالعمل DO – LOOP : این دستور العمل زمانی استفاده می شود که ما بخواهیم یک حلقه تشکیل بدهیم. فرم کلی این دستور العمل به شکل زیر است: Do برنامه ای که قرار است به صورت حلقه اجرا شود Loop این حلقه یک حلقه بینهایت است و تنها با دستور EXIT DO می توان از آن خارج شد و ادامه برنامه از خط بعد از حلقه ادامه میابد. اگر بخواهیم حلقه ای بسازیم که تعداد چرخش برنامه تحت کنترل باشد می توانیم از DO – LOOP UNTIL به شکل زیر استفاده کنیم: DO برنامه ای که قراراست به صورت حلقه اجرا شود LOOP UNTIL expression که در این حلقه برنامه که قرار است به صورت حلقه انجام شود تا زمانی اجرا می شود که شرط expression صحیح شود. مثال: Dim A As Byte Do A=A+1 Loop Until A=10 در مثال بالا در هر بار اجرای حلقه یک رقم به متغییر A افزوده می شود ، این عمل تا زمانی اجرا می شود که مقدار A برابر با 10 شود. نکته: دستور العمل DO – LOOP حداقل یک بار اجرا می شود. دستورالعمل FOR – NEXT : از این دستور العمل می توانیم به عنوان یک کانتر استفاده کنیم. فرم کلی این دستور العمل به شکل زیر است: FOR var=start TO end STEP value Statements NEXT var متغییر var به عنوان کانتر استفاده شده است و start مقدار اولیه و end مقدار نهایی و value مقدار STEP یا گامهای شمارش را نشان می دهد. در صورتی که از STEP در برنامه استفاده نشود نرم افزار به صورت خودکار مقدار گامها را یک در نظر می گیرد. مثال: Dim A As Byte , B As Byte , C As Byte For A=1 To 10 Step 2 Print A Next A For B=1 To -5 Step -1 Print B Next B For C=1 To 10 Print C Next C در برنامه بالا مقدار متغییر A از 1 تا 10 با گامهای 2 افزایش میابد (3 ، 5 ، 7 ، 9) و متغییر B از 1 تا -5 با گامهای -1 کاهش میابد (0 ، -1 ، -2 ، -3 ، -4 ، -5) و همچنین متغییر C از یک تا 10 با گامهای 1 افزایش میابد (2 ، 3 ، 4 ، 5 ، 6 ، 7 ، 8 ، 9 ، 10) دستورالعمل IF : از دستورالعمل IF در جایی استفاده میکنیم که قصد داریم مرحله ای از برنامه در صورت اجرا شدن یک یا چند شرط اجرا شود. در برنامه نویسی BASCOM به شکل زیر نوشته می شود: IF expression THEN statement مثال: If A=10 Then A=0 در مثال بالا اگر مقدار متغییر A برابر 10 شود بلافاصله مقدارش صفر می شود. دستورالعمل statement زمانی اجرا می شود که شرط expression تحقق یابد. حالت 1- ممکن است دستورالعمل statement از یکی بیشتر باشد در این صورت در پایان شرط از عبارت END IF استفاده می کنیم که به شکل زیر نوشته می شود: IF expression THEN Statement 1 Statement 2 END IF حالت 2- ممکن است در برنامه بخواهیم در صورت محقق نشدن شرط برنامه دیگری اجرا شود که در این صورت از ELSE استفاده میکنیم و به شکل زیر نوشته می شود: IF expression THEN Statement 1 ELSE Statement 2 END IF حالت 3- ممکن است در برنامه بخواهیم در صورت محقق نشدن شرط برنامه بلافاصله وارد شرط دیگری شود که در این صورت از ELSE IF استفاده می کنیم و به صورت زیر نوشته می شود: IF expression 1 THEN Statement 1 ELSE IF expression 2 THEN Statement 2 END IF مثال: Dim A As Byte , B As Byte Do A = A + 1 If A=8 Then B = 5 Else If A = 15 Then B = 10 End If Loop Until A = 20 در مثال در هر بار اجرای حلقه یک واحد به مقدار متغییر A افزوده می شود. اگر مقدار A برابر عدد 8 شود آنگاه مقدار متغییر B برابر 5 می شود ، در غیر این صورت اگر مقدار A برابر عدد 15 باشد مقدار متغییر B برابر عدد 10 می شود. این حلقه تا زمانی اجرا می شود که مقدار A برابر 20 شود. دستور العمل WHILE – WEND : این دستور العمل نیز مانند دستورالعمل های DO – LOOP و FOR – NEXT برای ساختن حلقه استفاده می شود با این تفاوت که در دو دستورالعمل قبلی حداقل یک بار حلقه اجرا میشد اما در این دستوالعمل برای ورود به حلقه ابتدا شرط چک می شود و در صورت محقق بودن شرط برنامه وارد حلقه می شود. بنابر این ممکن است در حالت هایی از برنامه حلقه WHILE – WEND اجرا نشود. این دستورالعمل به شکل زیر نوشته می شود: WHILE condition Statements WEND در صورت محقق شدن شرط condition برنامه وارد حلقه می شود و برنامه statement تا زمان صحت شرط condition اجرا خواهد شد. مثال: Dim A As Byte A = 1 While A A = A + 1 Print A Wend در مثال بالا تا زمانی که مقدار متغییر A برابر یا کوچکتر از 10 باشد به متغییر A یک واحد اضافه می شود. دستورالعمل GOTO و JMP : از این دستورالعملها در جاهایی استفاده می شود که بخواهیم در روال برنامه ، ادامه برنامه را از نقطه ای به تقطه دیگری از برنامه هدایت کنیم یا به عبارتی برنامه را مجبور به پرش (JOMP) کنیم. شکل کلی این دستورالعمل در نرم افزار بسکام به شکل زیر نوشته می شود: GOTO label JMP label با این دستور می توان به برچسب label پرش کرد. برچسب label باید با علامت : (colon) یابد و می تواند تا 32 کاراکتر طول داشته باشد. در یک برنامه نباید از دو label هم نام استفاده کرد. دستور RETURN برای برگشت از برچسب وجود ندارد. مثال: Dim A As Byte Start : A = A + 1 If A Goto Start End If End در مثال بالا با شروع برنامه ابتدا شرط برنامه چک می شود و تا زمانی که متغییر A از عدد 10 کوچکتر باشد توسط دستور GOTO برنامه به برچسب start پرش می کند و یک واحد به متغییر A اضافه می شود. دستور EXIT : از این دستور برای خارج شدن از یک ساختار یا حلقه استفاده می شود تا ادامه برنامه از بعد از حلقه یا ساختار انجام شود. شکل کلی این دستور به شکل زیر نوشته می شود. EXIT FOR EXIT DO EXIT WHILE EXIT SUB EXIT FUNCTION دستور WAIT : گاهی در برنامه نیاز به تاخیر زمانی است و در این موارد می توان از دستور WITE (انتظار) استفاده کرد. هنگامی که برنامه به این دستور می رسد ادامه برنامه به اندازه مقدار WITE متوقف می شود و پس از سپری شدن این مقدار زمان مجدداً برنامه از خط بعد شروع به اجرا می شود. شکل کلی این دستور به شکل زیر نوشته می شود: WITE seconds WITEms milliseconds WITEus microseconds هنگامی که برنامه به دستور WITE می رسد به اندازه seconds ثانیه در برنامه تاخیر ایجاد می شود. هنگامی که برنامه به دستور WITEms می رسد به اندازه milliseconds میلی ثانیه در برنامه تاخیر ایجاد می شود. هنگامی که برنامه به دستور WITEus می رسد به اندازه microseconds میکروثانیه در برنامه تاخیر ایجاد می شود. نکته : دستور WITE زمان دقیق را ارائه نمی دهند و باید برای ایجاد زمان دقیق از تایمرهای میکروکنترلر استفاده شود. دستور TOGGLE : این دستور مقدار یک بیت یا یک پایه را معکوس میکند و به شکل کلی زیر نوشته می شود: TOGGLE pin/Bit مثال: Do Toggle pinb.0 Waitms 100 Loop در مثال بالا پین B.0 هر 100 میلی ثانیه یک بار صفر و یک بار یک می شود. اگر یک LED به این پایه از میکروکنترلر وصل کنیم شاهد چشمک زدن LED با فاصله زمانی 100 میلی ثانیه می شویم. م ب 1 لینک به دیدگاه
ارسال های توصیه شده