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.