Imagem de fundo

No projeto de um painel supervisório do qual faz parte um mostrador com dois displays d...

No projeto de um painel supervisório do qual faz parte um mostrador com dois displays de sete segmentos operados por varredura, o projetista investiga por que o mostrador exibe o valor 19 em uma situação na qual deveria exibir 15.


Navegando pelo código em C para o microcontrolador que comanda o painel, ele encontra o trecho responsável pela exibição. Nesse trecho, que utiliza funções nomeadas de forma autoexplicativa, ele encontra

A

...

Carrega(1);

LigaDezena();

Aguarda();

DesligaDezena();

Carrega(5);

LigaUnidade();

Aguarda();

DesligaUnidade();

...

B

...

Carrega(1);

LigaDezena();

DesligaDezena();

Aguarda();

Carrega(5);

LigaUnidade();

DesligaUnidade();

Aguarda();

...

C

...

LigaDezena();

Carrega(1);

DesligaDezena();

LigaUnidade();

Carrega(5);

DesligaUnidade();

Aguarda();

...

D

...

Carrega(1);

LigaDezena();

Aguarda();

DesligaDezena();

LigaUnidade();

Carrega(5);

Aguarda();

DesligaUnidade();

...

E

...

LigaDezena();

Aguarda();

Carrega(1);

DesligaDezena();

LigaUnidade();

Aguarda();

Carrega(5);

DesligaUnidade();

...