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

menu