Mündəricat:

CloudX ilə sadə və standart kalkulyator: 5 addım
CloudX ilə sadə və standart kalkulyator: 5 addım

Video: CloudX ilə sadə və standart kalkulyator: 5 addım

Video: CloudX ilə sadə və standart kalkulyator: 5 addım
Video: Triqonometrik tənliklər 2.BÖLÜM(1-32) 2024, Noyabr
Anonim
CloudX ilə Sadə və Standart Kalkulyator
CloudX ilə Sadə və Standart Kalkulyator

Bu təlimatda, CloudX ilə sadə və standart bir kalkulyatorun necə qurulacağını öyrənəcəyik, Xahiş edirik vurun, əvvəllər CloudX ilə Interfacing klaviaturasında heç bir şey oxumamısınızsa, Burada hədəfimiz sizə kompüterinizi necə inkişaf etdirə biləcəyinizi öyrətməkdir. cloudX M633 istifadə edərək öz hardware kalkulyatoru.

Məqsədimiz, Əlavə (+), Çıxarma (-), Çarpma (*) və Bölmə (/) nəticələrini 0.0000001 qədər aşağı olan və 90000000-ə qədər olan bütün ədədlərlə işləyə bilən bir kalkulyator hazırlaya bilməkdir. riyaziyyat səhvlərini və s. aşkar etmək qabiliyyətinə malikdir. Hər bir uşaq, tələbə və həvəskar bu fantastik layihəni bacarmalıdır.

Addım 1: DONANIM TƏLƏBLƏRİ

DONANIM TƏLƏBLƏRİ
DONANIM TƏLƏBLƏRİ
DONANIM TƏLƏBLƏRİ
DONANIM TƏLƏBLƏRİ

1x CloudX Mikro nəzarətçi

1x CloudX SoftCard

1x USB Kabel

1x 4x4 Matrix Klaviatura

1x 16x2 LCD keçid telləri

1x 1kΩ rezistor

4x10kΩ rezistorlar

Addım 2: PIN bağlantısı

PİN BAĞLANTI
PİN BAĞLANTI
PİN BAĞLANTI
PİN BAĞLANTI
PİN BAĞLANTI
PİN BAĞLANTI

LCD ilə CloudX Connection pinləri və Keypad ilə CloudX Connection pinləri

Addım 3: CIRCUIT DIAGRAM

Dairə diaqramı
Dairə diaqramı

Addım 4: YAZILIM

/ * * Şəkil: Smart KeyPad Lock System.c

* Müəllif: hoodie

*

* 20 Mart 2018, 11:21 AM -də yaradılmışdır

*/

#daxil edin

#daxil edin

#daxil edin

#daxil edin

#define NumberOfRows 4 // ekranı dörd sətrə təyin edin

#define NumberOfColumns 4 // ekranı üç sütuna təyin edin

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, əməliyyat = 0, signa = 0, signb = 0;

imzalanmış float cavabı;

char * Panswer;

char Aanswer [10];

imzalanmış uzun giriş;

char Ainputa [10];

imzalanmış uzun giriş;

char Ainputb [10];

qurmaq(){

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

lcd Ayarı (1, 2, 3, 4, 5, 6);

lcdCmd (lcd_clear);

lcdCmd (cursor_off);

lcdWriteText (1, 1, "İLƏ HESABLAYICI");

lcdWriteText (2, 1, "CLOUDX");

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

döngə () {

Açarlar = getKey ();

əgər (Açarlar! = 0 && Açarlar == 'C') {

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

üçün (a = 0; a <10; a ++) {

Ainputa [a] = 0;

Ainputb [a] = 0;

Cavab [a] = 0;

}

a = 0;

əməliyyat = 0;

yoxla = 0;

işarə = 0;

signb = 0;

}

əgər (yoxlayın == 1 && Açarlar! = 0 && Açarlar == '=') {

lcdCmd (cursor_off);

giriş = atoi (Ainputa);

inputb = atoi (Ainputb);

əgər (işarə == '-') {

inputa = -(inputa);

}

əgər (işarə == '-') {

inputb = -(inputb);

}

if (əməliyyat == '+') {

cavab = inputa + inputb;

longTostr (Cavab, cavab, DEC);

}

if (əməliyyat == '-') {

cavab = inputa - inputb;

longTostr (Cavab, cavab, DEC);

}

if (əməliyyat == '*') {

cavab = inputa * inputb;

longTostr (Cavab, cavab, DEC);

}

if (əməliyyat == '/') {

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

Panswer = floatTostr (cavab);

if (inputa> inputb) {

Panswer [5] = 0;

}

}

if (əməliyyat == '/') {

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

lcdWriteTextCP (Panswer);

}

başqa {

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

lcdWriteTextCP (Cavab);

}

}

if (Açarlar! = 0 && (Açarlar == '+' || Açarlar == '-' || Açarlar == '*' || Açarlar == '/')) {

if (əməliyyat! = 0 && a == 0 && signb == 0 && (Açarlar == '-' || Açarlar == '+')) {

lcdWriteCP (Açarlar);

əgər (Tuşlar == '-' || Açarlar == '+') {

signb = Açarlar;

}

}

if (əməliyyat == 0 && a == 0 && signa == 0 && (Açarlar == '-' || Açarlar == '+')) {

lcdWriteCP (Açarlar);

əgər (Düymələr == '-' || Açarlar == '+') {

işarələr = Açarlar;

}

}

if (əməliyyat == 0 && a! = 0) {

lcdWriteCP (Açarlar);

əməliyyat = Açarlar;

a = 0;

}

}

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

əgər (əməliyyat! = 0) {

lcdWriteCP (Açarlar);

Ainputb [a] = Açarlar;

a ++;

yoxla = 1;

}

əgər (əməliyyat == 0) {

lcdWriteCP (Açarlar);

Ainputa [a] = Açarlar;

a ++;

}

}

}

}

Tövsiyə: