Turinys:

Paprastas ir standartinis skaičiuotuvas su „CloudX“: 5 žingsniai
Paprastas ir standartinis skaičiuotuvas su „CloudX“: 5 žingsniai

Video: Paprastas ir standartinis skaičiuotuvas su „CloudX“: 5 žingsniai

Video: Paprastas ir standartinis skaičiuotuvas su „CloudX“: 5 žingsniai
Video: Atsitiktinio dydžio dispersija ir vidutinis standartinis nuokrypis 2024, Lapkritis
Anonim
Paprastas ir standartinis skaičiuotuvas su „CloudX“
Paprastas ir standartinis skaičiuotuvas su „CloudX“

Šioje pamokoje mes mokysimės, kaip padaryti paprastą ir standartinę skaičiuoklę naudojant „CloudX“. Spustelėkite Jei anksčiau nieko neskaitėte sąsajos klaviatūroje su „CloudX“, čia mūsų tikslas yra išmokyti jus, kaip galite sukurti savo savo aparatūros skaičiuoklę, naudojančią „cloudX M633“.

Mūsų tikslas yra sugebėti suprojektuoti skaičiuotuvą, kuris galėtų atlikti sudėjimą (+), atimtį (-), daugybą (*) ir padalijimą (/). turi galimybę aptikti matematikos klaidas ir tt Kiekvienas vaikas, studentas ir mėgėjas turėtų sugebėti atlikti šį fantastišką projektą.

1 žingsnis: REIKALAVIMAI Aparatūrai

Aparatūros reikalavimai
Aparatūros reikalavimai
Aparatūros reikalavimai
Aparatūros reikalavimai

1x „CloudX“mikrovaldiklis

1x „CloudX SoftCard“

1x USB kabelis

1x 4x4 matricos klaviatūra

1x 16x2 LCD jungiamieji laidai

1x 1kΩ rezistorius

4x 10kΩ rezistoriai

2 veiksmas: PIN kodo prijungimas

PIN SUSIJUNGIMAS
PIN SUSIJUNGIMAS
PIN SUSIJUNGIMAS
PIN SUSIJUNGIMAS
PIN SUSIJUNGIMAS
PIN SUSIJUNGIMAS

„CloudX Connection“kaiščiai su LCD ir „CloudX Connection“kaiščiai su klaviatūra

3 veiksmas: grandinės diagrama

GRANDINĖS DIAGRAMA
GRANDINĖS DIAGRAMA

4 žingsnis: PROGRAMINĖ ĮRANGA

/ * * Failas: „Smart KeyPad Lock System“. C

* Autorius: megztinis

*

* Sukurta 2018 m. Kovo 20 d. 11:21

*/

#įtraukti

#įtraukti

#įtraukti

#įtraukti

#define NumberOfRows 4 // nustatyti ekraną į keturias eilutes

#define NumberOfColumns 4 // nustatyti rodymą į tris stulpelius

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 raktai, a = 0, čekis = 0, operacija = 0, signa = 0, ženklas b = 0;

pasirašytas plūdės atsakymas;

char * Panswer;

char Aanswer [10];

pasirašyta ilga inputa;

char Ainputa [10];

pasirašyta ilga įvestisb;

char Ainputb [10];

sąranka () {

Klaviatūros nustatymas (PULLDOWNCOL, RowPins, ColumnsPins, NumberOfRows, NumberOfColumns, KeypadCharacters);

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

lcdCmd (lcd_clear);

lcdCmd (žymeklio išjungimas);

lcdWriteText (1, 1, „Skaičiuotuvas su“);

lcdWriteText (2, 1, „CLOUDX“);

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (žymeklio blizgesys);

kilpa () {

Raktai = getKey ();

jei (raktai! = 0 && klavišai == 'C') {

lcdCmd (lcd_clear);

lcdCmd (žymeklio blizgesys);

už (a = 0; a <10; a ++) {

Ainputa [a] = 0;

Ainputb [a] = 0;

Atsakymas [a] = 0;

}

a = 0;

operacija = 0;

čekis = 0;

signa = 0;

ženklas b = 0;

}

jei (patikrinkite == 1 && Keys! = 0 && Keys == '=') {

lcdCmd (žymeklio išjungimas);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

jei (signa == '-') {

inputa = -(inputa);

}

jei (signb == '-') {

įvestisb = -(įvestisb);

}

if (operacija == '+') {

atsakymas = inputa + inputb;

longTostr (atsakymas, atsakymas, DEC);

}

if (operacija == '-') {

atsakymas = inputa - inputb;

longTostr (atsakymas, atsakymas, DEC);

}

jei (operacija == '*') {

atsakymas = inputa * inputb;

longTostr (atsakymas, atsakymas, DEC);

}

jei (operacija == '/') {

atsakymas = (plūdė) inputa / (plūdė) įvestisb;

Panswer = floatTostr (atsakymas);

if (inputa> inputb) {

„Panswer“[5] = 0;

}

}

jei (operacija == '/') {

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

lcdWriteTextCP („Panswer“);

}

Kitas {

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

lcdWriteTextCP (atsakymas);

}

}

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

if (operacija! = 0 && a == 0 && signb == 0 && (raktai == '-' || Raktai == '+')) {

lcdWriteCP (raktai);

jei (raktai == '-' || raktai == '+') {

signb = raktai;

}

}

if (operacija == 0 && a == 0 && signa == 0 && (raktai == '-' || Raktai == '+')) {

lcdWriteCP (raktai);

jei (raktai == '-' || raktai == '+') {

signa = Raktai;

}

}

if (operacija == 0 && a! = 0) {

lcdWriteCP (raktai);

operacija = Raktai;

a = 0;

}

}

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

if (operacija! = 0) {

lcdWriteCP (raktai);

Ainputb [a] = Raktai;

a ++;

čekis = 1;

}

if (operacija == 0) {

lcdWriteCP (raktai);

Ainputa [a] = Raktai;

a ++;

}

}

}

}

Rekomenduojamas: