Projetos Eletrônica: Como usar para Loops em Código PBASIC
O PBASIC loop FOR fará com que o BASIC Stamp em seu projeto de eletrônicos executar um loop de um determinado número de vezes. É também uma grande ferramenta de programação para executar uma ação em vários pinos de I / O. Assim, uma PARA laço é a maneira ideal para implementar um programa de LED pisca-pisca.
A estrutura básica de um PARA circuito parecido com este:
PARA contador = iniciar-valor PARA fim-valorDemonstrações ...PRÓXIMO
Aqui está um exemplo que pisca o LED no pino 0 dez vezes:
X VAR BYTEFOR X = 1 TO 10HIGH 0PAUSE 500LOW 0PAUSE 500NEXT
Neste exemplo, o laço é executado dez vezes. O valor da variável x é aumentado em 1 cada vez através do loop.
No exemplo anterior, o programa não utilizar a variável do contador. Isso é comum em PARA loops- às vezes a única finalidade para a variável do contador é controlar quantas vezes o loop é executado. Mas você pode usar a variável do contador dentro do loop. Por exemplo, aqui está um loop que faz com que cada / O pin I no alto do selo por um décimo de segundo:
IO_Pin VAR BYTEFOR IO_Pin = 0 a 15HIGH IO_PinPAUSE 100LOW IO_PinNEXT
Normalmente, a variável do contador é aumentada de um em cada passagem através do laço. Você pode usar o PASSO palavra-chave para especificar um valor diferente etapa, se quiser. Quando você usa a palavra-chave STEP, a estrutura básica da declaração PARA parece com isso:
PARA contador = iniciar-valor PARA fim-valor PASSO passo a valorDemonstrações ...PRÓXIMO
Por exemplo, você poderia piscar LEDs no apenas os pinos de numeração par como este:
VAR levou ByteFOR levou = 0 a 10 PASSO 2HIGH LedPAUSE 100LOW LedNEXT
Outra característica interessante do PARA laços é que eles podem contar para trás. Tudo que você tem a fazer é especificar um valor inicial que é maior do que o valor final, como este:
Levou VAR ByteFOR Led = 10 A 0 PASSO 2HIGH LedPAUSE 100LOW LedNEXT
Esta versão do programa LED pisca-pisca usa um par de PARA loops para piscar os LEDs primeiro numa direcção e depois na direcção oposta. O primeiro PARA ciclo pisca os LEDs nos pinos 0, 2, 4, 6 e 8. Em seguida, o segundo PARA ciclo pisca os LEDs pinos 10, 8, 6, 4 e 2. Ambos PARA laçadas estão contidos dentro de um FAZ loop que mantém os LEDs indo e voltando indefinidamente.
'LED Programa de pisca-pisca "Doug Lowe' 10 de julho de 2011 '' Este programa pisca LEDs conectados a pinos 0, 2, 4, 6, 8 e 10" para trás e para frente, como os olhos Cylon. '' Esta versão dos usos do programa PARA loops. ' {$ SELO BS2} '{$ PBASIC 2.5} Led VAR ByteMain: PARA Led = 0 a 8 PASSO 2HIGH LedPAUSE 100LOW LedNEXTFOR Led = 10 TO 2 PASSO 2HIGH LedPAUSE 100LOW LedNEXTGOTO Principal
Quando PARA loops são aninhados, o loop (s) mais interna completar todo o ciclo de cada vez através do loop externo. Se um PARA ciclo que se repete dez vezes é colocado dentro de um circuito externo que se repete dez vezes, as instruções dentro do anel mais interno executará um total de 100 vezes - dez vezes para cada um dos dez repetições da espira externa.
Este utiliza um externa PARA loop que varia o tempo de atraso para o PAUSA declarações. O resultado é que os LEDs varrer muito rápido no início, mas lento por 10 ms em cada repetição do loop até que o atraso chega a um segundo por LED.
'LED Programa de pisca-pisca "Doug Lowe' 10 de julho de 2011 '' Este programa pisca LEDs conectados a pinos 0, 2, 4, 6, 8 e 10" para trás e para frente, como os olhos Cylon. '' Esta versão dos usos do programa aninhado para a próxima loops para retardar a 'movimento de varredura dos LEDs. {$ SELO BS2} '{$ PBASIC 2.5} Led VAR ByteSpeed VAR wordfor Speed = 10 a 1000 PASSO 10Porque Led = 0 a 8 PASSO 2HIGH LedPAUSE SpeedLOW LedNEXTFOR Led = 10 TO 2 PASSO 2HIGH LedPAUSE SpeedLOW LedNEXTNEXT