CloudX ile Basit ve Standart Hesap Makinesi: 5 Adım
CloudX ile Basit ve Standart Hesap Makinesi: 5 Adım
Anonim
CloudX ile Basit ve Standart Hesap Makinesi
CloudX ile Basit ve Standart Hesap Makinesi

Bu eğitimde, CloudX ile basit ve standart bir hesap makinesinin nasıl yapıldığını öğreneceğiz, Lütfen tıklayın. cloudX M633 kullanan kendi donanım hesaplayıcısı.

Amacımız, Toplama (+), Çıkarma (-), Çarpma (*) ve Bölme (/) yapabilen, Sonuçları 0.0000001'den küçük ve 90000000'e kadar tam sayılarda yapabilen bir hesap makinesi tasarlayabilmektir. matematik hatalarını vb. tespit etme yeteneğine sahiptir. Her çocuk, öğrenci ve hobici bu harika projeyi yapabilmeli.

1. Adım: DONANIM GEREKSİNİMLERİ

DONANIM GEREKSİNİMLERİ
DONANIM GEREKSİNİMLERİ
DONANIM GEREKSİNİMLERİ
DONANIM GEREKSİNİMLERİ

1x CloudX Mikrodenetleyici

1x CloudX SoftCard

1x USB Kablosu

1x 4x4 Matris Tuş Takımı

1x 16x2 LCD Jumper Telleri

1x 1kΩ Direnç

4x 10kΩ Dirençler

2. Adım: PIN BAĞLANTISI

PIN BAĞLANTISI
PIN BAĞLANTISI
PIN BAĞLANTISI
PIN BAĞLANTISI
PIN BAĞLANTISI
PIN BAĞLANTISI

LCD'li CloudX Bağlantı pimleri ve Tuş Takımlı CloudX Bağlantı pimleri

Adım 3: DEVRE ŞEMASI

DEVRE ŞEMASI
DEVRE ŞEMASI

4. Adım: YAZILIM

/* * Dosya: Akıllı Tuş Takımı Kilidi System.c

* Yazar: kapüşonlu

*

* 20 Mart 2018, 11:21'de oluşturuldu

*/

#Dahil etmek

#Dahil etmek

#Dahil etmek

#Dahil etmek

#define NumberOfRows 4 // ekranı dört satıra ayarla

#define NumberOfColumns 4 // ekranı üç sütuna ayarla

char Tuş TakımıKarakterler[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 Anahtarları, a=0, kontrol =0, işlem=0, signa=0, signb=0;

imzalı şamandıra cevabı;

karakter * Pcevap;

char Acevap[10];

imzalı uzun girdi;

karakter Ainputa[10];

imzalı uzun girdib;

karakter Ainputb[10];

kurmak(){

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

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

lcdCmd(lcd_clear);

lcdCmd(imleç_kapalı);

lcdWriteText(1, 1, " İLE HESAP MAKİNESİ");

lcdWriteText(2, 1, " BULUT ");

gecikmeMs(2000);

lcdCmd(lcd_clear);

lcdCmd(imleç_yanıp sönme);

döngü(){

Anahtarlar=getKey();

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

lcdCmd(lcd_clear);

lcdCmd(imleç_yanıp sönme);

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

Ainputa[a]=0;

Ainputb[a]=0;

Cevap[a]=0;

}

a=0;

işlem=0;

kontrol = 0;

işaret = 0;

işaret =0;

}

if(kontrol == 1 && Anahtarlar!=0 && Anahtarlar=='='){

lcdCmd(imleç_kapalı);

girdia = atoi(Ainputa);

girdib = atoi(Ainputb);

if(signa=='-'){

girdi = -(girdi);

}

if(signb=='-'){

girdib = -(girdib);

}

if(işlem == '+'){

cevap = girdia + girdib;

longTostr(Acevap, cevap, Aralık);

}

if(işlem == '-'){

cevap = girdia - girdib;

longTostr(Acevap, cevap, Aralık);

}

if(işlem == '*'){

cevap = girdia * girdib;

longTostr(Acevap, cevap, Aralık);

}

if(işlem == '/'){

cevap = (kayan)girdi / (kayan)girdib;

Pcevap = floatTostr(cevap);

if(girdi > girdib){

Pcevap[5]=0;

}

}

if(işlem == '/'){

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

lcdWriteTextCP(Pcevap);

}

Başka {

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

lcdWriteTextCP(Cevap);

}

}

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

if(işlem != 0 && a==0 && signb ==0 && (Keys=='-'||Keys=='+')){

lcdWriteCP(Anahtarlar);

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

işaretb = Tuşlar;

}

}

if(operasyon == 0 && a == 0 && signa ==0 && (Keys=='-'||Keys=='+')){

lcdWriteCP(Anahtarlar);

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

işaret = Tuşlar;

}

}

if(işlem == 0 && a != 0){

lcdWriteCP(Anahtarlar);

işlem = Tuşlar;

a=0;

}

}

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

if(işlem != 0){

lcdWriteCP(Anahtarlar);

Ainputb[a] = Tuşlar;

a++;

kontrol=1;

}

if(işlem == 0){

lcdWriteCP(Anahtarlar);

Ainputa[a] = Tuşlar;

a++;

}

}

}

}

Adım 5:

Önerilen: