Mundarija:

CloudX bilan oddiy va standart kalkulyator: 5 qadam
CloudX bilan oddiy va standart kalkulyator: 5 qadam

Video: CloudX bilan oddiy va standart kalkulyator: 5 qadam

Video: CloudX bilan oddiy va standart kalkulyator: 5 qadam
Video: Ellipsning grafigidan uning standart tenglamasini topish | Matematik analiz asoslari 2024, Noyabr
Anonim
CloudX bilan oddiy va standart kalkulyator
CloudX bilan oddiy va standart kalkulyator

Ushbu qo'llanmada biz CloudX yordamida oddiy va standart kalkulyatorni yasashni o'rganamiz. Iltimos, bosing Agar siz CloudX bilan Interfacing klaviaturasida hech narsa o'qimagan bo'lsangiz, Mana, bizning maqsadimiz sizga o'z kompyuteringizni qanday rivojlantirishni o'rgatish. cloudX M633 yordamida shaxsiy apparat kalkulyatori.

Bizning maqsadimiz-natijalarni 0,0000001 va butun sonlarda 90000000 gacha bo'lgan qo'shish (+), ayirish (-), ko'paytirish (*) va bo'linish (/) bajaradigan kalkulyatorni loyihalashtirish. matematik xatolarni aniqlash qobiliyatiga ega va hokazo. Har bir bola, talaba va havaskor bu ajoyib loyihani bajarishi kerak.

1 -qadam: QURILMA TALABLARI

QURILMA TALABLARI
QURILMA TALABLARI
QO'ShIMChA TALABLAR
QO'ShIMChA TALABLAR

1x CloudX mikrokontroler

1x CloudX SoftCard

1x USB kabeli

1x 4x4 matritsali klaviatura

1x 16x2 LCD o'tish simlari

1x 1kΩ qarshilik

4x10kΩ rezistorlar

2 -qadam: PIN -kod ulanishi

PIN Ulanish
PIN Ulanish
PIN Ulanish
PIN Ulanish
PIN Ulanish
PIN Ulanish

LCD bilan CloudX ulanish pinlari va klaviaturali CloudX ulanish pinlari

3 -qadam: O'RNAK DIAGRAMI

ZAMANA DIAGRAMI
ZAMANA DIAGRAMI

4 -qadam: dasturiy ta'minot

/ * * Fayl: Smart KeyPad Lock System.c

* Muallif: hoodie

*

* 2018 yil 20 -mart, soat 11:21 da yaratilgan

*/

#qo'shing

#qo'shing

#qo'shing

#qo'shing

#define NumberOfRows 4 // displeyni to'rt qatorga o'rnating

#define NumberOfColumns 4 // displeyni uchta ustunga o'rnating

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, operatsiya = 0, signa = 0, signb = 0;

imzolangan float javob;

char * Panswer;

char Aanswer [10];

imzolangan uzun kirish;

char Ainputa [10];

imzolangan uzun kirish;

char Ainputb [10];

sozlash(){

Klaviatura sozlamalari (PULLDOWNCOL, RowPins, ColumnsPins, NumberOfRows, NumberOfColumns, KeypadCharacters);

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

lcdCmd (lcd_clear);

lcdCmd (cursor_off);

lcdWriteText (1, 1, "KALKULYATOR BILAN");

lcdWriteText (2, 1, "CLOUDX");

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

pastadir () {

Kalitlar = getKey ();

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

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

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

Ainputa [a] = 0;

Ainputb [a] = 0;

Javob [a] = 0;

}

a = 0;

operatsiya = 0;

tekshirish = 0;

belgisi = 0;

signb = 0;

}

agar (tekshiring == 1 && Keys! = 0 && Keys == '=') {

lcdCmd (cursor_off);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

agar (signa == '-') {

inputa = -(inputa);

}

agar (signb == '-') {

inputb = -(inputb);

}

agar (operatsiya == '+') {

javob = inputa + inputb;

longTostr (Javob, javob, DEC);

}

agar (operatsiya == '-') {

javob = inputa - inputb;

longTostr (Javob, javob, DEC);

}

agar (operatsiya == '*') {

javob = inputa * inputb;

longTostr (Javob, javob, DEC);

}

agar (operatsiya == '/') {

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

Panswer = floatTostr (javob);

if (inputa> inputb) {

Javob [5] = 0;

}

}

agar (operatsiya == '/') {

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

lcdWriteTextCP (Panswer);

}

boshqa {

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

lcdWriteTextCP (javobsiz);

}

}

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

if (operatsiya! = 0 && a == 0 && signb == 0 && (Keys == '-' || Kalitlar == '+')) {

lcdWriteCP (kalitlar);

agar (Kalitlar == '-' || Kalitlar == '+') {

signb = Kalitlar;

}

}

if (operatsiya == 0 && a == 0 && signa == 0 && (Kalitlar == '-' || Kalitlar == '+')) {

lcdWriteCP (kalitlar);

agar (Kalitlar == '-' || Kalitlar == '+') {

signal = kalitlar;

}

}

agar (operatsiya == 0 && a! = 0) {

lcdWriteCP (kalitlar);

operatsiya = Kalitlar;

a = 0;

}

}

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

agar (operatsiya! = 0) {

lcdWriteCP (kalitlar);

Ainputb [a] = Kalitlar;

a ++;

tekshirish = 1;

}

agar (operatsiya == 0) {

lcdWriteCP (kalitlar);

Ainputa [a] = Kalitlar;

a ++;

}

}

}

}

5 -qadam:

Tavsiya: