You are on page 1of 9

Microcontroladores

Seo 4 - Lao de Repetio

Prof. Marcelo Sampaio

Seo 4 Laos de Repetio

Objetivos:
O aluno far os primeiros contatos com laes de repetio

Seo 4 Laos de Repetio

Instruo FOR...NEXT
FOR conta = inicio TO fim {STEP {-} Inc } {Corpo} NEXT {Conta}
Este Loop repete {Corpo} at que a varivel a conta seja igual ao valor fim; O valor de Inc adicionado a (ou subtrado de se "-" especificado) conta a cada NEXT. Se nenhuma clusula STEP definida, Conta incrementada uma vez a cada NEXT.
Seo 4 Laos de Repetio

Exemplo FOR/NEXT
TRISB = %00000000
CONT VAR BYTE MOTOR VAR PORTB
A rotina ao lado, deve ser compilada no PBP e simulada no PIC Simulator IDE. Caso queira simular no PROTEUS, aumentar o tempo de PAUSE para 100. Arquivo: Loop FOR-NEXT IDE.pbp

VOLTA: MOTOR = %10000000


FOR CONT = 0 TO 7 PAUSE 2 MOTOR = MOTOR >> 1 NEXT CONT GOTO VOLTA Pergunta: O que faz este programa a cada ciclo VOLTA?
Seo 4 Laos de Repetio

Instruo WHILE...WEND
WHILE Condio {Corpo} WEND
Executa repetidamente {Corpo} WHILE (ENQUANTO) Condio verdadeira. Quando a Condio no for mais verdadeira, a execuo continua na declarao seguinte ao WEND. Condio pode ser qualquer expresso de comparao.

Seo 4 Laos de Repetio

Exemplo WHILE...WEND
TRISB = %00000001
SENSOR VAR PORTB.0 PISCA VAR PORTB.7 INICIO: PISCA = 0 WHILE SENSOR = 1 PISCA = 1 PAUSE 1 PISCA = 0 PAUSE 1 WEND GOTO INICIO
Seo 4 Laos de Repetio A rotina ao lado, deve ser compilada no PBP e simulada no PIC Simulator IDE. Caso queira simular no PROTEUS, aumentar o tempo de PAUSE para 100. Arquivo: Loop While-Wend IDE.pbp

;Desliga PISCA ;enquanto sensor ativo ;faz PISCA ;espera 1ms ;faz PISCA baixa ;espera 1ms

Instruo GOSUB
GOSUB Rotulo .....declarao seguinte Rotulo:
Pula p/ a subrotina em Rotulo salvando seu endereo de retorno na pilha. Diferente de GOTO, quando uma declarao RETURN alcanada, a execuo volta para a declarao seguinte ltima declarao GOSUB executada.

{Corpo}
return

Um nmero ilimitado de subrotinas pode ser usado em um programa. Subrotinas tambm podem ser aninhadas. Em outras palavras, possvel p/ uma subrotina chamar outra subrotina. Tal aninhamento de subrotinas deve se restringir a no mais do que quatro nveis de profundidade.

Seo 4 Laos de Repetio

Exemplo GOSUB
TRISB = %00000000 PORTB = %00000000 CONT VAR BYTE PAINEL VAR PORTB GOSUB DIREITA GOSUB ESQUERDA GOSUB DIREITA GOSUB ESQUERDA END
A rotina apresentada, deve ser compilada no PBP e simulada no PIC Simulator IDE. Caso queira simular no PROTEUS, aumentar o tempo de PAUSE para 100. Arquivo: Loop GOSUB IDE.pbp

DIREITA: PAINEL = %10000000 FOR CONT=0 TO 8 PAUSE 1 PAINEL = PAINEL >> 1 NEXT CONT RETURN ESQUERDA: PAINEL = %00000001 FOR CONT=0 TO 8 PAUSE 1 PAINEL = PAINEL << 1 NEXT CONT RETURN
Seo 4 Laos de Repetio

Exerccios de Reviso Seo 4


Estes exerccios devem ser e entregues na prxima aula. A nota deste exerccio ir compor a nota do ED como consta da Aula_0 fundamental um cabealho como apresentado na Aula_0

i) Utilizar dos conhecimentos adquiridos no uso do LCD no contedo do texto Microcontroladores Seo 4 LCD.pdf para criar um pequeno programa que utilize a instruo GOSUB e o loop While Wend e apresente o andamento no LCD.
1. 2. 3. 4. ESTE TRABALHO INDIVIDUAL. Dever ser desenvolvido um programa no PIC BASIC e um circuito de simulao para este programa, no Proteus + LCD A nota desta avaliao far parte da nota N2. Avaliao Prtica: O aluno dever levar os arquivos gerados nos programas PBASIC e PROTEUS j prontos em um pendrive para o incio da aula do dia 26 de Maro, apresentar o programa PBASIC ao professor e fazer a compilao. Carregar o Proteus na maquina virtual do computador da sala com o circuito criado, carregar o programa no microcontrolador e apresentar ao professor a simulao. Avaliao Terica*: Entregar um relatrio, como os dos exerccios de reviso ER, contendo o programa com todas as linhas comentadas e uma imagem do circuito feito no Proteus durante a simulao. O circuito deve estar identificado com o nome do aluno.

5.

*Seguir exemplo do texto: Avaliao Pratica e Terica 1.

Seo 4 Laos de Repetio

You might also like