Contador simplificado

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1075 palavras )
  • Download(s) : 0
  • Publicado : 27 de novembro de 2011
Ler documento completo
Amostra do texto
Relatório Experiência 2 - Contador Simplificado

Experiência 2 - Contador Simplificado

Objetivos:
O objetivo desta experiência é ensinar os recursos de software comumente utilizados para tratamento de debounce de teclas e a manipulação de variáveis declaradas na RAM do microcontrolador.

Introdução:
O método debouncing é uma técnica utilizada para certificar que um botão, que foipressionado uma vez, seja interpretado como apenas um aperto de botão. Por outro lado, se apertarmos o mesmo botão por cinco vezes seguidas em um segundo, o nosso programa tem de conseguir ler corretamente cinco apertos de botão. Verificar se uma tecla está acionada por um determinado tempo, também pode ser utilizado para ativar comandos, como por exemplo, quando tivermos um programa sendo rodado em umPIC e para entrar nas informações do programa segura-se certa tecla por 10 segundos.
Na experiência o realizada o software faz uso do grupo de leds para representar de forma binária o valor da variável “CONTADOR” declarado na Ram do microcontrolador. Utilizando o botão RB0 altera-se o valor da variável através de instruções de incremento e decremento. O valor está limitado por constantesdeclaradas no início do código. Como apenas um botão é utilizado, a variável é incrementada até o valor máximo e em seguida decrementada até o valor mínimo, permanecendo neste looping indefinidamente. Foi utilizado um flag para alterar o sentido da contagem sempre que um dos extremos é atingido. Foi feito o tratamento de debounce da tecla que consiste em testar repetidas vezes se a tecla foi realmentepressionada para somente depois executar a ação correspondente. Sempre que a tecla estiver solta o contador de debounce (variável “FILTRO”) é inicializado e sempre que a tecla for pressionada o valor da variável “FILTRO” é decrementado, de forma que a tecla somente é considerada pressionada quando o valor de “FILTRO” for igual à zero.

Resultados e Discussão:
Os resultados obtidos com aexperiência foram os esperados de acordo com que foi proposto. Ao pressionar o botão 1 (RB0) a variável contador é incrementada ou decrementada.
Os limites estão definidos pelas constantes abaixo:

; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; * CONSTANTES *
; * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * *
; DEFINIÇÃO DE TODAS AS CONSTANTES UTILIZADAS PELO SISTEMA

MIN EQU .10 ; VALOR MÍNIMO PARA O CONTADOR
MAX EQU .30 ; VALOR MÁXIMO PARA O CONTADOR
T_FILTRO EQU .230 ; FILTRO PARA BOTÃO

Como apenas o botão RB0 é utilizado a variável CONTADOR é incrementada até o valor máximo e em seguida decrementada até o valor mínimo,permanecendo neste looping indefinidamente.

Flag para alterar o sentido da contagem sempre que um dos extremos é atingido:

; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; * FLAGS INTERNOS *
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; DEFINIÇÃO DE TODOS OS FLAGSUTILIZADOS PELO SISTEMA

#DEFINE SENTIDO FLAGS,0 ; FLAG DE SENTIDO
; 0 -> SOMANDO
; 1 -> SUBTRAINDO

Tratamento de debounce da tecla consiste em testar repetidas vezes se a tecla foi realmente pressionada para depois executar a ação correspondente. Sempre que a tecla estiver solta o contador de debounce, variável “FILTRO”, é inicializado e sempre que a tecla forpressionada o valor da variável “FILTRO” é decrementado, de forma que a tecla somente é considerada pressionada quando o valor de “FILTRO” for igual à zero.

; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; * ROTINA PRINCIPAL *
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

MAIN
MOVLW T_FILTRO
MOVWF FILTRO...
tracking img