Съдържание:

Прост и стандартен калкулатор с CloudX: 5 стъпки
Прост и стандартен калкулатор с CloudX: 5 стъпки

Видео: Прост и стандартен калкулатор с CloudX: 5 стъпки

Видео: Прост и стандартен калкулатор с CloudX: 5 стъпки
Видео: ПИШЕМ КАЛЬКУЛЯТОР НА C# | КАК НАПИСАТЬ КАЛЬКУЛЯТОР НА C# | C# ДОМАШНИЕ ЗАДАНИЯ | #3 2024, Юли
Anonim
Прост и стандартен калкулатор с CloudX
Прост и стандартен калкулатор с CloudX

В този урок ще се научим как да правим прост и стандартен калкулатор с CloudX. Моля, щракнете, ако преди не сте чели нищо за Свързване на клавиатурата с CloudX, Тук нашата цел е да ви научим как можете да развиете своя собствен хардуерен калкулатор, използващ cloudX M633.

Нашата цел е да можем да проектираме калкулатор, който може да прави събиране (+), изваждане (-), умножение (*) и деление (/) с резултати в десетични числа до 0,0000001 и в цели числа до 90000000. Калкулаторът има способността да открива математически грешки и т.н. Всяко дете, ученик и любител трябва да може да направи този фантастичен проект.

Стъпка 1: ИЗИСКВАНИЯ ЗА ХАРАКТЕРИСТИКА

ИЗИСКВАНИЯ ЗА ХАРАКТЕРИСТИКА
ИЗИСКВАНИЯ ЗА ХАРАКТЕРИСТИКА
ИЗИСКВАНИЯ ЗА ХАРАКТЕРИСТИКА
ИЗИСКВАНИЯ ЗА ХАРАКТЕРИСТИКА

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

1x CloudX SoftCard

1x USB кабел

1x 4x4 матрична клавиатура

1x 16x2 LCD Jumper проводници

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

4x 10kΩ резистори

Стъпка 2: ВРЪЗКА с ПИН

ПИН СВЪРЗВАНЕ
ПИН СВЪРЗВАНЕ
ПИН СВЪРЗВАНЕ
ПИН СВЪРЗВАНЕ
ПИН СВЪРЗВАНЕ
ПИН СВЪРЗВАНЕ

Щитове за връзка с CloudX с LCD и щифтове за връзка с CloudX с клавиатура

Стъпка 3: СХЕМА НА ВРЪЖКИ

СХЕМА НА ВРЪЖКИ
СХЕМА НА ВРЪЖКИ

Стъпка 4: СОФТУЕР

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

* Автор: качулка

*

* Създадено на 20 март 2018 г., 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, operation = 0, signa = 0, signb = 0;

подписан плаващ отговор;

char * Panswer;

char Aanswer [10];

подписана дълга inputa;

char Ainputa [10];

подписан дълъг вход b;

char Ainputb [10];

настройвам(){

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

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

lcdCmd (lcd_clear);

lcdCmd (курсор_изкл.);

lcdWriteText (1, 1, "КАЛКУЛАТОР С");

lcdWriteText (2, 1, "CLOUDX");

забавянеMs (2000);

lcdCmd (lcd_clear);

lcdCmd (курсор_мигване);

loop () {

Ключове = getKey ();

if (Ключове! = 0 && Ключове == 'C') {

lcdCmd (lcd_clear);

lcdCmd (курсор_мигване);

за (a = 0; a <10; a ++) {

Ainputa [a] = 0;

Ainputb [a] = 0;

Aanswer [a] = 0;

}

a = 0;

операция = 0;

проверка = 0;

signa = 0;

signb = 0;

}

if (проверка == 1 && Keys! = 0 && Keys == '=') {

lcdCmd (курсор_изкл.);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

if (signa == '-') {

inputa = -(inputa);

}

if (signb == '-') {

вход b = -(вход b);

}

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

отговор = inputa + вход b;

longTostr (Aanswer, answer, DEC);

}

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

отговор = inputa - вход b;

longTostr (Aanswer, answer, DEC);

}

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

отговор = inputa * вход b;

longTostr (Aanswer, answer, DEC);

}

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

answer = (float) inputa / (float) inputb;

Panswer = floatTostr (отговор);

if (inputa> inputb) {

Panswer [5] = 0;

}

}

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

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

lcdWriteTextCP (Panswer);

}

иначе {

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

lcdWriteTextCP (Aanswer);

}

}

if (Ключове! = 0 && (Ключове == '+' || Ключове == '-' || Ключове == '*' || Ключове == '/')) {

if (операция! = 0 && a == 0 && signb == 0 && (Ключове == '-' || Ключове == '+')) {

lcdWriteCP (ключове);

if (Ключове == '-' || Ключове == '+') {

signb = Ключове;

}

}

if (операция == 0 && a == 0 && signa == 0 && (Ключове == '-' || Ключове == '+')) {

lcdWriteCP (ключове);

if (Ключове == '-' || Ключове == '+') {

signa = Ключове;

}

}

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

lcdWriteCP (ключове);

операция = Ключове;

a = 0;

}

}

if (Ключове! = 0 && (Ключове == '0' || Ключове == '1' || Ключове == '2' || Ключове == '3' || Ключове == '4' || Ключове = = '5' || Ключове == '6' || Ключове == '7' || Ключове == '8' || Ключове == '9')) {

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

lcdWriteCP (ключове);

Ainputb [a] = Ключове;

а ++;

чек = 1;

}

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

lcdWriteCP (ключове);

Ainputa [a] = Ключове;

а ++;

}

}

}

}

Препоръчано: