دوست عزيز اولين مشكلي كه تو برنامه شما ميبينم cls دوم كه نيازي بهش نيست
چنتل برنامه به عنوان نمونه ميزارم
regfile = "m16def.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = PORTD.0 , Db5 = PORTD.1 , Db6 = PORTD.2 , _
Db7 = PORTD.3 , E = PORTD.4 , Rs = PORTD.5
Dim A As Byte
Dim B As Byte
Dim C As Integer
For A = 1 To 10 Step 2
Locate 1 , 1
Lcd A
Next A
For C = 9 To -5 Step -1
Locate 1 , 6
Lcd C
Next
For B = 1 To 10
Locate 2 , 1
Lcd B
Next
End
-----------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
-------------------------------------------------------------------------------
برنامه
Wend
دستورالعمل While - Wend تشکيل يک حلقه تکرار مي دهد که تکرار اين حلقه تا زماني ادامه مي يابد که عبارت بکاربرده شده نتيجه را FALSE کند و يا مقدار صفر بگيرد . دستورالعمل While بصورت ورود به حلقه به شرط مي باشد , بنابراين While ممکن است در حالتهايي اصلا اجرا نشود .
برنامه تا وقتي که حاصل Condition صفر يا False نشده است تکرار خواهد شد .
مثال :
$regfile = "m16def.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = PORTD.0 , Db5 = PORTD.1 , Db6 = PORTD.2 , _
Db7 = PORTD.3 , E = PORTD.4 , Rs = PORTD.5
Dim A As Byte
A = 1
While A < 10
Locate 1 , 1
Lcd A
Incr A
Waitms 600
Wend
End
if :
--------------------------------------------------------------------
--------------------------------------------------------------
--------------------------------------------------------------
$regfile = "m16def.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = PORTD.2 , Db5 = PORTD.3 , Db6 = PORTD.4 _
, Db7 = PORTD.5 , E = PORTD.1 , Rs = PORTD.0
Dim A As Byte
Do
Incr A
Wait 1
If A = 1 Then :
Locate 1 , 1
Lcd "CLAUSE1 true"
Locate 2 , 1
Lcd "a=1"
Elseif A = 2 Then :
Locate 1 , 1
Lcd "CLAUSE2 true"
Locate 2 , 1
Lcd "a=2"
Elseif A = 3 Then :
Locate 1 , 1
Lcd "CLAUSE3 true"
Locate 2 , 1
Lcd "a=3"
Elseif A = 4 Then :
Locate 1 , 1
Lcd "CLAUSE4 true"
Locate 2 , 1
Lcd "a=4"
Elseif A = 5 Then :
Locate 1 , 1
Lcd "CLAUSE5 true"
Locate 2 , 1
Lcd "a=5"
Elseif A = 6 Then :
Locate 1 , 1
Lcd "CLAUSE6 true"
Locate 2 , 1
Lcd "a=6"
Else :
Locate 1 , 1
Lcd "CLAUSE4 false"
Locate 2 , 1
Lcd "a>6"
End If
Loop
End