Satura rādītājs:

Vienkāršs un standarta kalkulators ar CloudX: 5 soļi
Vienkāršs un standarta kalkulators ar CloudX: 5 soļi

Video: Vienkāršs un standarta kalkulators ar CloudX: 5 soļi

Video: Vienkāršs un standarta kalkulators ar CloudX: 5 soļi
Video: ДЕТАЛЬНЫЙ РАЗБОР квеста в Тени вечного Огня - НОВЫЙ ФИНАЛ и СКРЫТЫЙ ПОСЫЛ | Ведьмак 3 некстген 2024, Jūlijs
Anonim
Vienkāršs un standarta kalkulators ar CloudX
Vienkāršs un standarta kalkulators ar CloudX

Šajā apmācībā mēs iemācīsimies izveidot vienkāršu un standarta kalkulatoru, izmantojot CloudX. Lūdzu, noklikšķiniet, ja iepriekš neko neesat lasījis saskarnes tastatūrā ar CloudX, šeit mūsu mērķis ir iemācīt jums, kā attīstīt savu savs aparatūras kalkulators, izmantojot cloudX M633.

Mūsu mērķis ir izveidot tādu kalkulatoru, kas spēj veikt saskaitīšanu (+), atņemšanu (-), reizināšanu (*) un dalīšanu (/) ar rezultātu decimāldaļskaitļos līdz 0,0000001 un veselos skaitļos līdz 90000000. ir spēja atklāt matemātikas kļūdas utt. Katram bērnam, studentam un hobijam vajadzētu būt iespējai veikt šo fantastisko projektu.

1. solis: Aparatūras prasības

PRASĪBAS Aparatūrai
PRASĪBAS Aparatūrai
PRASĪBAS Aparatūrai
PRASĪBAS Aparatūrai

1x CloudX mikrokontrolleris

1x CloudX SoftCard

1x USB kabelis

1x 4x4 matricas tastatūra

1x 16x2 LCD džemperu vadi

1x 1kΩ rezistors

4x 10kΩ rezistori

2. darbība: PIN SAVIENOJUMS

PIN SAVIENOJUMS
PIN SAVIENOJUMS
PIN SAVIENOJUMS
PIN SAVIENOJUMS
PIN SAVIENOJUMS
PIN SAVIENOJUMS

CloudX savienojuma tapas ar LCD un CloudX savienojuma tapas ar tastatūru

3. darbība: ĶĒDES DIAGRAMMA

ĶĒDES DIAGRAMMA
ĶĒDES DIAGRAMMA

4. solis: PROGRAMMATŪRA

/ * * Fails: Smart KeyPad Lock System.c

* Autors: kapuce

*

* Izveidots 2018. gada 20. martā, 11:21

*/

#iekļaut

#iekļaut

#iekļaut

#iekļaut

#define NumberOfRows 4 // iestatiet displeju uz četrām rindām

#define NumberOfColumns 4 // iestatiet displeju uz trim kolonnām

char KeypadCharacters [NumberOfRows] [NumberOfColumns] = {

'1', '2', '3', '+', '4', '5', '6', '-', '7', '8', '9', '*', "C", "0", "=", "/"

};

char RowPins [NumberOfRows] = {7, 8, 9, 10};

char ColumnsPins [NumberOfColumns] = {11, 12, 13, 14};

char Taustiņi, a = 0, čeks = 0, darbība = 0, sign = 0, signb = 0;

parakstīta pludiņa atbilde;

char * Panswer;

char Aanswer [10];

parakstīts ilgi inputa;

char Ainputa [10];

parakstīta gara ievadeb;

char Ainputb [10];

uzstādīt(){

Tastatūras iestatīšana (PULLDOWNCOL, RowPins, ColumnsPins, NumberOfRows, NumberOfColumns, KeypadCharacters);

lcdSetting (1, 2, 3, 4, 5, 6);

lcdCmd (lcd_clear);

lcdCmd (kursora izslēgšana);

lcdWriteText (1, 1, "KALKULATORS AR");

lcdWriteText (2, 1, "CLOUDX");

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

cilpa () {

Atslēgas = getKey ();

ja (taustiņi! = 0 && taustiņi == 'C') {

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

par (a = 0; a <10; a ++) {

Ainputa [a] = 0;

Ainputb [a] = 0;

Atbilde [a] = 0;

}

a = 0;

operācija = 0;

čeks = 0;

sign = 0;

signb = 0;

}

ja (pārbaudiet == 1 && taustiņi! = 0 && taustiņi == '=') {

lcdCmd (kursora izslēgšana);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

ja (sign == '-') {

inputa = -(inputa);

}

ja (signb == '-') {

ievadeb = -(ievadeb);

}

ja (operācija == '+') {

atbilde = inputa + inputb;

longTostr (Atbilde, atbilde, DEC);

}

ja (operācija == '-') {

atbilde = inputa - inputb;

longTostr (Atbilde, atbilde, DEC);

}

ja (operācija == '*') {

atbilde = inputa * inputb;

longTostr (Atbilde, atbilde, DEC);

}

ja (operācija == '/') {

atbilde = (pludiņš) inputa / (pludiņš) inputb;

Panswer = floatTostr (atbilde);

if (inputa> inputb) {

Panswer [5] = 0;

}

}

ja (operācija == '/') {

lcdWriteText (2, 1, "ANS:");

lcdWriteTextCP (Panswer);

}

cits {

lcdWriteText (2, 1, "ANS:");

lcdWriteTextCP (atbilde);

}

}

ja (Atslēgas! = 0 && (Atslēgas == '+' || Taustiņi == '-' || Taustiņi == '*' || Taustiņi == '/')) {

ja (operācija! = 0 && a == 0 && signb == 0 && (taustiņi == '-' || Taustiņi == '+')) {

lcdWriteCP (atslēgas);

ja (taustiņi == '-' || taustiņi == '+') {

signb = Atslēgas;

}

}

ja (darbība == 0 && a == 0 && sign == 0 && (taustiņi == '-' || Taustiņi == '+')) {

lcdWriteCP (atslēgas);

ja (taustiņi == '-' || taustiņi == '+') {

sign = Taustiņi;

}

}

ja (operācija == 0 && a! = 0) {

lcdWriteCP (atslēgas);

darbība = Taustiņi;

a = 0;

}

}

if (Atslēgas! = 0 && (Atslēgas == '0' || Taustiņi == '1' || Taustiņi == '2' || Taustiņi == '3' || Taustiņi == '4' || Taustiņi = = '5' || Taustiņi == '6' || Taustiņi == '7' || Taustiņi == '8' || Taustiņi == '9')) {

ja (operācija! = 0) {

lcdWriteCP (atslēgas);

Ainputb [a] = Atslēgas;

a ++;

čeks = 1;

}

ja (operācija == 0) {

lcdWriteCP (atslēgas);

Ainputa [a] = Atslēgas;

a ++;

}

}

}

}

Ieteicams: