Back

2012_331AC_P6

Viewing page version #4
(Restore this version) 

Modified: 17 February 2011, 12:47 PM   User: Dina Irofti  → DI

Project Name

 

I. Project Description

Add your should project description (300 words)

Intrebare: Chiar trebuie sa fie 300 de cuvinte??

Proiectul presupune implementarea unui calculator de buzunar (asemanator cu cel din Windows, dar mult simplificat) cu ajutorul placii Z3/EV. In acest scop se vor utiliza butoanele de pe placa.

Calculatorul de buzunar are cateva functii de baza: adunare, scadere, inmultire, impartire si extragere de radical si este capabil de asemenea sa memoreze si reutilizeze un rezultat.

Butoanele necesare se vor nota cu cifre de la 0 la 9, cu simbolurile '+', '-', '*', '/', 'sqrt' corespunzatoare operatiilor mai sus mentionate si cu abrevierile 'MC', 'MR', 'MS', 'M+' corespunzatoare operatiilor de memorare si reutilizare a rezultatului. Este nevoie de asemenea si de un buton de clear ce va fi utilizat pentru a semnala inceputul unui nou calcul. Mai multe detalii in ceea ce priveste functionalitatea si modul de utilizare a acestor functii se gasesc in sectiunea "Project Requirements".

Calculatorul de buzunar va lucra numai cu numere intregi, nu poate sa efectueze operatii in virgula mobila. De exemplu, rezultatul operatiei 3/2 este 1. De asemenea, calculatorul de buzunar trebuie sa afiseze un mesaj de eroare (de forma "NaN")  atunci cand este solicitat sa efectueze o operatie de tipul impartire la zero.

 

II. Project Requirements

What does the project require to be implemented (both hardware and software). Expected behavior.

Proiectul consta in implementarea unui calculator de buzunar, folosind tastatura placii Z3/EV.

In cele ce urmeaza vom descrie functionalitatea fiecarui buton ce va trebui programat:

  • 0 - cifra zero
  • 1 - cifra unu
  • 2 - cifra doi
  • 3 - cifra trei
  • 4 - cifra patru
  • 5 - cifra cinci
  • 6 - cifra sase
  • 7 - cifra sapte
  • 8 - cifra opt
  • 9 - cifra noua
  • + - operatia plus pentru numere intregi
  • - - operatia minus pentru numere intregi
  • * - operatia de inmultire pentru numere intregi
  • / - operatia de impartire pentru numere intregi;aceasta operatia va trebui implementata in ASM, cu inline assembly (celelalte operatii si functionalitati vor fi implementate in C); se genereaza un mesaj de eroare atunci cand se solicita o operatie de impartire la zero
  • sqrt - operatia de extragere de radical pentru numere intregi; se genereaza un mesaj de eroare in cazul in care radacina patrata a numarului solicitat nu este un numar intreg
  • C - operatia de clear everything; apasand acest buton se specifica faptul ca va incepe un nou calcul
  • MC - memory clear - sterge rezultatul care era in memorie (adica pune zero in memorie); in cazul in care nu era nimic in memorie, butonul nu are nici un efect (toti bitii raman zero)
  • MR - memory recall - citeste rezultatul din memorie si il pune pe display, acesta putand astfel sa fie utilizat in calculul curent
  • MS - memory store - stocheaza in memorie numarul de pe display
  • M+ - aduna ce este scris pe display cu numarul retinut in memorie si stocheaza noul rezultat in memorie

 

Theacher Proposal
 - trebuie sa implementezi calculatorul din windows

- functii + - / * MC MR MS M+

- impartirea sa fie implementata in ASM cu inline assembly

- emulezi un agoritm pentru radical in numere intregi

 

III. User Flow

Describe the functionality from a users point of view. What an user can do with your app.

IV. Required components

The hardware components used. List them and take a screenshot of them.

V. Hardware Design

Add pictures and comments about the hardware implementation. Should include any schematic used in simulation (e.g. Proteus).

VI. Software Design

Describe the software functionality of your project, including code used on EV/Z3 board and the uC board. Discuss your algorithms, data flows and so on. Should post code samples of the most interesting bits.

VII. Results

Data about the final project implementation. Includes screenshots, movies, comments about your project in action.

VIII. Download

After you have presented your project at the laboratory (week 13-14) you will add all your sources here. Any hardware simulation used, code archive and so on.

IX. Status

You will have to update this every 2 weeks to include details of what you have done on your project. E.g.: aquired componets, made board, written code for EV/Z3

X. Personal Contribution

In case 2 or more students were involved, this section will contain what each student has done for the project. You will be asked when presenting project and graded individually on this.