SóProvas


ID
1388944
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2014
Provas
Disciplina
Engenharia Eletrônica
Assuntos

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

Alternativas
Comentários
  • Letra E 

    Dispositivos monoestáveis são dispositivos que possuem apenas um estado estável,
    ou seja, tendem a permanecer em um único estado, normalmente 0, atingindo outro
    estado apenas quando disparado e mantendo esse estado apenas por um período determinado
    de tempo, geralmente determinado por um circuito RC.
    As sequências de valores lidos pelas 10 execuções de le_joystick() podem ser interpretadas
    da seguinte maneira: a posição do joystick altera o valor das resistências e
    o tempo dos pulsos em X e Y são proporcionais ao valor destas resistências, ou seja,
    servem para ler a posição do joystick.
    Com o joystick na posição relaxado, tanto o pulso em X como em Y terminam aproximadamente
    na metade das 10 leituras. Uma das leituras retorna o valor 2, mas isso
    pode ser considerado como apenas a imprecisão do método. Com o joystick pra frente
    e pra direita, vemos que os dois pulsos seguem ativos por praticamente toda a duração
    das 10 leituras. Essas duas informações fornecidas dão uma idéia da orientação das
    sensores resistivos ao longo dos dois eixos do joystick.
    Interpretando o último trem de valores lidos, vemos que ambos os sensores permaneceram
    ativos apenas no início (os dois primeiros valores são igual a 3). Como a
    seguir a função le_joystick() retorna o valor 2, isso mostra que o pulso do eixo Y já está
    finalizado, indicando o joystick flexionado para trás. O valor 2 persiste até metade da
    duração das leituras, o que significa que X ainda estava ativo, encerrando na posição
    central, relaxado. Depois disso, os dois pulsos acabaram.