اطلاعیه

Collapse
No announcement yet.

تقسیم یک عدد 8 رقمی به دو بخش 4 عددی و نمایش برو روی OLED

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    تقسیم یک عدد 8 رقمی به دو بخش 4 عددی و نمایش برو روی OLED

    در یک برنامه به دلیل محدودیت درنمایشگرهای OLED بازار نیاز هست تا یک عدد 8 رقمی به دو بخش 4 قسمتی تبدیل بشه و روی دو عدد نمایشگر OLED که به I2C میکرو وصل شده اند نمایش داده شود. هر OLED چهار رقم نشان دهد. شما چه پیشنهادی برای این کار دارید؟عدد را به چه صورتی به دو بخش 4 تایی تبدیل کنیم؟
    گویند سنگ لعل شود در مقام صبر اری شود ولی به خون جگر شود
    همیشه آخر همه چیز خوبه، اگر هم هنوز خوب نشده پس هنوز آخرش نشده(چارلی چاپلین)

    #2
    پاسخ : تقسیم یک عدد 8 رقمی به دو بخش 4 عددی و نمایش برو روی OLED

    سلام دوست عزیز,
    منظور شما اینه که مثلا اگه یه عدد به صورت 12345678 داشته باشیم, اون رو به صورت دوتا عدد 5678 و 1234 تبدیل کنیم....؟
    اگه اینطوری باشه, خوب از تقسیم های متوالی به 10 استفاده میکنیم...
    باقی مانده رو که میشه حاصل جداسازی ارقام, در یک آرایه ذخیره میکنیم( با دستور %)
    عدد رو هم آنقدر تقسیم بر 10 میکنیم تا صفر شه..
    مقدار i, هم میشه این که عدد شما چند رقمی هست...
    نوع متغیر هم حتما باید Long int باشه که سرریز رخ نده....

    اینم یه نمونه کد:


    [LEFT]unsigned long int Num=12345678;
    unsigned char Serial_Number[20]={0};
    unsigned int Ashar=0;
    unsigned int i=7;

    while(Num/=10>0)
    {
    Ashar=Num%10;
    Num/=10;
    Serial_Number[i]=Ashar;
    i--;
    }

    i=0;
    lcd_gotoxy(0,0);
    sprintf(Buffer,"%d%d%d%d %d%d%d%d",
    Serial_Number[0],Serial_Number[1],Serial_Number[2],Serial_Number[3],Serial_Number[4],Serial_Number[5],
    Serial_Number[6],Serial_Number[7]);
    lcd_puts(Buffer);
    delay_ms(1000);;
    [/LEFT]

    دیدگاه


      #3
      پاسخ : تقسیم یک عدد 8 رقمی به دو بخش 4 عددی و نمایش برو روی OLED

      سلام

      نحوه جداسازیش که دوستمون گفت همونه - فقط قسمت بعدیش را دوستمون متوجه نشد که خواسته شده روی 2 تا صفحه نمایش جداگانه که 4 رقم محدودیت نوشتن داره بارگزاری بشه.
      بسته به میکرو و ... داره که سختافزارت چی باید باشه.
      اعداد جدا میشه و به 2تا صفحه نمایش انتقال داده میشه بصورت تئوری.
      در مورد سخت افزارتون توضیح بدید تا بشه در مورد قسمت دوم هم صحبت کرد.
      دوست عزیز اگه مفید بود روی تشکر بزن

      دیدگاه

      لطفا صبر کنید...
      X