Բովանդակություն:

Պարզ և ստանդարտ հաշվիչ CloudX- ով ՝ 5 քայլ
Պարզ և ստանդարտ հաշվիչ CloudX- ով ՝ 5 քայլ

Video: Պարզ և ստանդարտ հաշվիչ CloudX- ով ՝ 5 քայլ

Video: Պարզ և ստանդարտ հաշվիչ CloudX- ով ՝ 5 քայլ
Video: Ինչպե՞ս գտնել թվի բաժանարարները 2024, Նոյեմբեր
Anonim
Պարզ և ստանդարտ հաշվիչ ՝ CloudX- ով
Պարզ և ստանդարտ հաշվիչ ՝ CloudX- ով

Այս ձեռնարկում մենք կսովորենք, թե ինչպես կատարել պարզ և ստանդարտ հաշվիչ CloudX- ով: Խնդրում ենք սեղմել Եթե նախկինում ոչինչ չեք կարդացել CloudX- ի հետ Interfacing ստեղնաշարի վրա, ահա, մեր նպատակն է ձեզ սովորեցնել, թե ինչպես կարող եք զարգացնել ձեր սեփական ապարատային հաշվիչ ՝ օգտագործելով cloudX M633:

Մեր նպատակն է կարողանալ նախագծել հաշվիչ, որը կարող է կատարել Լրացում (+), Հանում (-), Բազմապատկում (*) և բաժանում (/) `0.0000001-ից ցածր տասնորդական և ամբողջ թվերով մինչև 90000000 արդյունքով: Հաշվիչ ունի մաթեմատիկական սխալներ հայտնաբերելու ունակություն և այլն: Յուրաքանչյուր երեխա, ուսանող և հետաքրքրասեր պետք է կարողանա կատարել այս ֆանտաստիկ նախագիծը:

Քայլ 1: ՍՊԱՍԱՐԿԱԿԱՆ ՊԱՀԱՆՆԵՐ

HARDWARE ՊԱՀԱՆՆԵՐ
HARDWARE ՊԱՀԱՆՆԵՐ
HARDWARE ՊԱՀԱՆՆԵՐ
HARDWARE ՊԱՀԱՆՆԵՐ

1x CloudX միկրոկառավարիչ

1x CloudX SoftCard

1x USB մալուխ

1x 4x4 մատրիցային ստեղնաշար

1x 16x2 LCD Jumper լարեր

1x 1kΩ դիմադրություն

4x 10kΩ դիմադրիչներ

Քայլ 2. PIN ՄԻԱՈՄ

PIN ՄԻԱՈՄ
PIN ՄԻԱՈՄ
PIN ՄԻԱՈՄ
PIN ՄԻԱՈՄ
PIN ՄԻԱՈՄ
PIN ՄԻԱՈՄ

CloudX միացման կապում LCD- ով և CloudX կապի կապում ստեղնաշարով

Քայլ 3. Շրջանակային դիագրամ

Շրջանագծային դիագրամ
Շրջանագծային դիագրամ

Քայլ 4: SOՐԱԳԻՐ

/ * * Պատկեր ՝ Smart KeyPad Lock System.c

* Հեղինակ `բաճկոն

*

* Ստեղծվել է 2018 թվականի մարտի 20 -ին, առավոտյան 11: 21 -ին

*/

#ներառում

#ներառում

#ներառում

#ներառում

#սահմանեք համարների շարքերը 4 // ցուցադրումը սահմանեք չորս տողի վրա

#սահմանել Սյունակների 4 թիվը // ցուցադրումը սահմանել երեք սյունակի

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 ստեղներ, a = 0, ստուգում = 0, գործողություն = 0, signa = 0, signb = 0;

ստորագրված բոց պատասխանը;

char * Panswer;

char Aanswer [10];

ստորագրված երկար մուտքագրում;

char Ainputa [10];

ստորագրված երկար մուտքագրում;

char Ainputb [10];

կարգավորում () {

KeypadSetting (PULLDOWNCOL, RowPins, ColumnsPins, NumberOfRows, NumberOfColumns, KeypadCharacters);

lcd Կարգավորում (1, 2, 3, 4, 5, 6);

lcdCmd (lcd_clear);

lcdCmd (կուրսորի անջատում);

lcdWriteText (1, 1, «ՀԱՇՎԱՐԿ ՀԵՏ»);

lcdWriteText (2, 1, «CLOUDX»);

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (կուրսորի_հղում);

հանգույց () {

Բանալիներ = getKey ();

եթե (Բանալիներ! = 0 && Բանալիներ == 'C') {

lcdCmd (lcd_clear);

lcdCmd (կուրսորի_հղում);

համար (a = 0; a <10; a ++) {

Այնպուտա [a] = 0;

Ainputb [a] = 0;

Պատասխան [a] = 0;

}

a = 0;

գործողություն = 0;

ստուգում = 0;

signa = 0;

signb = 0;

}

եթե (ստուգեք == 1 && Բանալիներ! = 0 && Բանալիներ == '=') {

lcdCmd (կուրսորի անջատում);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

եթե (signa == '-') {

մուտքագրում = -(մուտքագրում);

}

եթե (signb == '-') {

inputb = -(inputb);

}

եթե (գործողություն == '+') {

պատասխան = մուտքագրում + մուտքագրում;

longTostr (Aanswer, answer, DEC);

}

եթե (գործողություն == '-') {

պատասխան = մուտքագրում - մուտքագրում;

longTostr (Aanswer, answer, DEC);

}

եթե (գործողություն == '*') {

պատասխան = մուտքագրում * մուտքագրում;

longTostr (Aanswer, answer, DEC);

}

եթե (գործողություն == '/') {

պատասխան = (բոց) մուտքագրում / (բոց) մուտքագրում;

Panswer = floatTostr (պատասխան);

եթե (մուտքագրում> մուտքագրում) {

Պատասխան [5] = 0;

}

}

եթե (գործողություն == '/') {

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

lcdWriteTextCP (Panswer);

}

ուրիշ {

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

lcdWriteTextCP (Aanswer);

}

}

if (Keys! = 0 && (Keys == '+' || Keys == '-' || Keys == '*' || Keys == '/')) {

եթե (գործողություն! = 0 && a == 0 && signb == 0 && (ստեղներ == '-' || Բանալիներ == '+'))) {

lcdWriteCP (բանալիներ);

եթե (Բանալիներ == '-' || Բանալիներ == '+') {

signb = Բանալիներ;

}

}

եթե (գործողություն == 0 && a == 0 && signa == 0 && (բանալիներ == '-' || բանալիներ == '+')) {

lcdWriteCP (բանալիներ);

եթե (Բանալիներ == '-' || Բանալիներ == '+') {

signa = Բանալիներ;

}

}

եթե (գործողություն == 0 && a! = 0) {

lcdWriteCP (բանալիներ);

գործողություն = բանալիներ;

a = 0;

}

}

if (Keys! = 0 && (Keys == '0' || Keys == '1' || Keys == '2' || Keys == '3' || Keys == '4' || Keys = = '5' || Բանալիներ == '6' || Բանալիներ == '7' || Բանալիներ == '8' || Բանալիներ == '9'))) {

եթե (գործողություն! = 0) {

lcdWriteCP (բանալիներ);

Ainputb [a] = Բանալիներ;

ա ++;

ստուգում = 1;

}

եթե (գործողություն == 0) {

lcdWriteCP (բանալիներ);

Ainputa [a] = Բանալիներ;

ա ++;

}

}

}

}

Խորհուրդ ենք տալիս: