Atividade 8

Modificar o programa implementado na atividade 7 para que o processador funcione como um relógio digital, exibindo HH:MM:SS no Hyper Terminal. Observar as seguintes restrições:

1) Para controlar a cadência do relógio, fazer com que ele mude seu segundo a cada rampa ascendente no pino IO0_IN[7] (aplicando um sinal de 1Hz);

2) O clock do processador deve ser no 25,175 MHz da própria placa dividido por 3 (8.391.667Hz). Para isto, pegue aqui um circuito divisor de freqüência por 3;

Obs.: veja que este divisor deverá estar ligado entre o clock geral do chip (pino 91) e o sinal de clock de todo o processador. Ligue também o sinal de reset.

3) Adicionar o flag de carry na ULA (ver atividade 5);

4) Adicionar a instrução JC  na máquina de estado (ver atividade 5);

5) Para exibir as horas, minutos e segundos de forma visível, utilizar a função que realize o processo de divisão por 10:

Para esta função, passar em R2 o valor a ser dividido por 10. Ao terminar sua execução, teremos o resultado em R3 e o resto em AC.

Para fazer a ação AC=R3*10, utilizar a seguinte seqüência de comandos:

RL R3
RL AC
ADD AC,R3
RL AC

Observe que há comandos específicos para limpar os caracteres na tela do Hyper Terminal.

6) Montar o circuito e apresentá-lo ao professor em sala de aula.