Мазмуну:

CloudX менен жөнөкөй жана стандарттык эсептегич: 5 кадам
CloudX менен жөнөкөй жана стандарттык эсептегич: 5 кадам

Video: CloudX менен жөнөкөй жана стандарттык эсептегич: 5 кадам

Video: CloudX менен жөнөкөй жана стандарттык эсептегич: 5 кадам
Video: Ремонт на балконе Ошибки монтажа теплого пола. #37 2024, Ноябрь
Anonim
CloudX менен жөнөкөй жана стандарттык эсептегич
CloudX менен жөнөкөй жана стандарттык эсептегич

Бул үйрөткүчтө биз CloudX менен жөнөкөй жана стандарттык эсептегичти кантип жасоону үйрөнөбүз, Сураныч, чыкылдатыңыз Эгерде сиз буга чейин CloudX менен Interfacing клавиатурасында эч нерсе окуган эмес болсоңуз, Бул жерде, Биздин максат сизди кантип өнүктүрүүнү үйрөтүү. cloudX M633 колдонуп, өздүк аппараттык эсептегич.

Биздин максатыбыз кошуу (+), кемитүү (-), көбөйтүү (*) жана бөлүнүү (/) жыйынтыктарын ондукта 0.0000001ге чейин жана 90000000ге чейинки бүтүндөй сандар менен жасай турган калькуляторду долбоорлоо мүмкүнчүлүгүнө ээ болуу. математикалык каталарды аныктоо мүмкүнчүлүгүнө ээ. Ар бир бала, студент жана хобби бул фантастикалык долбоорду жасай алышы керек.

1 -кадам: ЖАБДУУ ТАЛАПТАРЫ

ЖАБДУУ ТАЛАПТАРЫ
ЖАБДУУ ТАЛАПТАРЫ
ЖАБДУУ ТАЛАПТАРЫ
ЖАБДУУ ТАЛАПТАРЫ

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

1x CloudX SoftCard

1x USB кабели

1x 4x4 матрицалык баскычтоп

1x 16x2 LCD Jumper Wires

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

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

2 -кадам: PIN БАЙЛАНЫШ

PIN БАЙЛАНЫШ
PIN БАЙЛАНЫШ
PIN БАЙЛАНЫШ
PIN БАЙЛАНЫШ
PIN БАЙЛАНЫШ
PIN БАЙЛАНЫШ

LCD менен 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];

жайгашуу(){

KeypadSetting (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 ++) {

Ainputa [a] = 0;

Ainputb [a] = 0;

Жооп [a] = 0;

}

a = 0;

операция = 0;

check = 0;

signa = 0;

signb = 0;

}

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

lcdCmd (cursor_off);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

if (signa == '-') {

inputa = -(inputa);

}

if (signb == '-') {

inputb = -(inputb);

}

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

жооп = inputa + inputb;

longTostr (Жооп, жооп, DEC);

}

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

жооп = inputa - inputb;

longTostr (Жооп, жооп, DEC);

}

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

жооп = inputa * inputb;

longTostr (Жооп, жооп, DEC);

}

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

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

Panswer = floatTostr (жооп);

if (inputa> inputb) {

Panswer [5] = 0;

}

}

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

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

lcdWriteTextCP (Panswer);

}

башка {

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

lcdWriteTextCP (Жооп);

}

}

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

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

lcdWriteCP (ачкычтар);

if (Keys == '-' || Keys == '+') {

signb = Баскычтар;

}

}

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

lcdWriteCP (ачкычтар);

if (Keys == '-' || Keys == '+') {

signa = Keys;

}

}

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

lcdWriteCP (ачкычтар);

операция = Баскычтар;

a = 0;

}

}

if (Keys! = 0 && (Keys == '0' || Keys == '1' || Keys == '2' || Keys == '3' || Keys == '4' || Keys = = '5' || Keys == '6' || Keys == '7' || Keys == '8' || Keys == '9')) {

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

lcdWriteCP (ачкычтар);

Ainputb [a] = Баскычтар;

a ++;

check = 1;

}

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

lcdWriteCP (ачкычтар);

Ainputa [a] = Баскычтар;

a ++;

}

}

}

}

Сунушталууда: