Taula de continguts:

Calculadora senzilla i estàndard amb CloudX: 5 passos
Calculadora senzilla i estàndard amb CloudX: 5 passos

Vídeo: Calculadora senzilla i estàndard amb CloudX: 5 passos

Vídeo: Calculadora senzilla i estàndard amb CloudX: 5 passos
Vídeo: Peer Business Solutions: How I Used Intent Driven-Data 2024, Juliol
Anonim
Calculadora senzilla i estàndard amb CloudX
Calculadora senzilla i estàndard amb CloudX

En aquest tutorial, aprendrem a fer una calculadora senzilla i estàndard amb CloudX. Feu clic a Si no heu llegit res al teclat Interfacing amb CloudX abans, aquí, el nostre objectiu és ensenyar-vos com podeu desenvolupar el vostre calculadora de maquinari pròpia mitjançant cloudX M633.

El nostre objectiu és ser capaç de dissenyar una calculadora que permeti sumar (+), restar (-), multiplicar (*) i dividir (/) amb resultats en decimals tan baixos com 0,0000001 i en nombres enters fins a 90000000. té la capacitat de detectar errors matemàtics, etc. Tots els nens, estudiants i aficionats haurien de poder fer aquest fantàstic projecte.

Pas 1: REQUISITS DE HARDWARE

REQUISITS DE HARDWARE
REQUISITS DE HARDWARE
REQUISITS DE HARDWARE
REQUISITS DE HARDWARE

1x microcontrolador CloudX

1x CloudX SoftCard

1x cable USB

1x teclat Matrix 4x4

1x 16x2 LCD cables de pont

Resistència 1x 1kΩ

4x resistències de 10kΩ

Pas 2: CONNEXIÓ DE PIN

CONNEXIÓ PIN
CONNEXIÓ PIN
CONNEXIÓ PIN
CONNEXIÓ PIN
CONNEXIÓ PIN
CONNEXIÓ PIN

Pins de connexió CloudX amb pantalla LCD i pins de connexió CloudX amb teclat

Pas 3: DIAGRAMA DEL CIRCUIT

ESQUEMA DE CONNEXIONS
ESQUEMA DE CONNEXIONS

Pas 4: PROGRAMARI

/ * * Fitxer: Smart KeyPad Lock System.c

* Autor: dessuadora amb caputxa

*

* Creat el 20 de març de 2018 a les 11:21

*/

#incloure

#incloure

#incloure

#incloure

#define NumberOfRows 4 // estableix la visualització a quatre files

#define NumberOfColumns 4 // estableix la visualització en tres columnes

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

tecles char, a = 0, comprovar = 0, operació = 0, signa = 0, signb = 0;

resposta flotant signada;

char * Panswer;

char Aanswer [10];

signat inputa llarg;

char Ainputa [10];

entrada llarga signadab;

char Ainputb [10];

setup () {

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

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

lcdCmd (lcd_clear);

lcdCmd (cursor_off);

lcdWriteText (1, 1, "CALCULADOR AMB");

lcdWriteText (2, 1, "CLOUDX");

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

bucle () {

Claus = getKey ();

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

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

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

Ainputa [a] = 0;

Ainputb [a] = 0;

Resposta [a] = 0;

}

a = 0;

operació = 0;

comprovar = 0;

signa = 0;

signb = 0;

}

if (comproveu == 1 && Keys! = 0 && Keys == '=') {

lcdCmd (cursor_off);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

if (signa == '-') {

inputa = - (inputa);

}

if (signb == '-') {

entradab = - (entradab);

}

if (operació == '+') {

resposta = inputa + inputb;

longTostr (Aanswer, answer, DEC);

}

if (operació == '-') {

resposta = inputa - inputb;

longTostr (Aanswer, answer, DEC);

}

if (operació == '*') {

resposta = inputa * inputb;

longTostr (Aanswer, answer, DEC);

}

if (operació == '/') {

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

Panswer = floatTostr (resposta);

if (inputa> inputb) {

Panswer [5] = 0;

}

}

if (operació == '/') {

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

lcdWriteTextCP (Panswer);

}

més {

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

lcdWriteTextCP (Aanswer);

}

}

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

if (operació! = 0 && a == 0 && signb == 0 && (Tecles == '-' || Tecles == '+')) {

lcdWriteCP (claus);

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

signb = Claus;

}

}

if (operació == 0 && a == 0 && signa == 0 && (Tecles == '-' || Tecles == '+')) {

lcdWriteCP (claus);

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

signa = Claus;

}

}

if (operació == 0 && a! = 0) {

lcdWriteCP (claus);

operació = Tecles;

a = 0;

}

}

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

if (operació = 0) {

lcdWriteCP (claus);

Ainputb [a] = Claus;

a ++;

comprovar = 1;

}

if (operació == 0) {

lcdWriteCP (claus);

Ainputa [a] = Claus;

a ++;

}

}

}

}

Recomanat: