Мазмұны:

CloudX көмегімен қарапайым және стандартты калькулятор: 5 қадам
CloudX көмегімен қарапайым және стандартты калькулятор: 5 қадам

Бейне: CloudX көмегімен қарапайым және стандартты калькулятор: 5 қадам

Бейне: CloudX көмегімен қарапайым және стандартты калькулятор: 5 қадам
Бейне: Ремонт на балконе Ошибки монтажа теплого пола. #37 2024, Шілде
Anonim
CloudX көмегімен қарапайым және стандартты калькулятор
CloudX көмегімен қарапайым және стандартты калькулятор

Бұл оқулықта біз CloudX көмегімен қарапайым және стандартты калькулятор жасауды үйренетін боламыз, «Егер сіз бұрын CloudX көмегімен интерфейстік пернетақтада ештеңе оқымаған болсаңыз, мына жерді басыңыз» түймесін басыңыз. Біздің мақсат - сіздің компьютеріңізді қалай дамытуға болатынын үйрету. cloudX M633 көмегімен меншікті аппараттық калькулятор.

Біздің мақсат-0.0000001-ге дейінгі ондықтарда және 90000000-ға дейінгі бүтін сандарда нәтижелері бар қосу (+), азайту (-), көбейту (*) және бөлу (/) жасай алатын калькуляторды құрастыру. математикалық қателіктерді анықтау мүмкіндігіне ие және т.

1 -қадам: ЖАБДЫҚТАРҒА ТАЛАПТАР

ЖАБДЫҚТАРҒА ТАЛАПТАР
ЖАБДЫҚТАРҒА ТАЛАПТАР
ЖАБДЫҚТАРҒА ТАЛАПТАР
ЖАБДЫҚТАРҒА ТАЛАПТАР

1x CloudX микроконтроллері

1x CloudX SoftCard

1x USB кабелі

1х 4х4 матрицалық пернетақта

1x 16x2 СКД өтпелі сымдар

1x 1kΩ резистор

4х10 кО резисторлар

2 -қадам: PIN қосылымы

PIN ҚОСУ
PIN ҚОСУ
PIN ҚОСУ
PIN ҚОСУ
PIN ҚОСУ
PIN ҚОСУ

СКД бар CloudX Connection түйреуіштері және пернетақтасы бар CloudX Connection түйреуіштері

3 -қадам: ЦИРКУИТ ДИАГРАММАСЫ

ЦИРКУИТ ДИАГРАММАСЫ
ЦИРКУИТ ДИАГРАММАСЫ

4 -қадам: БАҒДАРЛАМА

/ * * Файл: Smart KeyPad Lock System.c

* Автор: капюшон

*

* 2018 жылдың 20 наурызында, сағат 11:21 жасалған

*/

#қосу

#қосу

#қосу

#қосу

#define NumberOfRows 4 // дисплейді төрт жолға орнатыңыз

#define NumberOfColumns 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 Keys, a = 0, check = 0, операция = 0, signa = 0, signb = 0;

қол қойылған қалқымалы жауап;

char * Panswer;

char Aanswer [10];

қол қойылған ұзақ енгізу;

char Ainputa [10];

қол қойылған ұзақ енгізуb;

char Ainputb [10];

орнату(){

Пернетақта параметрлері (PULLDOWNCOL, RowPins, ColumnsPins, NumberOfRows, NumberOfColumns, KeypadCharacters);

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

lcdCmd (lcd_clear);

lcdCmd (cursor_off);

lcdWriteText (1, 1, «КАЛЬКУЛЬТОР МЕНЕН»);

lcdWriteText (2, 1, «CLOUDX»);

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

цикл () {

Кілттер = getKey ();

if (Keys! = 0 && Keys == 'C') {

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

үшін (a = 0; a <10; a ++) {

Айнутпа [a] = 0;

Ainputb [a] = 0;

Жауап [a] = 0;

}

a = 0;

операция = 0;

тексеру = 0;

белгі = 0;

signb = 0;

}

if (check == 1 && Keys! = 0 && Keys == '=') {

lcdCmd (cursor_off);

inputa = atoi (Айнпута);

inputb = atoi (Ainputb);

if (signa == '-') {

inputa = -(inputa);

}

егер (signb == '-') {

inputb = -(енгізуb);

}

if (операция == '+') {

жауап = inputa + inputb;

longTostr (Жауап, жауап, DEC);

}

if (операция == '-') {

жауап = inputa - inputb;

longTostr (Жауап, жауап, DEC);

}

егер (операция == '*') {

жауап = inputa * inputb;

longTostr (Жауап, жауап, DEC);

}

егер (операция == '/') {

жауап = (float) inputa / (float) inputb;

Panswer = floatTostr (жауап);

if (inputa> inputb) {

Panswer [5] = 0;

}

}

егер (операция == '/') {

lcdWriteText (2, 1, «ANS:»);

lcdWriteTextCP (Panswer);

}

басқа {

lcdWriteText (2, 1, «ANS:»);

lcdWriteTextCP (Жауап беру);

}

}

егер (Пернелер! = 0 && (Пернелер == '+' || Пернелер == '-' || Пернелер == '*' || Пернелер == '/')) {

if (операция! = 0 && a == 0 && signb == 0 && (Пернелер == '-' || Пернелер == '+')) {

lcdWriteCP (кілттер);

if (Пернелер == '-' || Пернелер == '+') {

signb = пернелер;

}

}

if (операция == 0 && a == 0 && signa == 0 && (Пернелер == '-' || Пернелер == '+')) {

lcdWriteCP (кілттер);

if (Пернелер == '-' || Пернелер == '+') {

signa = пернелер;

}

}

егер (операция == 0 && a! = 0) {

lcdWriteCP (кілттер);

операция = Пернелер;

a = 0;

}

}

if (Кілттер! = 0 && (Пернелер == '0' || Пернелер == '1' || Пернелер == '2' || Пернелер == '3' || Пернелер == '4' || Пернелер = = '5' || Пернелер == '6' || Пернелер == '7' || Пернелер == '8' || Пернелер == '9')) {

егер (операция! = 0) {

lcdWriteCP (кілттер);

Ainputb [a] = Пернелер;

а ++;

тексеру = 1;

}

егер (операция == 0) {

lcdWriteCP (кілттер);

Айнутпа [a] = Пернелер;

а ++;

}

}

}

}

Ұсынылған: