Q61

Um joystick analógico de videogame usa dois monoestáveis para a leitura digital dos valores resistivos nos eixos X e
Y. Uma rotina dispara_monoestaveis( ) faz com que os monoestáveis iniciem a geração dos dois pulsos digitais de
tamanhos proporcionais aos valores resistivos.
A função le_joystick( ) retorna:
• 0, se ambos os pulsos dos monoestáveis estiverem finalizados;
• 1, se apenas o pulso do monoestável no eixo X estiver finalizado;
• 2, se apenas o pulso do monoestável no eixo Y estiver finalizado;
• 3, se ambos os pulsos dos monoestáveis ainda estiverem ativados.

Quando o joystick estiver relaxado, após uma execução de dispara_monoestaveis( ), realizam-se 10 execuções da
função le_joystick( ), obtendo-se os seguintes valores retornados: 3, 3, 3, 3, 3, 2, 0, 0, 0, 0.
Ao se flexionar o joystick para a frente (eixo Y) e para a direita (eixo X), os valores retornados após as 10 execuções são: 3, 3, 3, 3, 3, 3, 3, 3, 2, 0.

Se forem lidos os valores 3, 3, 2, 2, 2, 2, 2, 0, 0, 0, 0, é porque o joystick está flexionado

(A) para trás e para a esquerda
(B) somente para a esquerda
(C) somente para a direita
(D) para a frente e para a esquerda
(E) somente para trás

Ver Solução