Cuprins:

Calculator simplu și standard cu CloudX: 5 pași
Calculator simplu și standard cu CloudX: 5 pași

Video: Calculator simplu și standard cu CloudX: 5 pași

Video: Calculator simplu și standard cu CloudX: 5 pași
Video: ON CLOUD 5 REVIEW | Great for Travel and All Day Comfort? 2024, Iulie
Anonim
Calculator simplu și standard cu CloudX
Calculator simplu și standard cu CloudX

În acest tutorial, vom învăța cum să realizăm un calculator simplu și standard cu CloudX, vă rugăm să faceți clic pe Dacă nu ați citit nimic anterior pe interfața tastaturii cu CloudX, aici, obiectivul nostru este să vă învățăm despre cum vă puteți dezvolta Calculator hardware propriu folosind cloudX M633.

Scopul nostru este să putem proiecta un calculator care poate face Adunare (+), Scădere (-), Înmulțire (*) și Împărțire (/) cu rezultate în zecimale de la 0,0000001 și în număr întreg până la 90000000. Calculatorul are capacitatea de a detecta erorile matematice etc. Fiecare copil, student și pasionat ar trebui să poată face acest proiect fantastic.

Pasul 1: CERINȚE HARDWARE

CERINȚE HARDWARE
CERINȚE HARDWARE
CERINȚE HARDWARE
CERINȚE HARDWARE

1x microcontroler CloudX

1x CloudX SoftCard

1x cablu USB

1x Tastatură Matrix 4x4

1x 16x2 LCD Jumper Wires

1x rezistor 1kΩ

4x rezistențe de 10kΩ

Pasul 2: CONEXIUNEA PIN

CONEXIUNEA PIN
CONEXIUNEA PIN
CONEXIUNEA PIN
CONEXIUNEA PIN
CONEXIUNEA PIN
CONEXIUNEA PIN

Pinii de conectare CloudX cu LCD și Pinii de conectare CloudX cu tastatură

Pasul 3: DIAGRAMA CIRCUITULUI

DIAGRAMA CIRCUITULUI
DIAGRAMA CIRCUITULUI

Pasul 4: SOFTWARE

/ * * Fișier: Smart KeyPad Lock System.c

* Autor: hanorac

*

* Creat la 20 martie 2018, 11:21

*/

#include

#include

#include

#include

#define NumberOfRows 4 // setați afișajul la patru rânduri

#define NumberOfColumns 4 // setați afișajul la trei coloane

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};

Taste char, a = 0, verificare = 0, operație = 0, signa = 0, signb = 0;

răspuns flotat semnat;

char * Panswer;

char Aanswer [10];

semnat inputa lung;

char Ainputa [10];

intrare lungă semnatăb;

char Ainputb [10];

înființat(){

Setarea tastaturii (PULLDOWNCOL, RowPins, ColumnsPins, NumberOfRows, NumberOfColumns, KeypadCharacters);

Setare lcd (1, 2, 3, 4, 5, 6);

lcdCmd (lcd_clear);

lcdCmd (cursor_off);

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

lcdWriteText (2, 1, "CLOUDX");

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

buclă(){

Chei = getKey ();

if (Taste! = 0 & Taste == „C”) {

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

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

Ainputa [a] = 0;

Ainputb [a] = 0;

Aanswer [a] = 0;

}

a = 0;

operație = 0;

verifica = 0;

signa = 0;

semnb = 0;

}

if (verificați == 1 && Keys! = 0 && Keys == '=') {

lcdCmd (cursor_off);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

if (signa == '-') {

inputa = - (inputa);

}

if (signb == '-') {

inputb = - (inputb);

}

if (operație == '+') {

raspuns = inputa + inputb;

longTostr (Aanswer, answer, DEC);

}

if (operațiune == '-') {

raspuns = inputa - inputb;

longTostr (Aanswer, answer, DEC);

}

if (operație == '*') {

answer = inputa * inputb;

longTostr (Aanswer, answer, DEC);

}

if (operațiune == '/') {

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

Panswer = floatTostr (răspuns);

if (inputa> inputb) {

Panswer [5] = 0;

}

}

if (operație == '/') {

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

lcdWriteTextCP (Panswer);

}

altceva {

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

lcdWriteTextCP (Aanswer);

}

}

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

if (operație! = 0 && a == 0 && signb == 0 && (Chei == '-' || Chei == '+')) {

lcdWriteCP (Chei);

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

semnb = Chei;

}

}

if (operație == 0 && a == 0 && signa == 0 && (Chei == '-' || Chei == '+')) {

lcdWriteCP (Chei);

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

signa = Chei;

}

}

if (operație == 0 && a! = 0) {

lcdWriteCP (Chei);

operație = Taste;

a = 0;

}

}

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

if (operație! = 0) {

lcdWriteCP (Chei);

Ainputb [a] = Chei;

a ++;

verifica = 1;

}

if (operație == 0) {

lcdWriteCP (Chei);

Ainputa [a] = Chei;

a ++;

}

}

}

}

Recomandat: