Агуулгын хүснэгт:

CloudX -тэй энгийн бөгөөд стандарт тооцоолуур: 5 алхам
CloudX -тэй энгийн бөгөөд стандарт тооцоолуур: 5 алхам

Видео: CloudX -тэй энгийн бөгөөд стандарт тооцоолуур: 5 алхам

Видео: CloudX -тэй энгийн бөгөөд стандарт тооцоолуур: 5 алхам
Видео: КОНЕЦ МУЧЕНИЯМ. Трава больше не проблема! 2024, Арваннэгдүгээр
Anonim
CloudX -тэй энгийн бөгөөд стандарт тооцоолуур
CloudX -тэй энгийн бөгөөд стандарт тооцоолуур

Энэхүү гарын авлагад бид CloudX ашиглан энгийн, стандарт тооцоолуур хийх талаар сурах болно. Хэрэв та CloudX -тэй Interfacing товчлуураас өмнө нь юу ч уншиж байгаагүй бол энд дарна уу. cloudX M633 ашиглан өөрийн техник хангамжийн тооцоолуур.

Бидний зорилго бол 0.0000001 хүртэлх аравтын бутархай, 90000000 хүртэлх бүхэл тоогоор нэмэх (+), хасах (-), үржүүлэх (*), хуваах (/) хийх боломжтой тооцоолуур зохион бүтээх чадвартай байх явдал юм. Тооцоологч Математикийн алдааг илрүүлэх чадвартай гэх мэт хүүхэд, оюутан, сонирхогч бүр энэхүү гайхалтай төслийг хийх чадвартай байх ёстой.

Алхам 1: ТОНОГ ТӨХӨӨРӨМЖИЙН ШААРДЛАГА

ТОНОГ ТӨХӨӨРӨМЖИЙН ШААРДЛАГА
ТОНОГ ТӨХӨӨРӨМЖИЙН ШААРДЛАГА
ТОНОГ ТӨХӨӨРӨМЖИЙН ШААРДЛАГА
ТОНОГ ТӨХӨӨРӨМЖИЙН ШААРДЛАГА

1x CloudX микроконтроллер

1x CloudX SoftCard

1х USB кабель

1х 4х4 хэмжээтэй матрицын товчлуур

1х 16х2 хэмжээтэй LCD холбогч утас

1x 1kΩ эсэргүүцэл

4x 10kΩ эсэргүүцэл

Алхам 2: PIN холболт

ПИН ХОЛБОО
ПИН ХОЛБОО
ПИН ХОЛБОО
ПИН ХОЛБОО
ПИН ХОЛБОО
ПИН ХОЛБОО

LCD -тэй CloudX холболт, товчлуур бүхий CloudX холболтын зүү

Алхам 3: ХҮРЭЭЛЭХ ДИАГРАММ

ХҮРЭЭНИЙ ОНОО
ХҮРЭЭНИЙ ОНОО

Алхам 4: ПРОГРАММ

/ * * Файл: Smart KeyPad Lock System.c

* Зохиогч: hoodie

*

* 2018 оны 3 -р сарын 20 -ны 11:21 цагт үүсгэсэн

*/

#оруулах

#оруулах

#оруулах

#оруулах

#define NumberOfRows 4 // дэлгэцийг дөрвөн мөр болгон тохируулна уу

#define NumberOfColumns 4 // дэлгэцийг гурван багананд тохируулна уу

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, ажиллагаа = 0, signa = 0, signb = 0;

гарын үсэг зурсан хөвөгч хариулт;

char * Panswer;

char Aanswer [10];

урт гарын үсэг зурсан;

char Ainputa [10];

урт гарын үсэг зурсан;

char Ainputb [10];

тохируулах(){

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

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

lcdCmd (lcd_clear);

lcdCmd (cursor_off);

lcdWriteText (1, 1, "ТҮҮНИЙ ТООЦООЛОГЧ");

lcdWriteText (2, 1, "CLOUDX");

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

давталт () {

Түлхүүрүүд = getKey ();

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

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

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

Айнпут [a] = 0;

Ainputb [a] = 0;

Хариулт [a] = 0;

}

a = 0;

үйл ажиллагаа = 0;

шалгах = 0;

тэмдэг = 0;

signb = 0;

}

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

lcdCmd (cursor_off);

оролт = атой (Айнпута);

inputb = atoi (Ainputb);

if (signa == '-') {

оролт = -(оролтa);

}

хэрэв (signb == '-') {

inputb = -(оролтb);

}

if (ажиллагаа == '+') {

хариулт = inputa + inputb;

longTostr (Хариулт, хариулт, DEC);

}

if (ажиллагаа == '-') {

хариулт = inputa - inputb;

longTostr (Хариулт, хариулт, DEC);

}

if (ажиллагаа == '*') {

хариулт = inputa * inputb;

longTostr (Хариулт, хариулт, DEC);

}

if (ажиллагаа == '/') {

хариулт = (float) inputa / (float) inputb;

Panswer = floatTostr (хариулт);

if (inputa> inputb) {

Хариулт [5] = 0;

}

}

if (ажиллагаа == '/') {

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

lcdWriteTextCP (хариулагч);

}

өөр {

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

lcdWriteTextCP (Хариулт);

}

}

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

if (ажиллагаа! = 0 && a == 0 && signb == 0 && (Түлхүүрүүд == '-' || Түлхүүрүүд == '+')) {

lcdWriteCP (түлхүүрүүд);

if (Түлхүүрүүд == '-' || Түлхүүрүүд == '+') {

signb = Түлхүүрүүд;

}

}

if (ажиллагаа == 0 && a == 0 && signa == 0 && (Түлхүүрүүд == '-' || Түлхүүрүүд == '+')) {

lcdWriteCP (түлхүүрүүд);

if (Түлхүүрүүд == '-' || Түлхүүрүүд == '+') {

тэмдэг = түлхүүрүүд;

}

}

if (ажиллагаа == 0 && a! = 0) {

lcdWriteCP (түлхүүрүүд);

ажиллагаа = Түлхүүрүүд;

a = 0;

}

}

if (Keys! = 0 && (Keys == '0' || Keys == '1' || Keys == '2' || Keys == '3' || Keys == '4' || Keys = = '5' || Түлхүүр == '6' || Түлхүүр == '7' || Түлхүүр == '8' || Түлхүүр == '9')) {

if (ажиллагаа! = 0) {

lcdWriteCP (түлхүүрүүд);

Ainputb [a] = Түлхүүрүүд;

a ++;

шалгах = 1;

}

if (ажиллагаа == 0) {

lcdWriteCP (түлхүүрүүд);

Ainputa [a] = Түлхүүрүүд;

a ++;

}

}

}

}

Зөвлөмж болгож буй: