ห้องเรียนคอมพิวเตอร์ วิชาการเขียนโปรแกรมบังคับหุ่นยนต์ 2 ม. 3/7 ภาคเรียนที่ 2
ข้อสอบปลายภาค
1. SLEEP อยู่ในโหมด.....
2. READ เป็นคำสั่งที่.....
3. RUN เป็นคำสั่งที่.....
4. RETURN เป็นคำสั่งที่....
5.ABS ....
6.คำสั่งเลี้ยวขวา....
7. เมื่อมีการสะท้อน (พื้นผิวสีขาว) ที่ขาสัญญาณเอาต์พุตจะมี.....
8. เมื่อไม่มีการสะท้อน (พื้นผิวสีดำ) ที่ขาสัญญาณเอาต์พุตจะมี ....
9. สวิตช์กันชนหน้าหลังแบ่งออกเป็น 2 ส่วน มีอะไรบ้าง
10.เซอร์โวมอเตอร์ คืออะไร
11. เซนเซอร์แสง คืออะไร
12.ให้อธิบายการควบคุมหุ่นยนต์ให้เคลื่อนที่เป็นรูปสามเหลี่ยมพร้อมเขียนผังงาน
13.ให้อธิบายการควบคุมหุ่นยนต์ให้เคลื่อนที่เป็นรูปวงกลมพร้อมเขียนผังงาน
14.ให้อธิบายการควบคุมหุ่นยนต์ให้เคลื่อนที่เป็นรูปสี่เหลี่ยมพร้อมเขียนผังงาน
15.Output เป็นคำสั่งที่....
http://www.thaigoodview.com/node/128903
ด.ญ ณัฐพร จันบัวลา
ด.ช ศุภวิชญ์ ผลทิพย์ ม3/7 เลขที่ 14
http://www.thaigoodview.com/node/128900
ด.ช พิสิษฐื บัวบาน ม3/7 เลขที่ 11
http://www.thaigoodview.com/node/128896
บุญศักดิ์ เตโช เลขที่ 18 ม.3/7
http://thaigoodview.com/node/128894
เจษฎา อยู่แก้ว เลขที่ 3 ม.3/7
http://www.thaigoodview.com/node/128895
ด.ญ เพชรลัดดา แซ่หวาง ม3/7 เลขที่ 21
http://www.thaigoodview.com/node/128892
วรเมธ โสภี เลขที่ 13 ชั้น 3/7
http://www.thaigoodview.com/node/128886
นนทชา กสิวัฒน์ เลขที่ 7 ชั้น 3/7
' {$STAMP BS2p}
LoopLeft VAR Word
LoopRight VAR Word
LoopStraight VAR Word
ASCII VAR Byte
OrderASCII VAR Word
AUXIO
PAUSE 1000
GOSUB InitiailCD
MAINIO
LoopMain:
IF(IN4=0 AND IN3=0 AND IN1=0 AND IN0=0)THEN MotorStop
IF(IN4=0 AND IN3=0 AND IN1=0 AND IN0=1)THEN MotorStop
IF(IN4=0 AND IN3=0 AND IN1=1 AND IN0=0)THEN MotorStop
IF(IN4=0 AND IN3=0 AND IN1=1 AND IN0=1)THEN MotorBackward
IF(IN4=0 AND IN3=1 AND IN1=0 AND IN0=0)THEN MotorStop
IF(IN4=0 AND IN3=1 AND IN1=0 AND IN0=1)THEN MotorStop
IF(IN4=0 AND IN3=1 AND IN1=1 AND IN0=0)THEN MotorStop
IF(IN4=0 AND IN3=0 AND IN1=1 AND IN0=1)THEN MotorEvadeLeft
IF(IN4=1 AND IN3=0 AND IN1=0 AND IN0=0)THEN MotorStop
IF(IN4=1 AND IN3=0 AND IN1=0 AND IN0=1)THEN MotorStop
IF(IN4=1 AND IN3=0 AND IN1=1 AND IN0=0)THEN MotorStop
IF(IN4=0 AND IN3=0 AND IN1=0 AND IN0=0)THEN MotorEvadeRight
IF(IN4=1 AND IN3=1 AND IN1=0 AND IN0=0)THEN MotorForward
IF(IN4=1 AND IN3=1 AND IN1=0 AND IN0=1)THEN MotorForward
IF(IN4=1 AND IN3=1 AND IN1=1 AND IN0=0)THEN MotorForward
IF(IN7=0 AND IN6=0 AND IN5=1 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorForward
IF(IN7=0 AND IN6=1 AND IN5=1 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorReturnRightGoLine
IF(IN7=0 AND IN6=1 AND IN5=0 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorForward
IF(IN7=0 AND IN6=1 AND IN5=1 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorReturnRight90
IF(IN7=1 AND IN6=0 AND IN5=0 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorReturnLeftGoLine
IF(IN7=1 AND IN6=0 AND IN5=1 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorForward
IF(IN7=1 AND IN6=1 AND IN5=0 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorReturnLeft90
IF(IN7=1 AND IN6=1 AND IN5=1 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorForward
GOTO LoopMain
MotorForward
AUXIO
ASCII=$1
GOSUB SendCommandLCD
FOR OrderASCII=0 TO 6
LOOKUP OrderASCII,["Forward"],ASCII
GOSUB SemdASCII
NEXT
MAINIO
PULSOUT 13,1250
PULSOUT 14,2500
PAUSE 20
GOTO LoopMain
MotorBackward:
AUXIO
ASCII=$1
GOSUB SendCommandLCD
FOR OrderASCII=0 TO 7
LOOKUP OrderASCII,["Backward"],ASCII
GOSUB SendASCII
NEXT
MAINIO
FOR LoopStraight= TO 50
PULSOUT 13,2500
PULSOUT 14,1250
PAUSE 20
NEXT
GOTO LoopMain
MotorStop:
AUXIO
ASCII=$1
GOSUB SemdCommandLCD
FOR OrderASCII=0 TO 3
LOOKUP OrderASCII,["Stop"]LASCII
GOSUB SandASCII
NEXT
MAINIO
LOW 13
LOW 14
FREQOUT 15,1000,1000,1000
GOTO LoopMain
MotorReturnLeft90:
AUXIO
ASCII=$1
GOSUB SemdCommandLCD
FOR OrderASCII=0 TO 13
LOOKUP OrderASCII,["Return Left 90"],ASCII
GOSUB SendASCII
NEXT
MAINIO
FOR LoopLeft = 1 TO 30
PULSOUT 13,1250
PULSOUT 14,2500
PAUSE 20
NEXT
FOR LoopLeft = 1 TO 40
PULSOUT 13,1250
PULSOUT 14,1200
PAUSE 20
NEXT
GOTO LoopMain
MotorEvadeRight
AUXIO
ASCII=$1
GOSUB SendCommabdLCD
FOR OrderASCII=0 TO 10
LOOKUP ORderASCII,["Evade Right"],ASCII
GOSUB SendASCII
NEXT
MAINIO
FOR LoopRight = 1 TO 40
PULSOUT 13,2500
PULSOUT 14,1250
PAUSE 20
NEXT
FOR LoopRight = 1 TO 20
PULSOUT 13,1250
PULSOUT 14,1250
PAUSE 20
GOTO LoopMain
MotorReturnLeftGoLine:
PULSOUT 13,1250
PULSOUT 14,1250
PAUSE 20
GOTO LoopMain
MotorReturnRight90:
AUXIO
ASCII=$1
GOSUB SendCommandLCD
FOR OrderASCII = 0 TO 14
LOOKUP OrderASCII,["Return Right 90"],ASCII
GOSUB SendASCII
NEXT
MAINIO
FOR LOOpRight = 1 TO 30
PULSOUT 13,1250
PULSOUT 14,2500
PAUSE 20
NEXT
FOR LoopRight = TO 40
PULSOUT 13,2500
PULSOUT 14,2500
PAUSE 20
NEXT
GOTO LoopMain
MotorEvadeLeft
AUXIO
ASCII = $1
GOSUB SendCommandLCD
FOR OrderSCII = 0 TO 9
LOOKUP OrderSCII,["Evade Left"],ASCII
GOSUB SendASCII
NEXT
MAINIO
FOR LoopLeft = 1 TO 40
PULSOUT 13,2500
PULSOUT 14,1250
PAUSE 20
NEXT
FOR LoopLeft = 1 TO 20
PULSOUT 13,2500
PULSOUT 14,2500
PAUSE 20
NEXT
GOTO LoopMain
MotorReturnRightGoLine:
PULSOUT 13,2500
PULSOUT 14,2500
PAUSE 20
GOTO LoopMain
InitialLCD:
ASCII=$33
GOSUB SendCommandLCD
ASCII=$32
GOSUB SendCommandLCD
ASCII=$28
GOSUB SendCommandLCD
ASCII=$C
GOSUB SendCommandLCD
ASCII=$6
GOSUB SendCommandLCD
ASCII=$1
GOSUB SendCommandLCD
RETURN
SendASCII
HIGH 10 : GOTO NextSend
SendCommandLCD
LOW 10
NextSend
HIGH 15: IF ASCILBIT7 = 1 THEN NextSand1: LOW 15
NextSand1:
HIGH 14: IF ASCILBIT6 = 1 THEN NextSand2: LOW 14
NextSand2:
HIGH 13: IF ASCILBIT5 = 1 THEN NextSand3: LOW 13
NextSand3:
HIGH 12: IF ASCILBIT4 = 1 THEN NextSand4: LOW 12
NextSand4:
PULSOUT 11,1:PAUSE 1
HIGH 15 : IF ASCII.BIT3=1THEN NextSand5:LOW 15
NextSand6:
HIGH 14 : IF ASCII.BIT2=1THEN NextSand6:LOW 14
NextSand7:
HIGH 13 : IF ASCII.BIT1=1THEN NextSand7:LOW 13
NextSand8
HIGH 12 : IF ASCII.BIT0=1THEN NextSand8:LOW 12
NextSand9
PULSOUT 11,1:PAUSE 1
RETURN
' {$STAMP BS2p}
LoopLeft VAR Word
LoopRight VAR Word
LoopStraight VAR Word
ASCII VAR Byte
OrderASCII VAR Word
AUXIO
PAUSE 1000
GOSUB InitiailCD
MAINIO
LoopMain:
IF(IN4=0 AND IN3=0 AND IN1=0 AND IN0=0)THEN MotorStop
IF(IN4=0 AND IN3=0 AND IN1=0 AND IN0=1)THEN MotorStop
IF(IN4=0 AND IN3=0 AND IN1=1 AND IN0=0)THEN MotorStop
IF(IN4=0 AND IN3=0 AND IN1=1 AND IN0=1)THEN MotorBackward
IF(IN4=0 AND IN3=1 AND IN1=0 AND IN0=0)THEN MotorStop
IF(IN4=0 AND IN3=1 AND IN1=0 AND IN0=1)THEN MotorStop
IF(IN4=0 AND IN3=1 AND IN1=1 AND IN0=0)THEN MotorStop
IF(IN4=0 AND IN3=0 AND IN1=1 AND IN0=1)THEN MotorEvadeLeft
IF(IN4=1 AND IN3=0 AND IN1=0 AND IN0=0)THEN MotorStop
IF(IN4=1 AND IN3=0 AND IN1=0 AND IN0=1)THEN MotorStop
IF(IN4=1 AND IN3=0 AND IN1=1 AND IN0=0)THEN MotorStop
IF(IN4=0 AND IN3=0 AND IN1=0 AND IN0=0)THEN MotorEvadeRight
IF(IN4=1 AND IN3=1 AND IN1=0 AND IN0=0)THEN MotorForward
IF(IN4=1 AND IN3=1 AND IN1=0 AND IN0=1)THEN MotorForward
IF(IN4=1 AND IN3=1 AND IN1=1 AND IN0=0)THEN MotorForward
IF(IN7=0 AND IN6=0 AND IN5=1 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorForward
IF(IN7=0 AND IN6=1 AND IN5=1 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorReturnRightGoLine
IF(IN7=0 AND IN6=1 AND IN5=0 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorForward
IF(IN7=0 AND IN6=1 AND IN5=1 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorReturnRight90
IF(IN7=1 AND IN6=0 AND IN5=0 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorReturnLeftGoLine
IF(IN7=1 AND IN6=0 AND IN5=1 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorForward
IF(IN7=1 AND IN6=1 AND IN5=0 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorReturnLeft90
IF(IN7=1 AND IN6=1 AND IN5=1 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorForward
GOTO LoopMain
MotorForward
AUXIO
ASCII=$1
GOSUB SendCommandLCD
FOR OrderASCII=0 TO 6
LOOKUP OrderASCII,["Forward"],ASCII
GOSUB SemdASCII
NEXT
MAINIO
PULSOUT 13,1250
PULSOUT 14,2500
PAUSE 20
GOTO LoopMain
MotorBackward:
AUXIO
ASCII=$1
GOSUB SendCommandLCD
FOR OrderASCII=0 TO 7
LOOKUP OrderASCII,["Backward"],ASCII
GOSUB SendASCII
NEXT
MAINIO
FOR LoopStraight= TO 50
PULSOUT 13,2500
PULSOUT 14,1250
PAUSE 20
NEXT
GOTO LoopMain
MotorStop:
AUXIO
ASCII=$1
GOSUB SemdCommandLCD
FOR OrderASCII=0 TO 3
LOOKUP OrderASCII,["Stop"]LASCII
GOSUB SandASCII
NEXT
MAINIO
LOW 13
LOW 14
FREQOUT 15,1000,1000,1000
GOTO LoopMain
MotorReturnLeft90:
AUXIO
ASCII=$1
GOSUB SemdCommandLCD
FOR OrderASCII=0 TO 13
LOOKUP OrderASCII,["Return Left 90"],ASCII
GOSUB SendASCII
NEXT
MAINIO
FOR LoopLeft = 1 TO 30
PULSOUT 13,1250
PULSOUT 14,2500
PAUSE 20
NEXT
FOR LoopLeft = 1 TO 40
PULSOUT 13,1250
PULSOUT 14,1200
PAUSE 20
NEXT
GOTO LoopMain
MotorEvadeRight
AUXIO
ASCII=$1
GOSUB SendCommabdLCD
FOR OrderASCII=0 TO 10
LOOKUP ORderASCII,["Evade Right"],ASCII
GOSUB SendASCII
NEXT
MAINIO
FOR LoopRight = 1 TO 40
PULSOUT 13,2500
PULSOUT 14,1250
PAUSE 20
NEXT
FOR LoopRight = 1 TO 20
PULSOUT 13,1250
PULSOUT 14,1250
PAUSE 20
GOTO LoopMain
MotorReturnLeftGoLine:
PULSOUT 13,1250
PULSOUT 14,1250
PAUSE 20
GOTO LoopMain
MotorReturnRight90:
AUXIO
ASCII=$1
GOSUB SendCommandLCD
FOR OrderASCII = 0 TO 14
LOOKUP OrderASCII,["Return Right 90"],ASCII
GOSUB SendASCII
NEXT
MAINIO
FOR LOOpRight = 1 TO 30
PULSOUT 13,1250
PULSOUT 14,2500
PAUSE 20
NEXT
FOR LoopRight = TO 40
PULSOUT 13,2500
PULSOUT 14,2500
PAUSE 20
NEXT
GOTO LoopMain
MotorEvadeLeft
AUXIO
ASCII = $1
GOSUB SendCommandLCD
FOR OrderSCII = 0 TO 9
LOOKUP OrderSCII,["Evade Left"],ASCII
GOSUB SendASCII
NEXT
MAINIO
FOR LoopLeft = 1 TO 40
PULSOUT 13,2500
PULSOUT 14,1250
PAUSE 20
NEXT
FOR LoopLeft = 1 TO 20
PULSOUT 13,2500
PULSOUT 14,2500
PAUSE 20
NEXT
GOTO LoopMain
MotorReturnRightGoLine:
PULSOUT 13,2500
PULSOUT 14,2500
PAUSE 20
GOTO LoopMain
InitialLCD:
ASCII=$33
GOSUB SendCommandLCD
ASCII=$32
GOSUB SendCommandLCD
ASCII=$28
GOSUB SendCommandLCD
ASCII=$C
GOSUB SendCommandLCD
ASCII=$6
GOSUB SendCommandLCD
ASCII=$1
GOSUB SendCommandLCD
RETURN
SendASCII
HIGH 10 : GOTO NextSend
SendCommandLCD
LOW 10
NextSend
HIGH 15: IF ASCILBIT7 = 1 THEN NextSand1: LOW 15
NextSand1:
HIGH 14: IF ASCILBIT6 = 1 THEN NextSand2: LOW 14
NextSand2:
HIGH 13: IF ASCILBIT5 = 1 THEN NextSand3: LOW 13
NextSand3:
HIGH 12: IF ASCILBIT4 = 1 THEN NextSand4: LOW 12
NextSand4:
PULSOUT 11,1:PAUSE 1
HIGH 15 : IF ASCII.BIT3=1THEN NextSand5:LOW 15
NextSand6:
HIGH 14 : IF ASCII.BIT2=1THEN NextSand6:LOW 14
NextSand7:
HIGH 13 : IF ASCII.BIT1=1THEN NextSand7:LOW 13
NextSand8
HIGH 12 : IF ASCII.BIT0=1THEN NextSand8:LOW 12
NextSand9
PULSOUT 11,1:PAUSE 1
RETURN
' {$STAMP BS2p}
LoopLeft VAR Word
LoopRight VAR Word
LoopStraight VAR Word
ASCII VAR Byte
OrderASCII VAR Word
AUXIO
PAUSE 1000
GOSUB InitiailCD
MAINIO
LoopMain:
IF(IN4=0 AND IN3=0 AND IN1=0 AND IN0=0)THEN MotorStop
IF(IN4=0 AND IN3=0 AND IN1=0 AND IN0=1)THEN MotorStop
IF(IN4=0 AND IN3=0 AND IN1=1 AND IN0=0)THEN MotorStop
IF(IN4=0 AND IN3=0 AND IN1=1 AND IN0=1)THEN MotorBackward
IF(IN4=0 AND IN3=1 AND IN1=0 AND IN0=0)THEN MotorStop
IF(IN4=0 AND IN3=1 AND IN1=0 AND IN0=1)THEN MotorStop
IF(IN4=0 AND IN3=1 AND IN1=1 AND IN0=0)THEN MotorStop
IF(IN4=0 AND IN3=0 AND IN1=1 AND IN0=1)THEN MotorEvadeLeft
IF(IN4=1 AND IN3=0 AND IN1=0 AND IN0=0)THEN MotorStop
IF(IN4=1 AND IN3=0 AND IN1=0 AND IN0=1)THEN MotorStop
IF(IN4=1 AND IN3=0 AND IN1=1 AND IN0=0)THEN MotorStop
IF(IN4=0 AND IN3=0 AND IN1=0 AND IN0=0)THEN MotorEvadeRight
IF(IN4=1 AND IN3=1 AND IN1=0 AND IN0=0)THEN MotorForward
IF(IN4=1 AND IN3=1 AND IN1=0 AND IN0=1)THEN MotorForward
IF(IN4=1 AND IN3=1 AND IN1=1 AND IN0=0)THEN MotorForward
IF(IN7=0 AND IN6=0 AND IN5=1 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorForward
IF(IN7=0 AND IN6=1 AND IN5=1 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorReturnRightGoLine
IF(IN7=0 AND IN6=1 AND IN5=0 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorForward
IF(IN7=0 AND IN6=1 AND IN5=1 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorReturnRight90
IF(IN7=1 AND IN6=0 AND IN5=0 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorReturnLeftGoLine
IF(IN7=1 AND IN6=0 AND IN5=1 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorForward
IF(IN7=1 AND IN6=1 AND IN5=0 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorReturnLeft90
IF(IN7=1 AND IN6=1 AND IN5=1 AND IN4=1 AND IN3=1 AND IN1=1 AND IN0=1)THEN MotorForward
GOTO LoopMain
MotorForward
AUXIO
ASCII=$1
GOSUB SendCommandLCD
FOR OrderASCII=0 TO 6
LOOKUP OrderASCII,["Forward"],ASCII
GOSUB SemdASCII
NEXT
MAINIO
PULSOUT 13,1250
PULSOUT 14,2500
PAUSE 20
GOTO LoopMain
MotorBackward:
AUXIO
ASCII=$1
GOSUB SendCommandLCD
FOR OrderASCII=0 TO 7
LOOKUP OrderASCII,["Backward"],ASCII
GOSUB SendASCII
NEXT
MAINIO
FOR LoopStraight= TO 50
PULSOUT 13,2500
PULSOUT 14,1250
PAUSE 20
NEXT
GOTO LoopMain
MotorStop:
AUXIO
ASCII=$1
GOSUB SemdCommandLCD
FOR OrderASCII=0 TO 3
LOOKUP OrderASCII,["Stop"]LASCII
GOSUB SandASCII
NEXT
MAINIO
LOW 13
LOW 14
FREQOUT 15,1000,1000,1000
GOTO LoopMain
MotorReturnLeft90:
AUXIO
ASCII=$1
GOSUB SemdCommandLCD
FOR OrderASCII=0 TO 13
LOOKUP OrderASCII,["Return Left 90"],ASCII
GOSUB SendASCII
NEXT
MAINIO
FOR LoopLeft = 1 TO 30
PULSOUT 13,1250
PULSOUT 14,2500
PAUSE 20
NEXT
FOR LoopLeft = 1 TO 40
PULSOUT 13,1250
PULSOUT 14,1200
PAUSE 20
NEXT
GOTO LoopMain
MotorEvadeRight
AUXIO
ASCII=$1
GOSUB SendCommabdLCD
FOR OrderASCII=0 TO 10
LOOKUP ORderASCII,["Evade Right"],ASCII
GOSUB SendASCII
NEXT
MAINIO
FOR LoopRight = 1 TO 40
PULSOUT 13,2500
PULSOUT 14,1250
PAUSE 20
NEXT
FOR LoopRight = 1 TO 20
PULSOUT 13,1250
PULSOUT 14,1250
PAUSE 20
GOTO LoopMain
MotorReturnLeftGoLine:
PULSOUT 13,1250
PULSOUT 14,1250
PAUSE 20
GOTO LoopMain
MotorReturnRight90:
AUXIO
ASCII=$1
GOSUB SendCommandLCD
FOR OrderASCII = 0 TO 14
LOOKUP OrderASCII,["Return Right 90"],ASCII
GOSUB SendASCII
NEXT
MAINIO
FOR LOOpRight = 1 TO 30
PULSOUT 13,1250
PULSOUT 14,2500
PAUSE 20
NEXT
FOR LoopRight = TO 40
PULSOUT 13,2500
PULSOUT 14,2500
PAUSE 20
NEXT
GOTO LoopMain
MotorEvadeLeft
AUXIO
ASCII = $1
GOSUB SendCommandLCD
FOR OrderSCII = 0 TO 9
LOOKUP OrderSCII,["Evade Left"],ASCII
GOSUB SendASCII
NEXT
MAINIO
FOR LoopLeft = 1 TO 40
PULSOUT 13,2500
PULSOUT 14,1250
PAUSE 20
NEXT
FOR LoopLeft = 1 TO 20
PULSOUT 13,2500
PULSOUT 14,2500
PAUSE 20
NEXT
GOTO LoopMain
MotorReturnRightGoLine:
PULSOUT 13,2500
PULSOUT 14,2500
PAUSE 20
GOTO LoopMain
InitialLCD:
ASCII=$33
GOSUB SendCommandLCD
ASCII=%32
GOSUB SendCommandLCD
ASCII=$28
GOSUB SendCommandLCD
ASCII=$C
GOSUB SendCommandLCD
ASCII=$6
GOSUB SendCommandLCD
ASCII=$1
GOSUB SendCommandLCD
RETURN
SendASCII
HIGH 10 : GOTO NextSend
SendCommandLCD
LOW 10
NextSend
HIGH 15: IF ASCILBIT7 = 1 THEN NextSand1: LOW 15
NextSand1:
HIGH 14: IF ASCILBIT6 = 1 THEN NextSand2: LOW 14
NextSand2:
HIGH 13: IF ASCILBIT5 = 1 THEN NextSand3: LOW 13
NextSand3:
HIGH 12: IF ASCILBIT4 = 1 THEN NextSand4: LOW 12
NextSand4:
PULSOUT 11,1:PAUSE 1
HIGH 15 : IF ASCII.BIT3=1THEN NextSand5:LOW 15
NextSand6:
HIGH 14 : IF ASCII.BIT2=1THEN NextSand6:LOW 14
NextSand7:
HIGH 13 : IF ASCII.BIT1=1THEN NextSand7:LOW 13
NextSand8
HIGH 12 : IF ASCII.BIT0=1THEN NextSand8:LOW 12
NextSand9
PULSOUT 11,1:PAUSE 1
RETURN