Sommario:

Calcolatrice semplice e standard con CloudX: 5 passaggi
Calcolatrice semplice e standard con CloudX: 5 passaggi

Video: Calcolatrice semplice e standard con CloudX: 5 passaggi

Video: Calcolatrice semplice e standard con CloudX: 5 passaggi
Video: DaNang Vietnam in October (low season) | Prices for food, accommodation, mobile, bike rent 2024, Luglio
Anonim
Calcolatrice semplice e standard con CloudX
Calcolatrice semplice e standard con CloudX

In questo tutorial, impareremo come creare una calcolatrice semplice e standard con CloudX, fai clic su Se non hai letto nulla sulla tastiera di interfaccia con CloudX prima, qui, il nostro obiettivo è insegnarti come sviluppare il tuo proprio calcolatore hardware utilizzando cloudX M633.

Il nostro obiettivo è essere in grado di progettare una calcolatrice in grado di eseguire addizioni (+), sottrazioni (-), moltiplicazioni (*) e divisioni (/) con risultati in decimali a partire da 0,0000001 e in numeri interi fino a 90000000. La calcolatrice ha la capacità di rilevare errori matematici, ecc. Ogni bambino, studente e hobbista dovrebbe essere in grado di realizzare questo fantastico progetto.

Fase 1: REQUISITI HARDWARE

REQUISITI HARDWARE
REQUISITI HARDWARE
REQUISITI HARDWARE
REQUISITI HARDWARE

1x Microcontrollore CloudX

1x SoftCard CloudX

1x cavo USB

1x tastiera a matrice 4x4

1x 16x2 cavi per ponticelli LCD

1x resistenza da 1kΩ

4x resistori da 10kΩ

Passaggio 2: CONNESSIONE PIN

CONNESSIONE PIN
CONNESSIONE PIN
CONNESSIONE PIN
CONNESSIONE PIN
CONNESSIONE PIN
CONNESSIONE PIN

Pin di connessione CloudX con LCD e pin di connessione CloudX con tastiera

Fase 3: SCHEMA DEL CIRCUITO

SCHEMA ELETTRICO
SCHEMA ELETTRICO

Passaggio 4: SOFTWARE

/* * File: Smart KeyPad Lock System.c

* Autore: felpa con cappuccio

*

* Creato il 20 marzo 2018, 11:21

*/

#includere

#includere

#includere

#includere

#define NumberOfRows 4 // imposta la visualizzazione su quattro righe

#define NumberOfColumns 4 // imposta la visualizzazione su tre colonne

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, operation=0, signa=0, signb=0;

risposta float firmata;

carattere * Prisposta;

char Arisposta[10];

ingresso lungo firmato;

char Ainputa[10];

input lungo firmatob;

char Ainputb[10];

impostare(){

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

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

lcdCmd(lcd_clear);

lcdCmd(cursor_off);

lcdWriteText(1, 1, "CALCOLATORE CON");

lcdWriteText(2, 1, " CLOUDX ");

ritardoMs(2000);

lcdCmd(lcd_clear);

lcdCmd(cursor_blink);

ciclo continuo(){

Chiavi=getKey();

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

lcdCmd(lcd_clear);

lcdCmd(cursor_blink);

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

Ainputa[a]=0;

Ainputb[a]=0;

Arisposta[a]=0;

}

a=0;

operazione=0;

verifica = 0;

segno =0;

segnob =0;

}

if(spunta == 1 && Chiavi!=0 && Chiavi=='='){

lcdCmd(cursor_off);

inputa = atoi(Ainputa);

inputb = atoi(Ainputb);

if(signa=='-'){

ingresso = -(ingresso);

}

if(segno=='-'){

ingressob = -(ingressob);

}

if(operazione == '+'){

risposta = input + inputb;

longTostr(Arisposta, risposta, DEC);

}

if(operazione == '-'){

risposta = input - inputb;

longTostr(Arisposta, risposta, DEC);

}

if(operazione == '*'){

risposta = input * inputb;

longTostr(Arisposta, risposta, DEC);

}

if(operazione == '/'){

risposta = (float)input / (float)inputb;

Prisposta = floatTostr(risposta);

if(input > inputb){

Prisposta[5]=0;

}

}

if(operazione == '/'){

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

lcdWriteTextCP(Prisposta);

}

altro {

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

lcdWriteTextCP(Arisposta);

}

}

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

if(operazione != 0 && a==0 && signb ==0 && (Tasti=='-'||Tasti=='+')){

lcdWriteCP(Chiavi);

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

signb = Chiavi;

}

}

if(operazione == 0 && a == 0 && signa ==0 && (Tasti=='-'||Tasti=='+')){

lcdWriteCP(Chiavi);

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

signa = Chiavi;

}

}

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

lcdWriteCP(Chiavi);

operazione = Tasti;

a=0;

}

}

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

if(operazione != 0){

lcdWriteCP(Chiavi);

Ainputb[a] = Chiavi;

a++;

controllo=1;

}

if(operazione == 0){

lcdWriteCP(Chiavi);

Ainputa[a] = Chiavi;

a++;

}

}

}

}

Consigliato: