ارسال پیشنهاد

0

تعداد پیشنهاد ها

اشتراک گذاری

گزارش تخلف

گزارش مالی

پروژه اسمبلی (98870)

سلام وقت بخیر ببخشید هزینه اضافه کردن بخش زمان به این کد چقدره #include <io.h> #include <mega16.h> #include <alcd.h> #include <delay.h> #include <stdio.h> // DHT11 Definitions #define DHT11_PORT PORTA #define DHT11_PORTPIN PORTA1 #define DHT11_DDR DDRA #define DHT11_DDRPIN DDA1 #define DHT11_PINPORT PINA #define DHT11_PIN PINA1 #define DHT11_INPUT_MODE() (DHT11_DDR &= ~(1 << DHT11_DDRPIN)) #define DHT11_OUTPUT_MODE() (DHT11_DDR |= (1 << DHT11_DDRPIN)) #define DHT11_LOW() (DHT11_PORT &= ~(1 << DHT11_PORTPIN)) #define DHT11_HIGH() (DHT11_PORT |= (1 << DHT11_PORTPIN)) #define DHTLIB_OK 0 #define DHTLIB_ERROR_CHECKSUM -1 #define DHTLIB_ERROR_TIMEOUT -2 int read_dht11(int *temp, int *humidity); void main(void) { char lcd_buff[17]; int temp = 0; int humidity = 0; int status = 0; lcd_init(16); lcd_clear(); lcd_puts("DHT11"); delay_ms(2000); // Allow DHT11 to stabilize while (1) { status = read_dht11(&temp, &humidity); sprintf(lcd_buff, "Temp:%02d H:%02d %d", temp, humidity, status); lcd_clear(); lcd_puts(lcd_buff); lcd_gotoxy(0, 1); lcd_puts("TEST DHT11"); delay_ms(2000); // Update every 2 seconds } } int read_dht11(int *temp, int *humidity) { unsigned char bytes[5] = {0}; unsigned char sum; unsigned int bitcount = 7; unsigned int byteid = 0; unsigned int loopcount = 0; int i; // Send start signal DHT11_OUTPUT_MODE(); DHT11_LOW(); delay_ms(25); DHT11_HIGH(); delay_us(25); DHT11_INPUT_MODE(); // Wait for DHT11 response loopcount = 0; while (!(DHT11_PINPORT & (1 << DHT11_PIN))) { delay_us(50); if (++loopcount > 85) return DHTLIB_ERROR_TIMEOUT; } loopcount = 0; while ((DHT11_PINPORT & (1 << DHT11_PIN))) { delay_us(1); if (++loopcount > 85) return DHTLIB_ERROR_TIMEOUT; } // Read 40 bits for (i = 0; i < 40; i++) { loopcount = 0; while (!(DHT11_PINPORT & (1 << DHT11_PIN))); // Wait for LOW to HIGH delay_us(30); if (DHT11_PINPORT & (1 << DHT11_PIN)) { bytes[byteid] |= (1 << bitcount); } loopcount = 0; while ((DHT11_PINPORT & (1 << DHT11_PIN))) { delay_us(1); if (++loopcount > 100) break; } if (bitcount == 0) { bitcount = 7; byteid++; } else { bitcount--; } } *humidity = bytes[0]; *temp = bytes[2]; sum = bytes[0] + bytes[2]; if (bytes[4] != sum) return DHTLIB_ERROR_CHECKSUM; return DHTLIB_OK; } پروژه مربوط به شبیه سازی یک ریزپردازنده با کد اسمبلی که زمان و میزان دما و رطوبت را با استفاده از نمایشگر نشان دهد اسمبلی خیلی محدودبت زمانی ندارم #نیکو

Academy
Academy

امتیاز : 0/5

برنامه نویسی تحت ویندوز
اسمبلی (Assembly)
فایل ضمیمه

هیچ فایلی ضمیمه نشده است

تایم لاین پروژه

درخواست پشتیبانی
  • در انتظار پرداخت

    پرداخت تعرفه ثبت پروژه های غیر رایگان

  • در حال بررسی

    برسی و تایید پروژه از طرف مدیرت سایت

  • آماده دریافت پیشنهادها

    تایید پروژه و نمایش برای مجریان

  • در انتظار پرداخت هزینه پروژه

    پرداخت هزینه اجرای پروژه توسط کارفرما

  • در انتظار پرداخت ضمانت اجرا

    پرداخت مبلغ ضمانت اجرا توسط مجری

  • در حال انجام

    پروژه شما درحال انجام می باشد

  • انجام شد

    اتمام اجرای پروژه

لیست پیشنهادها

هیچ پیشنهادی ارسال نشده است

  • اطلاعات پروژه
  • 12855کد پروژه
  • کمک آموزشی

    دسته بندی
  • 11 مرداد 1404تاریخ ثبت
  • 4 روزمهلت اجرا
  • 10,000 تومانحداقل بودجه
  • 500,000 تومانحداکثر بودجه
  • 5 درصد ضمانت اجرا
  • آماده دریافت پیشنهادها وضعیت