Lista principalelor componente folosite:
functia de afisare pe LCD a operanzilor
void afisare() foloseste variabilele globale op1, op2 si operatie {
LCD_writeInstruction(LCD_INSTR_gotoCGRAM); LCD_writeInstruction(LCD_INSTR_clearDisplay); LCD_gotoXY(0, 0);
char afisaj1[10]; char afisaj2[10]; sprintf(afisaj1, "%i %c ", op1, operatie); if(operatie != ' ') sprintf(afisaj2, "%i", op2);
LCD_print2(afisaj1, afisaj2);
}
functia de afisare a operanzilor, a operatiei si a rezultatului final
(se apeleaza la intalnirea codului predefinit EGAL)
void afisare_rezultat() foloseste variabilele globale op1, op2 si operatie {
LCD_writeInstruction(LCD_INSTR_gotoCGRAM); LCD_writeInstruction(LCD_INSTR_clearDisplay); LCD_gotoXY(0, 0);
char afisaj1[10]; char afisaj2[10]; if(operatie=='+') rez = op1 + op2; if(operatie=='-') rez = op1 - op2; if(operatie=='*') rez = op1 * op2; if(operatie=='/') rez = op1 / op2; if(operatie==' ') rez = op1; sprintf(afisaj1, "%i %c %i", op1, operatie, op2); // op1, op2 si operatie sunt globale sprintf(afisaj2, "=%i", rez);
LCD_print2(afisaj1, afisaj2);
}
unsigned int rc5data = rc5decode(); // salvez codul in variabila rc5data
if(rc5data==EGAL)
{
afisare_rezultat();
op1 = rez;
op2=0;
rez=0;
operatie = ' ';
}
else
{
if(rc5data==PLUS) operatie = '+';
else if(rc5data==MINUS) operatie = '-';
else if(rc5data==INMULTIT) operatie = '*';
else if(rc5data==IMPARTIT) operatie = '/';
else
{
if(operatie==' ') op1 = op1*10 + rc5data;
else op2 = op2*10 + rc5data;
}
afisare();
Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.