비디오: 쉬프트 레지스터를 이용한 여러개 LED 제어 2024
PBASIC의 DO 루프는 전자 프로젝트에서 BASIC Stamp의 프로그래밍을 좀더 콤팩트하게 만들 수 있습니다. DO 루프는 본질적으로 레이블 및 GOTO 문과 동일한 기능을 수행하는 특별한 PBASIC 문입니다. 예를 들어, 다음을 고려하십시오:
Main: HIGH 0 PAUSE 500 LOW 0 PAUSE 500 GOTO Main
LED를 켜고 끄는 선을 배치하여 Main 레이블이나 GOTO 문없이 동일한 기능을 수행 할 수 있습니다 다음과 같이 DO와 LOOP 문 사이에서:
DO HIGH 0 PAUSE 500 LOW 0 PAUSE 500 LOOP
DO와 LOOP 문 사이의 줄이 무한정 반복되어 실행됩니다.
'LED Flasher Program'Doug Lowe '2011 년 7 월 10 일 "이 프로그램은 0 번, 2 번, 4 번, 6 번, 8 번 및 10 번 핀에 연결된 LED를 순차적으로 깜박입니다."이 프로그램 버전은 DO 루프를 사용합니다. 속도가 VAR BYTE로 바뀌 었습니다. 속도 = 50 Led = 0 DO HIGH Led PAUSE 속도 LOW Led PAUSE 속도 IF Led <10 tHEN Led = Led + 2 ELSE Led = 0 ENDIF LOOP
루프를 조건부로 만들기 위해 LOOP 문에 조건부 테스트를 추가 할 수 있습니다. 예:
UNTIL이라는 단어 대신 WHILE이라는 단어를 사용하여 DO 루프에서 조건을 표시 할 수 있습니다. UNTIL과 WHILE 간에는 상당한 차이가 있습니다. 차이점은 단어의 의미와 같습니다. UNTIL이라는 단어를 사용하면 조건이 true가 될 때까지 루프가 실행됩니다. WHILE이라는 단어를 사용하면 조건 테스트가 거짓이 될 때까지 루프가 실행됩니다.
DO 문 또는 LOOP 문에 조건 테스트를 포함 할 수도 있습니다. DO 문에 조건 테스트를 배치하면 조건은 루프가 실행될 때마다
테스트됩니다. LOOP 문에 배치하면 각 루프가 완료된 후 조건이 테스트됩니다. WHILE 테스트는 DO 문에, UNTIL 테스트는 LOOP 문에 배치하는 것이 일반적입니다. Led = 0 Led 동안 수행 <11 hIGH Led PAUSE 500 LOW PAUSE 500 Led = Led + 2 LOOP 여기서 Led 값은 루프가 실행되기 전에 테스트됩니다. 루프는 Led가 11보다 작은 한 실행됩니다.
DO 루프는
중첩
될 수 있습니다. 즉, 하나의 DO 루프에 다른 DO 루프가 포함될 수 있습니다.DO 루프가 중첩되어 있으면 내부 루프에 조건부 테스트가 있어야합니다. 그렇지 않으면 영원히 반복되고 바깥 쪽 루프는 완료 할 수 없습니다.
이 프로그램에서, 가장 안쪽의 DO 루프는 6 개의 LED를 한 번 깜박입니다. 마지막 LED가 깜박 인 후 UNTIL 조건을 사용하여 루프를 중지합니다. 가장 바깥 쪽 DO 루프가 끝없이 계속되어 깜박이는 시퀀스가 무한대로 계속됩니다. 'LED Flasher Program'Doug Lowe '2011 년 7 월 10 일 "이 프로그램은 핀 0, 2, 4, 6, 8 및 10'에 연결된 LED를 순차적으로 깜박입니다."이 프로그램 버전은 중첩 된 DO 루프를 사용합니다. 속도 지연 VAR BYTE 속도 VAR BYTE 속도 = 50 DO Led = 0 DO HIGH Led PAUSE 속도 LOW Led PAUSE 속도 Led = Led + 2 LOOP> 10 LOOP