PROIECTE 2011
Proiectele realizate in cadrul Laboratorului de SMP, 2011, le gasiti mai jos, Fiecare echipa are de completat in pagina WIKI corespunzatoare proiectului sau capitolele existente.
Punctaj Proiect
-
2p Pagina Wiki in format HTML cu capitolele create - poze(diferite stadii ale proiectului) + schema hardware + listing software (microcontroller + OpenWatcom la Z3)
-
5p Functionalitate proiect - punctaj in functie de cerintele cerute/realizate
-
1p Calitatea proiectului - cat de organizati ati fost in realizarea acestuia, cod format frumos, optimizari etc...
-
2p Nota individuala - participarea voastra in proiect, raspunsul vostru la intrebarile laborantului la presentarea proiectului
Cerinte general valabile:
- Toate proiectele se vor integra software si/sau hardware cu placa EV/Z3. Pentru integrarea hardware se va folosi portul serial al placii EV/Z3
- Logica software de baza se va regasi pe placa EV/Z3 si va fi realizata în C + inline assembly folosind template-ul OpenWatcom de la laborator
- Pagina de wiki trebuie sa contina o descriere a ce a realizat fiecare student in cadrul proiectului
- Daca nu puneti pe site alta schema de proiectare hardware se va folosi cea cu PIC16F628A pusa la dispozitie
- Wiki-ul trebuie updat ca sa vad stadii intermediare ale proiectului
Elemente de electronica
-
Pentru a vedea/comanda un pret estimativ a componentelor va propun www.conexelectronic.ro . Mi-a fost recomandat si mie de ceilalti laboranti.
-
Pentru conectarea la porturile de I/O trebuie sa izolati galvanic folosind optocuploare, ex LTV817 - puteti sa cautati pe site, si rezistente sa limiteze curentul maxim la 5mA U=R*I si trebuie avut in vedere ca rezistentele sa reziste la puterea la care e proiectat circuitul P=U*I...
-
Pentru alte elemente elecronice puteti folosi diode 1N4007, tranzistori BD139/140 de putere mare. Binenteles ca nu sunteti limitati la folosirea acestora, e doar o propunere.
-
Letconul ar trebui sa aiba cam 40W , nu mai mult de 60 oricum , iar fludorul la 1mm-1.5mm. Sa aveti si un voltmetru cu voi.
-
Va recomand inainte sa alegeti proiectul sa cititi cateva elemente de electronica de AICI.
2011_P2
(Restore this version)
Modified: 30 March 2010, 9:51 AM User: cirneanu stefan → cs
Calculator de buzunar
Project Description
Proiectul implica emularea calculatorului din windows cu programul Open Watcom si integrarea cu ajutorul placii EV/Z3.
Project Requirements
Proiectul consta in implementarea calculatorului din windows.Acesta presupune crearea unui program in Open Watcom pentru efectuarea operatiilor:
-
adunare
-
scadere
-
impartire a 2 numere intregi
-
inmultire a 2 numere reale cu 2 zecimale
-
extragerea radacinii patrate dintr-un numar cu precizie de 2 zecimale.
User Flow
Utilizatorul poate folosi proiectul prin intermediul tastaturii placii EV/Z3.Astfel,
Pasii care trebuie urmati de utilizator sunt:
-
Utilizatorul introduce primul numar(format din cifre de la 0 la 9)
-
Utilizatorul alege operatia dorita:
-
Pentru operatia de adunare,se apasa tasta A de pe placuta EV/Z3;
-
Pentru operatia de scadere,se apasa tasta B de pe placuta EV/Z3;
-
Pentru operatia de inmultire,se apasa tasta C de pe placuta EV/Z3;
-
Pentru operatia de impartire,se apasa tasta D de pe placuta EV/Z3;
-
Pentru operatia de radical,se apasa tasta E de pe placuta EV/Z3;
3. Utilizatorul introduce cel de-al doilea numar(format din cifre de la 0 la 9):
Dupa efectuarea pasului 3,utilizatorul are mai multe posibilitati de continuare a calculului:
-
Daca doreste afisarea rezultatului,utilizatorul apasa tasta F de pe placuta EV/Z3;
-
Dar daca utilizatorul,dupa introducerea celor 2 numere si a operatiei dorite,alege sa faca inca o data operatia precedenta,atunci apasa din nou tasta corespunzatoare operatiei si va observa ca rezultatul spre exemplu in cazul adunarii 2+3=5 ,va aduna al doilea operand la rezultat -->8.
Required components
Software Design
In prima etapa a proiectului,am folosit pentru compilarea codului programul Microsoft Visual Studio,iar dupa accea,programul Open Watcom.
Codul programului se bazeaza pe mai multi algoritmi:
- Algoritm pentru apasarea pe placuta EV/Z3 a unor caractere si intoarcere acestor caractere in calculator(a codurilor acestora) pentru efectuarea operatiilor dorite.
Astfel,daca se apasa 2 A 4 si utilizatorul apasa tasta F,atunci calculatorul va stii sa faca 2+4 si va returna spre afisare pe placuta rezultatul 6.
unsigned char getch()
{
//citeste codul de la tastatura
int code;
code=kIo.ReadKey();
//testam ce cod este
switch(code)
{
case 0x00:
return '0';
case 0x0A:
return '1';
case 0x01:
return '2';
case 0x0B:
return '3';
case 0x02:
return '4';
case 0x0C:
return '5';
case 0x03:
return '6';
case 0x0D:
return '7';
case 0x04:
return '8';
case 0x0E:
return '9';
case 0x05:
return 'A';
case 0x0F:
return 'B';
case 0x06:
return 'C';
case 0x10:
return 'D';
case 0x07:
return 'E';
case 0x11:
return 'F';
default:
return '\0';
}
}
//Vectorul de caractere in ordinea crescatoare a codurilor fiecarui caracter in parte
char coduri[19]={0,2,4,6,8,'A','C','E','D','F',1,3,5,7,9);
void readkey() //intoarce in monitor codul tastei apasate
{
while (1)
{
int key=kIo=kIo.ReadKey();
kIo.DisplayBuffer(&key,2);
}
}
void convert(int key)
{
return coduri[key];
}
2. Algoritm pentru efectuarea radicalului de ordin 2 dintr-un numar
float radical(int x)
{
float r1,r2; // calcul radical din x prin aproximatii
r2=x; // aproximatia initiala
do {
r1=r2; // r1 este aprox. veche
r2=(r1+x/r1)/2; // r2 este aprox. mai noua
} while ( abs(r2-r1)); // pana cand r2==r1
return r2;
}
Results
O imagine de ansamblu a cum functioneaza proiectul, screenshoturi, filmulete cu proiectul functionand. Alte detalii care le credeti importante.
Download
Arhiva cu schema hardware + cod microcontroller + tot proiectul OpenWatcom.
Arhiva va contine 2 directoare (1 singur pentru proiecte doar software)
Hardware design - schema uC + codul folosit pentru a genera fisierul .HEX
Software design - template-ul Open Watcom folosit
Status
Saptamana 25 aprilie-1 mai ==== realizarea codului programului in Microsoft Visual Studio
Saptamana 2 mai - 8 mai ====implementarea codului in OpenWatcom