Tabla de contenido:

Calculadora simple y estándar con CloudX: 5 pasos
Calculadora simple y estándar con CloudX: 5 pasos

Video: Calculadora simple y estándar con CloudX: 5 pasos

Video: Calculadora simple y estándar con CloudX: 5 pasos
Video: 53 funciones que debes conocer de tu calculadora científica | Casio fx-991EX 2024, Mes de julio
Anonim
Calculadora simple y estándar con CloudX
Calculadora simple y estándar con CloudX

En este tutorial, aprenderemos cómo hacer una calculadora simple y estándar con CloudX. Haga clic en Si no ha leído nada sobre Interfaz del teclado con CloudX antes, Aquí, Nuestro objetivo es enseñarle cómo puede desarrollar su calculadora de hardware propia utilizando cloudX M633.

Nuestro objetivo es poder diseñar una calculadora que pueda hacer Sumas (+), Restas (-), Multiplicación (*) y División (/) con resultados en decimales tan bajos como 0.0000001 y en números enteros hasta 90000000. La calculadora tiene la capacidad de detectar errores matemáticos, etc. Todos los niños, estudiantes y aficionados deberían poder realizar este fantástico proyecto.

Paso 1: REQUISITOS DE HARDWARE

REQUISITOS DE HARDWARE
REQUISITOS DE HARDWARE
REQUISITOS DE HARDWARE
REQUISITOS DE HARDWARE

1x microcontrolador CloudX

1x SoftCard CloudX

1x cable USB

1x teclado matricial 4x4

1x cables de puente LCD de 16x2

1 resistencia de 1 kΩ

Resistencias 4x 10kΩ

Paso 2: CONEXIÓN DE PIN

CONEXIÓN PIN
CONEXIÓN PIN
CONEXIÓN PIN
CONEXIÓN PIN
CONEXIÓN PIN
CONEXIÓN PIN

Pines de conexión CloudX con LCD y pines de conexión CloudX con teclado

Paso 3: DIAGRAMA DE CIRCUITOS

DIAGRAMA DE CIRCUITO
DIAGRAMA DE CIRCUITO

Paso 4: SOFTWARE

/ * * Archivo: Smart KeyPad Lock System.c

* Autor: sudadera con capucha

*

* Creado el 20 de marzo de 2018 a las 11:21 a.m.

*/

#incluir

#incluir

#incluir

#incluir

#define NumberOfRows 4 // establece la visualización en cuatro filas

#define NumberOfColumns 4 // establece la visualización en tres columnas

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, operación = 0, signa = 0, signb = 0;

respuesta flotante firmada;

char * Panswer;

char Aanswer [10];

inputa larga firmada;

char Ainputa [10];

entrada larga firmadab;

char Ainputb [10];

configuración(){

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

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

lcdCmd (lcd_clear);

lcdCmd (cursor_off);

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

lcdWriteText (2, 1, "CLOUDX");

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

círculo(){

Claves = getKey ();

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

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

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

Ainputa [a] = 0;

Ainputb [a] = 0;

Respuesta [a] = 0;

}

a = 0;

operación = 0;

comprobar = 0;

signa = 0;

signb = 0;

}

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

lcdCmd (cursor_off);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

if (signa == '-') {

inputa = - (inputa);

}

if (signb == '-') {

inputb = - (inputb);

}

if (operación == '+') {

respuesta = entrada + entradab;

longTostr (Aanswer, respuesta, DEC);

}

if (operación == '-') {

answer = inputa - inputb;

longTostr (Aanswer, respuesta, DEC);

}

if (operación == '*') {

answer = inputa * inputb;

longTostr (Aanswer, respuesta, DEC);

}

if (operación == '/') {

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

Panswer = floatTostr (respuesta);

if (inputa> inputb) {

Panswer [5] = 0;

}

}

if (operación == '/') {

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

lcdWriteTextCP (Panswer);

}

demás {

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

lcdWriteTextCP (Aanswer);

}

}

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

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

lcdWriteCP (teclas);

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

signb = Claves;

}

}

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

lcdWriteCP (teclas);

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

signa = Claves;

}

}

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

lcdWriteCP (teclas);

operación = Teclas;

a = 0;

}

}

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

if (operación! = 0) {

lcdWriteCP (teclas);

Ainputb [a] = Teclas;

a ++;

comprobar = 1;

}

si (operación == 0) {

lcdWriteCP (teclas);

Ainputa [a] = Llaves;

a ++;

}

}

}

}

Recomendado: