วันศุกร์ที่ 9 พฤศจิกายน พ.ศ. 2550

code หุ่นยนต์ อ่านค่าที่ล้อ

' {$STAMP BS2sx}'
{$PBASIC 2.5}
ADC VAR Word
CH VAR Byte
CNT VAR Byte
CNT = 0
PAUSE 1000
HIGH 15 : LOW 14 : HIGH 13 : LOW 12
DO
CH = 3 : GOSUB RD_ADC
IF ADC < ch =" 3"> 100)
CNT = CNT + 1
ENDIF
CH = 5
PAUSE 300
GOSUB One_block
CNT=0
GOSUB One_nt
CNT=0
GOSUB One_block
CNT=0
GOSUB One_nt
CNT=0
GOSUB One_nt
CNT=0
GOSUB One_block
CNT=0 GOSUB One_ntrv
CNT=0
GOSUB One_block
END
RD_ADC: LOW 10 : PAUSE 2 : HIGH 10
SEROUT 10,240,[CH]
SERIN 10,240,250,Error,[ADC.BYTE0,ADC.BYTE1]
RETURN
Error: DEBUG "Error reading", CR
RETURN
One_block:DO LOOP UNTIL(CNT > 11)
LOW 15 : HIGH 14 : LOW 13 : HIGH 12
PAUSE 100
LOW 15 : LOW 14 : LOW 13 : LOW 12
STOP :RETURN
One_nt:DO LOOP UNTIL(CNT > 3)
LOW 15 : LOW 14 : LOW 13 : HIGH 12
PAUSE 100
..
LOW 15 : LOW 14 : LOW 13 : LOW 12
STOP :RETURN
One_ntrv:DO LOOP UNTIL(CNT > 3)
LOW 15 : HIGH 14 : LOW 13 : LOW 12
PAUSE 100
LOW 15 : LOW 14 : LOW 13 : LOW 12
STOP :RETURN