Índice:

Calculadora simples e padrão com CloudX: 5 etapas
Calculadora simples e padrão com CloudX: 5 etapas

Vídeo: Calculadora simples e padrão com CloudX: 5 etapas

Vídeo: Calculadora simples e padrão com CloudX: 5 etapas
Vídeo: Jogos em 4K rodando em computador básico? Testamos o Xbox Cloud! 2024, Dezembro
Anonim
Calculadora simples e padrão com CloudX
Calculadora simples e padrão com CloudX

Neste tutorial, aprenderemos como fazer uma calculadora simples e padrão com o CloudX, por favor, clique em Se você não leu nada sobre o teclado de interface com o CloudX antes, aqui, nosso objetivo é ensiná-lo como você pode desenvolver o seu calculadora de hardware própria usando o cloudX M633.

Nosso objetivo é ser capaz de projetar uma calculadora que pode fazer adição (+), subtração (-), multiplicação (*) e divisão (/) com resultados em decimais tão baixos quanto 0,0000001 e em números inteiros até 90000000. A calculadora tem a capacidade de detectar erros matemáticos, etc. Cada criança, estudante e amador deve ser capaz de fazer este projeto fantástico.

Etapa 1: REQUISITOS DE HARDWARE

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

1x microcontrolador CloudX

1x CloudX SoftCard

1x cabo USB

1x teclado de matriz 4x4

1x 16x2 fios de jumper LCD

1x 1kΩ resistor

4x resistores de 10kΩ

Etapa 2: CONEXÃO DO PIN

CONEXÃO PIN
CONEXÃO PIN
CONEXÃO PIN
CONEXÃO PIN
CONEXÃO PIN
CONEXÃO PIN

Pinos de conexão CloudX com LCD e pinos de conexão CloudX com teclado

Etapa 3: DIAGRAMA DO CIRCUITO

DIAGRAMA DE CIRCUITO
DIAGRAMA DE CIRCUITO

Etapa 4: SOFTWARE

/ * * Arquivo: Smart KeyPad Lock System.c

* Autor: moletom

*

* Criado em 20 de março de 2018, 11h21

*/

#incluir

#incluir

#incluir

#incluir

# define NumberOfRows 4 // define a exibição para quatro linhas

# define NumberOfColumns 4 // define a exibição para três colunas

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

Chaves char, a = 0, verificação = 0, operação = 0, sinala = 0, sinalb = 0;

resposta flutuante assinada;

char * Panswer;

char Aanswer [10];

entrada longa assinada;

char Ainputa [10];

inputb longo assinado;

char Ainputb [10];

configurar(){

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

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

lcdCmd (lcd_clear);

lcdCmd (cursor_off);

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

lcdWriteText (2, 1, "CLOUDX");

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

ciclo(){

Chaves = getKey ();

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

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

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

Ainputa [a] = 0;

Ainputb [a] = 0;

Aanswer [a] = 0;

}

a = 0;

operação = 0;

verificar = 0;

signa = 0;

signb = 0;

}

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

lcdCmd (cursor_off);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

if (signa == '-') {

inputa = - (inputa);

}

if (signb == '-') {

inputb = - (inputb);

}

if (operação == '+') {

resposta = inputa + inputb;

longTostr (Resposta, resposta, DEC);

}

if (operação == '-') {

resposta = inputa - inputb;

longTostr (Resposta, resposta, DEC);

}

if (operação == '*') {

resposta = inputa * inputb;

longTostr (Resposta, resposta, DEC);

}

if (operação == '/') {

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

Panswer = floatTostr (resposta);

if (inputa> inputb) {

Panswer [5] = 0;

}

}

if (operação == '/') {

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

lcdWriteTextCP (Panswer);

}

outro {

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

lcdWriteTextCP (Aanswer);

}

}

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

if (operação! = 0 && a == 0 && signb == 0 && (Chaves == '-' || Chaves == '+')) {

lcdWriteCP (chaves);

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

signb = Chaves;

}

}

if (operação == 0 && a == 0 && signa == 0 && (Chaves == '-' || Chaves == '+')) {

lcdWriteCP (chaves);

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

signa = Chaves;

}

}

if (operação == 0 && a! = 0) {

lcdWriteCP (chaves);

operação = Chaves;

a = 0;

}

}

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

if (operação! = 0) {

lcdWriteCP (chaves);

Ainputb [a] = Chaves;

a ++;

verificar = 1;

}

if (operação == 0) {

lcdWriteCP (chaves);

Ainputa [a] = Chaves;

a ++;

}

}

}

}

Recomendado: