Tartalomjegyzék:

Egyszerű és szabványos számológép CloudX -el: 5 lépés
Egyszerű és szabványos számológép CloudX -el: 5 lépés

Videó: Egyszerű és szabványos számológép CloudX -el: 5 lépés

Videó: Egyszerű és szabványos számológép CloudX -el: 5 lépés
Videó: The difference between Casio FX-991EX and Casio FX-991CW 2024, November
Anonim
Egyszerű és szabványos számológép a CloudX segítségével
Egyszerű és szabványos számológép a CloudX segítségével

Ebben az oktatóanyagban megtanuljuk, hogyan készítsünk egyszerű és szabványos számológépet a CloudX segítségével. Kérjük, kattintson, ha korábban nem olvasott semmit az Interfészbillentyűzet és a CloudX között, itt a célunk az, hogy megtanítson arra, hogyan fejlesztheti saját hardver számológép a cloudX M633 segítségével.

Célunk, hogy olyan számológépet tervezhessünk, amely összeadást (+), kivonást (-), szorzást (*) és osztást (/) végezhet, tizedesjegyekkel akár 0,0000001, egész számokban pedig 90000000-ig. képes felismerni a matematikai hibákat stb. Minden gyereknek, diáknak és hobbistának képesnek kell lennie erre a fantasztikus projektre.

1. lépés: HARDVERI KÖVETELMÉNYEK

HARDVERI KÖVETELMÉNYEK
HARDVERI KÖVETELMÉNYEK
HARDVERI KÖVETELMÉNYEK
HARDVERI KÖVETELMÉNYEK

1x CloudX mikrovezérlő

1x CloudX SoftCard

1x USB kábel

1x 4x4 mátrix billentyűzet

1x 16x2 LCD jumper vezeték

1x 1kΩ ellenállás

4x 10kΩ ellenállás

2. lépés: PIN -KAPCSOLAT

PIN KAPCSOLAT
PIN KAPCSOLAT
PIN KAPCSOLAT
PIN KAPCSOLAT
PIN KAPCSOLAT
PIN KAPCSOLAT

CloudX Connection csapok LCD -vel és CloudX Connection csapok billentyűzettel

3. lépés: ÁRAMDIAGRAM

KÖRDIAGRAMM
KÖRDIAGRAMM

4. lépés: SZOFTVER

/ * * Fájl: Smart KeyPad Lock System.c

* Szerző: kapucnis

*

* Létrehozva: 2018. március 20, 11:21

*/

#befoglalni

#befoglalni

#befoglalni

#befoglalni

#define NumberOfRows 4 // a kijelző négy sorra állítása

#define NumberOfColumns 4 // állítsa a megjelenítést három oszlopra

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 billentyűk, a = 0, csekk = 0, művelet = 0, sign = 0, signb = 0;

aláírt úszó válasz;

char * Panswer;

char Aanswer [10];

aláírt hosszú inputa;

char Ainputa [10];

aláírt hosszú bemenetb;

char Ainputb [10];

beállít(){

Billentyűzet -beállítás (PULLDOWNCOL, RowPins, ColumnsPins, NumberOfRows, NumberOfColumns, KeypadCharacters);

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

lcdCmd (lcd_clear);

lcdCmd (kurzor ki);

lcdWriteText (1, 1, "CALCULATOR WITH");

lcdWriteText (2, 1, "CLOUDX");

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (kurzor_blink);

hurok(){

Kulcsok = getKey ();

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

lcdCmd (lcd_clear);

lcdCmd (kurzor_blink);

(a = 0; a <10; a ++) esetén {

Ainputa [a] = 0;

Ainputb [a] = 0;

Válasz [a] = 0;

}

a = 0;

művelet = 0;

csekk = 0;

sign = 0;

signb = 0;

}

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

lcdCmd (kurzor ki);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

ha (jele == '-') {

inputa = -(inputa);

}

if (signb == '-') {

inputb = -(inputb);

}

if (művelet == '+') {

válasz = inputa + inputb;

longTostr (Válasz, válasz, DEC);

}

if (művelet == '-') {

válasz = inputa - inputb;

longTostr (Válasz, válasz, DEC);

}

if (művelet == '*') {

válasz = inputa * inputb;

longTostr (Válasz, válasz, DEC);

}

if (művelet == '/') {

válasz = (float) inputa / (float) inputb;

Panswer = floatTostr (válasz);

if (inputa> inputb) {

Panswer [5] = 0;

}

}

if (művelet == '/') {

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

lcdWriteTextCP (Panswer);

}

más {

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

lcdWriteTextCP (Válasz);

}

}

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

if (művelet! = 0 && a == 0 && signb == 0 && (Kulcsok == '-' || Kulcsok == '+')) {

lcdWriteCP (Kulcsok);

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

signb = Kulcsok;

}

}

if (művelet == 0 && a == 0 && signa == 0 && (billentyűk == '-' || Kulcsok == '+')) {

lcdWriteCP (Kulcsok);

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

sign = Kulcsok;

}

}

if (művelet == 0 && a! = 0) {

lcdWriteCP (Kulcsok);

művelet = Kulcsok;

a = 0;

}

}

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

if (művelet! = 0) {

lcdWriteCP (Kulcsok);

Ainputb [a] = Kulcsok;

a ++;

csekk = 1;

}

if (művelet == 0) {

lcdWriteCP (Kulcsok);

Ainputa [a] = Kulcsok;

a ++;

}

}

}

}

Ajánlott: