MC 404 - 2012s2
Atividade 4 Obrigatória
Calculadora de Quatro Operações
Implementar uma calculadora em linguagem de montagem do AVR com os seguintes requisitos:
- Dispositivo de entrada: teclado (keypad) do Hapsim com a disposição de
botões mostrada na figura
- Dispositivo de saída: LCD (mostrar operandos e resultados em ASCII)
- Operações implementadas (inteiros 16 bits): soma, subtração, multiplicação,
divisão. clear
- Número máximo de dígitos dos operandos: 5
- Resultado da divisão: apresentar o quociente e o resto
- Sequencia de comandos (di ,ei significam dígito i, op significa tecla da
operação):
- d1 ... dn op e1...em enter
- ao pressionar uma tecla op o LCD mostra o símbolo da operação (+ - * /)
- clear pressionado a qualquer instante limpa o display e estados
intermediários e aguarda um novo comando
- Erros devem ser indicados no LCD com o motivo. Exemplos:
- E = div por 0
; divisão por zero
- E = precisão
; operandos ou resultado não podem ser representados
- E = operando?
; operando faltando ou ilegal
- Para sair da condição de erro -> Clear
|
|
Exemplo de
seqüência de teclas de entrada e o que é mostrada no LCD
Keypad |
LCD |
1 |
1 |
3 |
13 |
5 |
135 |
Mult |
* |
8 |
8 |
7 |
87 |
Enter |
11745 |
Requisitos Construtivos
A calculadora deve fazer suas operações aritméticas internamente usando representação binária. Para isso, o
código deve:
- Capturar os comandos, um a um, mostrando simultaneamente no LCD
- Converter os operandos de BCD (ASCII)para binário
- Efetuar as operações em binário
- Converter os resultados para ASCII BCD
- Mostrar o resultado no LCD