فهرست مطالب:

ماشین حساب ساده و استاندارد با CloudX: 5 مرحله
ماشین حساب ساده و استاندارد با CloudX: 5 مرحله

تصویری: ماشین حساب ساده و استاندارد با CloudX: 5 مرحله

تصویری: ماشین حساب ساده و استاندارد با CloudX: 5 مرحله
تصویری: Ремонт на балконе Ошибки монтажа теплого пола. #37 2024, نوامبر
Anonim
ماشین حساب ساده و استاندارد با CloudX
ماشین حساب ساده و استاندارد با CloudX

در این آموزش ، ما نحوه ساختن یک ماشین حساب ساده و استاندارد با CloudX را یاد می گیریم ، لطفاً کلیک کنید اگر قبلاً چیزی در صفحه کلید Interfacing با CloudX نخوانده اید ، در اینجا ، هدف ما این است که به شما آموزش دهیم چگونه می توانید برنامه خود را توسعه دهید ماشین حساب سخت افزاری خود با استفاده از cloudX M633.

هدف ما این است که بتوانیم یک ماشین حساب طراحی کنیم که بتواند جمع (+) ، تفریق (-) ، ضرب (*) و تقسیم (/) را با نتایج اعشاری تا 0.0000001 و در اعداد کامل تا 90000000 انجام دهد. توانایی تشخیص خطاهای ریاضی و غیره را دارد. هر کودک ، دانش آموز و علاقه مندان باید بتوانند این پروژه فوق العاده را انجام دهند.

مرحله 1: الزامات سخت افزاری

الزامات سخت افزاری
الزامات سخت افزاری
الزامات سخت افزاری
الزامات سخت افزاری

1 عدد میکروکنترلر CloudX

1X کارت نرم افزاری CloudX

1 عدد کابل USB

صفحه کلید ماتریس 1x 4x4

1x 16x2 سیم جامپر سیم

مقاومت 1x 1kΩ

4x مقاومت 10kΩ

مرحله 2: اتصال پین

اتصال پین
اتصال پین
اتصال پین
اتصال پین
اتصال پین
اتصال پین

پین های اتصال CloudX با LCD و پین های اتصال CloudX با صفحه کلید

مرحله 3: نمودار مدار

مدار
مدار

مرحله 4: نرم افزار

/ * * فایل: Smart KeyPad Lock System.c

* نویسنده: hoodie

*

* ایجاد شده در 20 مارس 2018 ، ساعت 11:21 صبح

*/

#عبارتند از

#عبارتند از

#عبارتند از

#عبارتند از

#Deine NumberOfRows 4 // نمایش صفحه را روی چهار ردیف تنظیم کنید

#تعداد ستون 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 char، a = 0، check = 0، operation = 0، signa = 0، signb = 0؛

پاسخ شناور امضا شده ؛

char * Panswer؛

char Aanswer [10]؛

ورودی طولانی امضا شده ؛

char Ainputa [10]؛

ورودی طولانی امضا شده ؛

char Ainputb [10]؛

برپایی(){

تنظیم صفحه کلید (PULLDOWNCOL ، RowPins ، ColumnsPins ، NumberOfRows ، NumberOfColumns ، KeypadCharacters) ؛

lcd تنظیم (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) ؛

حلقه () {

Keys = getKey ()؛

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

lcdCmd (lcd_clear) ؛

lcdCmd (cursor_blink) ؛

برای (a = 0؛ a <10؛ a ++) {

Ainputa [a] = 0؛

Ainputb [a] = 0؛

Aanswer [a] = 0؛

}

a = 0 ؛

عملیات = 0 ؛

چک = 0 ؛

signa = 0؛

signb = 0؛

}

if (بررسی == 1 && کلید! = 0 && کلید == '=') {

lcdCmd (cursor_off) ؛

inputa = atoi (Ainputa) ؛

inputb = atoi (Ainputb) ؛

if (signa == '-') {

ورودی = -(ورودی) ؛

}

if (signb == '-') {

inputb = -(inputb)؛

}

if (عملیات == '+') {

answer = inputa + inputb؛

longTostr (Aanswer ، answer ، DEC) ؛

}

if (عملیات == '-') {

answer = inputa - inputb؛

longTostr (Aanswer ، answer ، DEC) ؛

}

if (عملیات == '*') {

answer = inputa * inputb؛

longTostr (Aanswer ، answer ، DEC) ؛

}

if (عملیات == '/') {

answer = (float) inputa / (float) inputb؛

Panswer = floatTostr (پاسخ) ؛

if (inputa> inputb) {

Panswer [5] = 0؛

}

}

if (عملیات == '/') {

lcdWriteText (2 ، 1 ، "ANS:") ؛

lcdWriteTextCP (Panswer) ؛

}

دیگری {

lcdWriteText (2 ، 1 ، "ANS:") ؛

lcdWriteTextCP (Aanswer) ؛

}

}

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

if (عملیات! = 0 && a == 0 && signb == 0 && (کلیدها == '-' || کلیدها == '+')) {

lcdWriteCP (کلیدها) ؛

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

signb = Keys؛

}

}

if (عملیات == 0 && a == 0 && signa == 0 && (کلیدها == '-' || کلیدها == '+')) {

lcdWriteCP (کلیدها) ؛

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

signa = کلیدها ؛

}

}

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 ++ ؛

}

}

}

}

توصیه شده: